template / commit
Expanded a bit about the overall concept behind this CLI in the readme.
README.md | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 74cdbdd..1aa66bd 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,30 @@ For anything, open an issue in this repo. ## Roadmap I'm going to use this tool daily to figure out how it can be improved. -Aside from that, here is the future feature list: + +### Basic features + +Here are the basic features of the CLI that I want to keep: + +1. Cross-platform +2. CLI is implemented in Go +3. Fast (under 1s) basic operation of templating file and folder names + +### KISS + +"Keep It Simple, Stupid" + +I want to keep this CLI simple. To that extent, I'm not interested in adding features that can be performed by other processes. + +For example: the configuration YAML file is expected to be at `~/.templates.yaml`. We can add code to look up the config from a different location, for example from `~/configs/.templates.yaml` by setting an env var. But I'd rather keep the config path the same and ask that the user create a symlink instead. + +Same for templating. I'm only interested in doing the bare essentials, such as generating file contents from a template, and having more complex logic be performed by external scripts. + +The CLI should also not be too opinionated. Aside from `go`, there are no other requirements. Default profiles might need VSCode and/or pwsh, but the user can always override that. + +### Future Features + +Here is the future feature list: 1. Support for passing in a list of template values for custom values in the template. Use might look like this: `template work form123 --id=456 --corpOffice=SEA`. The passed-in extra values will be placed somewhere inside the template. Some value keys will not be allowed, like "time". 2. (Feature creep) Support some kind of Markdown editor running on templated files. This is probably overkill for this project, may need to create a separate app for this. Go markdown links: [parsing MD](https://github.com/gomarkdown/markdown), [rendering parsed MD](https://github.com/jsternberg/markdownfmt/blob/master/markdown/main.go). @@ -106,8 +129,6 @@ Aside from that, here is the future feature list: Contributions are welcome. -My aim with this project is to keep it simple for the simple tasks, be easily configurable with YAML files, and not be too opinionated (eg. currently postscripts use pwsh, but this isn't hard-coded and any shell can be used). - ## Authors and acknowledgment Your name will be listed here if you contribute.