Scaffold is a project generation tool similar to cookiecutter written in Go that leverages the Go template engine to generate projects from a template. It is designed to be used with git or the local file system with a built in "scaffold" management system for versions and templates.
What set's Scaffold apart from projects like cookiecutter is the ability to define reusable scaffolds called template scaffolds
within a project to help bootstrap code changes in existing projects.
You're able to use a .scaffolds
directory within a project to define a scaffold that can generate files in multiple locations around your project. This is useful for generating boilerplate starter code for:
- React/Vue/Angular/... components
- Ansible Roles
- CRUD API endpoint stubs
- Other commonly structured code folders
See the examples folder for some examples of how to use Scaffold.
- Generate projects from a template
- Git based scaffolds
- Update scaffolds with
scaffold update
- List scaffolds with
scaffold list
- Pull specific tag or branch (currently always pulls latest)
- Update scaffolds with
- Generate files in multiple locations within an existing project
- Pre/Post Messages defined in the scaffold (supports markdown)
- Alias support for shortening common commands
- Shortcuts for common prefixes (e.g
gh:
for github.com) - Conditional Prompting based on user input
- Inject snippets into existing files with Scaffold Templates
- Feature flag support for blocking/enabling rendering of entire directories/glob matches
- Logo By @lakotelman