Universal project scaffolding — because copy-pasting is not a strategy
Blueprint is a CLI tool written in Go that streamlines project initialization through an intelligent template system with interactive prompts, feature composition, and dependency management.
- Universal Templates — Scaffold projects in any language or framework using a single YAML-based template format
- Interactive Prompts — Guided setup with text inputs, selects, multi-selects, and confirmations
- Feature Composition — Compose templates together via includes to add optional capabilities (testing, logging, etc.) during initialization
- Custom Templates — Use the built-in templates or create your own in
~/.config/blueprint/templates - Dry Run — Preview what Blueprint will generate before writing any files
- Non-Interactive Mode — Pass variables via
--varflags and skip prompts with--yesfor CI/scripting
go install github.com/dhanush0x96c/blueprint@latestMake sure $GOPATH/bin (or $GOBIN) is in your PATH.
Download the latest release from the Releases page.
# Initialize a new Go CLI project
blueprint init go-cliBlueprint will prompt you for variables like the application name and module path, then scaffold the project with all the necessary files.
blueprint init go-cli --yes \
--var app_name=my-app \
--var module_path=github.com/user/my-appblueprint init go-api --dry-runblueprint init go-cli --include features/go/testingCreate your own templates in ~/.config/blueprint/templates/. A template is a directory containing a template.yaml file and any source files to scaffold.
name: my-template
type: project
version: 0.1.0
variables:
- name: app_name
prompt: "Application name?"
type: string
role: project_name
files:
- src: main.go.tmpl
dest: main.goFor the full template format, see the Template Specification.
| Document | Description |
|---|---|
| CLI Reference | Complete command-line reference and usage examples |
| Template Specification | Authoritative spec for the template format |
| Template Naming Conventions | Naming rules for templates |
| Architecture | Internal architecture and data flow |
🚧 Blueprint is in active development. Some features documented in the CLI reference (such as blueprint add, blueprint search, and remote template sources) have not yet been implemented. The core scaffolding workflow — blueprint init with interactive prompts, template composition, and file rendering — is fully functional.
If the project interests you, consider starring or watching the repository to follow progress.
This project is licensed under the MIT License – see the LICENSE file for details.
