Spin up
a new project with
supreme ease
universal project scaffolding tool for building, sharing, and generating reusable project templates. Framework-agnosticLanguage-agnostic.
open source under the Apache 2.0 license.
$ spin --help spin scaffolds projects from external templates -- git repos, local paths, or pinned specs -- for any language or framework. USAGE spin [command] [--flags] COMMANDS add <spec> [--flags] Pin a template locally for offline use completion [command] Generate the autocompletion script for the specified shell help [command] Help about any command init <name> [--flags] Scaffold a new external template directory list [--flags] List pinned templates new <name> [<template>] [--flags] Scaffold a new project from a template registry [command] Manage local template registries remove <name> [--flags] Remove a pinned template search <query> [--flags] Search registries and pinned templates update [name] Refresh a pinned template (or all, if name is omitted) version Print the spin version FLAGS -h --help Help for spin -v --version Version for spin
Discover, pin, and scaffold in real-time.
Scaffold actual project configurations in seconds right. Select a template, pass parameters, and open your project!
Engineered for developers who craft, not just copy.
Spin acts as a universal router -- decoupling template creation from template discovery, allowing you to scaffold from any Git repository instantly.
Universal Scaffolding
Go, Rust, Node.js, Python, Java, React, Vue, Svelte. If it's a repository, it can become a Spin template. A single CLI for any language or framework.
Git First
Spin does not own templates. Templates remain inside their original Git repositories. Spin only knows where they are.
Rendering Engine
Spin uses Go's text/template and intentionally keeps the templating language simple. The complexity belongs in the template structure—not in the template language.
Decentralized Registries
Anyone can create a registry. A company can host a private registry, or you can publish a public one. No central server is required.
Template vs Registry
Spin separates template creation from template discovery. Templates own the project source, Registries own discovery metadata.
Automation Friendly
Supports interactive and non-interactive execution. Perfect for shell scripts, internal tooling, developer portals, and CI pipelines.
“Instead of learning dozens of generators, users learn one CLI. Instead of building a custom generator, maintainers publish a Spin template.”
