Skip to content

blüprint

Dead-easy application scaffolding and CLI.

Our team spins up dozens of projects a year from a handful of shared starting points — a blog, a data scraper, a graphics page. bluprint keeps those starting points reusable without maintaining a pile of template tooling.

The idea is simple: a bluprint is just a GitHub repo. The repo is the boilerplate — what you see is what you scaffold. To make one, you add a single typed bluprint.config.ts:

  • It looks like the thing it builds. A bluprint is a real, runnable project, so it’s obvious what scaffolding it will produce.
  • Anyone can make one. If you can push a repo to GitHub, you can share a bluprint. Distribution is just git push.
  • The config is real TypeScript. Actions are typed functions you import, with autocomplete and type-checking as you write them.
  • Test before you publish. bluprint preview scaffolds your in-progress bluprint into a temp directory so you can see the result first.

Add a bluprint.config.ts to the root of any repo to make it a bluprint, then register the ones you use with the CLI.

When you start a new project, the CLI downloads the latest tarball of your files from GitHub (public or private) and scaffolds them into your directory — then runs any actions from your config to transform them.

Actions can move and rename files, run shell commands, ask the user questions, render files through a template engine, edit JSON/YAML, or run arbitrary TypeScript — all fully typed.

Parts let you split a bluprint into pieces users can scaffold individually — handy for syncing config files into projects already underway.

Head to the Quickstart to install bluprint and build your first template.