Tony's Almighty Project Generator
A general-purpose, language-agnostic, yet simple and fast (i.e. almighty) project generator to bootstrap and scaffold your projects easily.
Wanna start developing your new project real quick? Run a single command and you can start coding right away.
Productivity++: No more wasting your time copy-and-pasting boilerplate starter code.
-
Just run the binary: No intepreters or environment setup needed.
-
Bloat-free command line tool: No more overwhelmed by tons of flags and options, i.e. it just simply works.
-
Full power of the
MiniJinjatemplate engine.- fast and lightweight
- familiar syntax of Jinja2
- extensible filters and functions etc.
-
Customizable prompts and template variables.
- conditional prompts
- range for integers
- regex pattern validation for strings
- single choice or multiple choices prompts
-
Scripts as hooks that are run before and after generation.
-
Like Cookiecutter, but faaaster (written in Rust).
$ tapgen <SRC> [DST]Currently, SRC can be one of the following:
-
shorthand for git source1:
github:<owner>/<repo>gitlab:<owner>/<repo>bitbucket:<owner>/<repo>
-
shorthand for prefix source2:
@:<path/to/template/under/prefix> -
path to local
tapgen.tomlfile or directory that contains atapgen.tomlfile
1: You can specify additional path in case when
the repository contains multiple templates, or when the template is several levels deep inside the repository,
e.g. github:tnychn/templates/subdir1/subdir2.
2: Relative to the prefix path, e.g. if the prefix path is /Users/tony/.tapgen,
then @:foo/bar becomes /Users/tony/.tapgen/foo/bar.
-
Override variable values in CLI.
-
Replay previous generation.
-
Support templated defaults.
-
Extend template filters/functions/tests via scripting.
~ crafted with ♥︎ by tnychn ~
MIT © 2024 Tony Chan