A simple command line tool for managing and using skeleton projects
DISCLAIMER: Skely was created for personal use. Contributions are appreciated, but this is a personal project at heart, so don't take it to seriously.
Update: Skely is most likely done with development. It works for what I need it to do, so unless something comes up that I need it to do, I'm probably done with this project. Thanks all!
Skely is very simple. All it does is copy a given template file or directory from ~.config/sk
to a specified directory.
To install Skely run
bash
cargo install skely
As of right now, Skely's configuration is very simple. It is one file at ~/.config/config.toml
. The default configuration looks like this:
```toml
editor = ""
placeholder = "PLACEHOLDER"
``
As you many have guessed, the editor option is the editor you would like Skely to use. The string should contain the proper command to call the editor. For example, if I wanted to use Neovim, I **wouldn't** use
editor = "neovim", I **would** use
editor = "nvimso that Skely can properly execute it. Placeholder is a bit more complicated. Placeholder is the string that you want to be replaced in all the skeleton files with your project's name. To disable this option simply leave it blank as
""`
To configure a new skeleton, you can either configure it manually by creating it in the ~/.config/skeletons
directory as a directory or file under the name you would like to identify it by, or you can run the sk add foo
command to open ~/.config/skeletons/foo.sk
in your preferred text editor. Interactive directory creation is currently under development.
We have a skeleton structured like this:
~/.config/sk/skeletons/
├─ c/
│ ├─ src/
│ │ ├─ main.c
│ ├─ CMakeLists.txt
The pattern for creating a new project using a template is
bash
sk new <ID> <PATH>
To create a new project using this template in directory foo
you would use the command
bash
sk new c foo
We have a template for a CMakeLists.txt
:
~/.config/sk/skeletons/
├─ cmake.sk
To copy this file to our project as CMakeLists.txt
you would use the command
bash
sk new cmake CMakeLists.txt
If you were to run
bash
sk new cmake .
It would copy cmake.sk
to your current project with the name cmake.sk
To remove a configured skeleton foo
, you would run
bash
sk remove foo
Pretty simple
Equally as simple, to list configured skeletons, run
bash
sk list
Shocking!
If you've read this far, thank you for taking interest in my software, it is much appreciated :).