Skip to content

A cookie cutter alternative with in-project scaffolding for generating components, controllers, or other common code patterns.

License

Notifications You must be signed in to change notification settings

hay-kot/scaffold

Repository files navigation

Scaffold

A Project Generation Tool


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.

Core Features

  • 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)
  • 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

Credits