🐪 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