Skeleton is a management tool for project prototypes. Prototypes are defined in language specific toml files. Skeleton can create directories, touch files, execute predefined commands and download a .gitignore list from gitignore.io.
Skeleton is written in pure Rust because I wanted to learn this language using a small hobby project.
To install skeleton, you need the Rust package manager cargo.
cargo install skeleton
To install the most current version from master:
git clone https://github.com/ntzwrk/skeleton.git cd skeleton cargo install
Language specific configuration must be placed in
$HOME/.skeleton and are referenced by their name without the
order = ['mkdir', 'touch', 'exec', 'gitignore'] mkdir = ['src', 'test'] touch = ['README.md'] exec = ['cargo init'] gitignore = ['rust', 'vim'] include = ['global']
Every configuration setting is optional. The
order setting is used to customize the execution order. The default
Includes are executed first and in the provided order, followed by the selected configuration.
Skeleton 0.3.3 Valentin B. <firstname.lastname@example.org> Skeleton project manager USAGE: skeleton --lang <LANG> [SUBCOMMAND] FLAGS: -h, --help Prints help information -V, --version Prints version information OPTIONS: -l, --lang <LANG> Set language configuration SUBCOMMANDS: help Prints this message or the help of the given subcommand(s) init initialize existing project new create new project
So to initialize a new Rust project named
test_project one would execute
skeleton -l rust new test_project.
Therefore a configuration file
$HOME/.skeleton/rust.toml must exist.
Install Zsh completion
You can put the Zsh completion file
_skeleton in any directory (I use
$HOME/.zsh/completions). Then you need
to add this path to
$fpath in your
To rebuild the completion cache you might need to execute the following commands:
rm -f .zcompdump compinit