Project

caml

0.0
The project is in a healthy, maintained state
# 🐪 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: ```sh 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. ```yaml command: desc: Command description execute: script.sh ``` This yaml will create the following command: ```yaml 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. ```yaml command: args: one: desc: First argument type: string two: desc: Second argument type: string ``` ## Examples ```yaml build: desc: Build our project execute: make clean: desc: Clean our project execute: make clean ``` ```yaml 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 ```
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
 Dependencies

Development

>= 0
 Project Readme

🐪 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