Skip to main content

Introduction

Skaff is a TypeScript-powered scaffolding toolkit that turns curated templates into ready-to-run projects. It combines a fast CLI, a web dashboard, and shared libraries so teams can ship consistent services without copying stale boilerplates.

What you get

  • Guided project creation. Render templates from the CLI or web UI, validate answers with Zod, and review a Git diff before anything touches your repository.
  • Repeatable upgrades. Save template settings once and rerun the template later to generate patch files that capture only upstream changes.
  • Composable features. Break large starters into subtemplates so optional modules, jobs, or stacks can be added on demand.
  • Automation-friendly tooling. Every workflow is scriptable and available as a library, making Skaff easy to embed in CI or internal developer platforms.

Components at a glance

SurfaceRole
CLI (apps/cli)Primary interface for project creation, diff preparation, and automation. Published on npm, Bun, and as standalone binaries.
Web app (apps/web)Next.js dashboard with schema-driven forms, diff previews, and project management for teams that prefer a GUI.
Core runtime (packages/skaff-lib)Shared rendering and diffing engine consumed by the CLI, web app, and custom integrations.
Template types (packages/template-types-lib)Typed helpers for templateConfig.ts files, subtemplate wiring, migrations, and side effects.

For repository setup and release details, keep the project README nearby while using these docs.