🐪 caml
Build CLI apps with YAML
caml
allows you to build command line applications using declarative yaml.
caml
aims to be like make
, but by using descriptive, declarative yaml.
Usage
Running the command without any arguments displays the commands defined in the caml.yaml
file:
bin/caml
Declaring commands
caml
reads a file called caml.yaml
in the current directory and converts those commands into a unified CLI command.
The basic structure is to have a command
, which has a desc
and an execute
for the bash command to execute.
command:
desc: Command description
execute: script.sh
This yaml will create the following command:
bin/caml command # Command description
And it will run any bash command defined.
Arguments may be added under args
in a nested fashion as displayed below.
command:
args:
one:
desc: First argument
type: string
two:
desc: Second argument
type: string
Examples
build:
desc: Build our project
execute: make
clean:
desc: Clean our project
execute: make clean
build:
desc: Bundle
execute: bundle install
migrate:
desc: Migrate the test database
execute: rails db:migrate RAILS_ENV=test
test:
desc: Run tests
execute: rspec