S Technologies's Logo

Color

Green
Teal
Indigo
Blue
Purple
Red
Rose

Mode

Light

Shemul CLI

A project-aware command line tool that centralizes repetitive development commands in a JSON file and runs them with safety controls.

Overview

Shemul CLI is an advanced project-aware CLI tool for task automation based on JSON configuration. It is a free and open-source CLI that centralizes repetitive development commands in shemul.json and runs them with safety controls, supporting both project-local and user-global command scopes.

Key features

  • Dual scope configuration: project and global command definitions. A project command overrides a global command with the same name.
  • Project discovery: the project is found through shemul.json.
  • Safety controls: confirm, danger, --dry previews and --trace output.
  • Cross-OS commands (v2.0.0): per-OS os variants, bin interpreter maps and magic variables such as {{os}} and {{python}}.
  • Task pipelines (v2.0.0): needs dependencies, pre and post hooks, and parallel groups.
  • Templates and validation: built-in project templates (shemul init [template]) and JSON Schema validation for shemul.json.
  • Diagnostics: shemul /doctor checks the environment, and completion scripts exist for bash, zsh and fish.
  • Plugins: a plugin API through the shemul.plugins entry-point group and a per-command runner.

Requirements

  • Python 3.9 or newer.
  • Dependencies, installed automatically: rich, jsonschema and questionary.
  • Optional: shell completion for bash, zsh or fish, from the scripts in completion/.
  • Arrow-key prompts need a real terminal. Set SHEMUL_NO_INTERACTIVE=1, or pipe input or run in CI, to use plain typed prompts.