Qkessler / dyncomp

dyncomp is a CLI tool to compile your projects dynamically, by running the same command, through configuration files.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dyncomp

The dyncomp CLI provides context and project aware aliases for common used commands. It works through configuration files that can be both global (in common configuration directories like XDG_CONFIG_HOME/dyncomp/config.json or ~/.config/dyncomp/config.json for Linux) or local, on the project root, using dyncomp.json.

Example configuration file

Below you'll find an example configuration file, defined in the current directory. It defines three dyncomp commands: run, test and hello.

{
    "commands": {
        "run": "cargo run -- --first --second --third",
        "test": "cargo test -- --nocapture",
        "hello": "echo 'hello world'"
    }
}

Running dyncomp run will run cargo run -- --first --second --third, and so on.

In case this configuration was created in the configuration directory, i.e ~/.config/dyncomp/config.json, and you created another one on the current directory, it'll prefer the locally defined commands. Let's say the new local has:

{
    "commands": {
        "hello": "echo 'hello world from local config'"
    }
}

Now, while the run and test commands will still have the global behaviour, the dyncomp hello command will print on stdout "hello world from local config".

About

dyncomp is a CLI tool to compile your projects dynamically, by running the same command, through configuration files.

License:MIT License


Languages

Language:Rust 100.0%