# CLTemplate [github](https://github.com/hypercodec/cltemplate) [crates.io](https://crates.io/crates/cltemplate) Small commandline tool to create and use templates quickly ### Installation Simply run `cargo install cltemplate` to install the tool. ### Using Templates To use a template, do the following: 1. CD into the folder of the template (your terminal should be running at `path/to/template`) 2. Run `template path/to/output` and check the directory you provided Optionally, you can use the `--template-path` param (`-t` for short) instead of CDing to the the template folder ### Writing Templates To write a template that others can use with this tool, you must: 1. Create a folder for the template 2. In the root directory of the folder, create a `template.txt` file. In this file, there should be the name of each replaceable item, separated by newlines (ex: ``` foo bar buz qux quux corge grault garply waldo fred plugh xyzzy thud ``` ) 3. Fill in the rest of the folder with the files provided in the template. Anything defined in `template.txt` that has `{% %}` around it (ex: `{% foo %}`) will be replaced by whatever the user inputs. Anything surrounded by `{% %}` that is not included in `template.txt` will remain unchanged. 4. Share your template and usage instructions via your preferred method. ### License This tool is licensed under the `MIT` license. ### Roadmap - [x] ~~Initial prototype~~ - [x] ~~Complete rework~~ - [x] ~~Asynchronous file IO~~ - [x] ~~Indicatif task indicators~~ - [ ] [Optionally providing template args in cli](https://github.com/HyperCodec/cltemplate/issues/18) - [ ] Dynamic filepaths - [ ] Use TOML structure for manifest (for input types, etc.)