Skip to content

gbenm/fire

Repository files navigation

Fire CLI 🔥

Configuration-first CLI with dynamic completion, runtime eval, and container-friendly runners.

Quick start (5 minutes)

  1. Install via Homebrew (tap required):
brew tap gbenm/labs
brew install fire
  1. execute fire cli init to create a fire.yml:
commands:
  hello: echo "Hello Fire"
  1. Run it:
fire hello world
# => Hello Fire world
  1. Enable completion (zsh + bash):
fire cli completion install

Configuration at a glance

Fire loads, merges, and executes commands defined in YAML (fire.yml, fire.yaml, *.fire.yml, *.fire.yaml). Commands can:

  • run shell exec steps
  • evaluate runtime snippets via eval (node/deno/python)
  • rewrite arguments with compute
  • use runners, fallback runners, and pre-run before hooks
  • expose nested subcommands with greedy resolution

Reserved name: cli cannot be defined under commands.

Completion

Install or refresh completion anytime:

fire cli completion install
  • zsh shows values + descriptions
  • bash uses complete -C values

Details: see docs/completion.md.

Schema & editor support

Associate your YAML with https://raw.githubusercontent.com/gbenm/fire/main/schemas/fire.schema.json for validation (fire cli init does it):

  • Add $schema to the first line: # yaml-language-server: $schema=https://raw.githubusercontent.com/gbenm/fire/main/schemas/fire.schema.json
  • Or map file names in .vscode/settings.json (yaml.schemas).

Documentation map

If you enjoyed this and want to buy me a coffee ☕️

  • Buy Me a Coffee: https://buymeacoffee.com/gbenm
  • Bitcoin (BTC): bc1q0l8na5gr6jgpnq6r7fj0nl3hqx2dm77l2vearuxx20s5ktes45vsxmksfu
  • USDC (Ethereum ERC20): 0x26D01f6fBa520D343CDAF309ba04FB9a7B26b4DE

About

fire commands!! 🔥🔥🔥

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages