projectctl
CLI tool to manage project.
Getting started
- Install from binary
VERSION=1.0.0
# Linux x64
# Linux aarch64
# MacOS x64
# MacOS ARM
# Allow projectctl to source environment variables automatically when you're entering into a directory present in ~/.projectctl/allowed-dirs
# If you're using bash
# If you're using zsh
- Install from cargo
# Allow projectctl to source environment variables automatically when you're entering into a directory present in ~/.projectctl/allowed-dirs
# If you're using bash
# If you're using zsh
- Install from source
# Allow projectctl to source environment variables automatically when you're entering into a directory present in ~/.projectctl/allowed-dirs
# If you're using bash
# If you're using zsh
Project
To create a new project from a template, you can use new subcommand.
By default, leroyguillaume/projectctl-templates is used as templates repository. Each directory matches a template. Feel free to open a pull request to add one if you want! You can override it by using --git option.
Liquid is using as template engine. Each file with .liquid extension will be rendered. You can templatize filenames.
projectctl injects some variables:
namethat has for value the project namedescriptionthat has for value the project description (can be set with-doption, unset by default)envthat contains all environment variablesgitthat contains default git configuration
You can also define any variable you want but keep in mind that you will have to set it when you run command by adding --values option.
Examples:
projectctl automatically updated ~/.projectctl/allowed-dirs.
When you want to delete a project, you can run the following command to make sure everything is clean-up:
Configuration files
When you run projectctl env, these configuration files are loaded (from least to most priority):
projectctl.ymlprojectctl.local.yml
Note that you can override these locations with option -c (or --config).
All configuration files must match this JSON schema.
You can find here some configuration examples.