Files
stanza/apps/web/content/docs/index.mdx
T
jake 678b5bc1af feat: add ui-shadcn-base, ui-shadcn-radix, and ui-tailwind modules; rename styling category to ui
- Rename `styling` → `ui` across the entire codebase (CATEGORIES array, docs, AGENTS.md, CLI tests, resolver, template tests, codemod runner); `ui` is `home: package` so shadcn installs into `packages/ui/` as a workspace dep rather than wiring directly into the app shell
- Add `ui-shadcn-base` (Tailwind v4 / CSS-first, no Radix peer) and `ui-shadcn-radix` (Tailwind v4 + Radix primitives) with full per-framework template sets for Next.js and TanStack Start: `components.json`, `globals.css`, `postcss.config.mjs`, `theme-provider.tsx`, shared `Button` + `utils.ts`; light/dark logos inlined from svgl
- Rename `styling-tailwind` → `ui-tailwind` to match the new category id; update its module definition to `category: "ui"` and `home: package`
- Add four new codemod builtins with tests: `add-array-entry-in-call` (inserts an element into a named array argument of any `CallExpression`), `replace-import` (rewrites a specifier in an existing import declaration), `set-html-attributes` (sets attributes on an HTML/JSX element by tag name or selector), `set-tsconfig-paths` (merges `compilerOptions` entries into a `tsconfig.json` AST node); register all four in the builtins index and export from `@stanza/codemods`
- Add `wrap-root-layout` builtin tests
- Update registry.mdx, concepts.mdx, cli.mdx, getting-started.mdx, agents.mdx, index.mdx, AGENTS.md, README.md, TODO.md, and SKILL.md to reflect the category rename and new modules
2026-05-25 15:26:08 -04:00

2.0 KiB

title, description
title description
Introduction Assemble modular full-stack TypeScript monorepos with Stanza.

Stanza is a shadcn-style CLI for assembling modular full-stack TypeScript monorepos. Pick a framework, UI, database, ORM, and auth — Stanza vendors idiomatic code directly into your repo, with no additional runtime dependencies to maintain afterwards.

Why Stanza

  • add works after init. Run stanza add on an existing project. It reads your stanza.json manifest, resolves peer constraints, and picks the right adapter for your stack — so adding auth to a Next + Drizzle app writes different code than adding it to a TanStack Start + Prisma app.
  • Your code, vendored. Generated files land in your repo verbatim. There's no @stanza/runtime package to install, and nothing to upgrade out from under you — the code is yours to edit.
  • Open registry. Modules are plain static JSON. The CLI ships with a default registry, but you can point it at your own host with STANZA_REGISTRY and serve custom modules.

How it fits together

You choose modules across a small set of categories — framework, ui, db, orm, auth, tooling, testing, and more. Stanza scaffolds a clean monorepo, vendoring each module's templates, dependencies, and environment variables into the right place: app shell code into your app, data and auth layers into their own workspace packages. Later, stanza add and stanza remove layer modules in and out without you hand-editing the wiring.

Next steps

  • Getting started — create your first project and add a module.
  • Concepts — the mental model: categories, vendoring, peers, and the manifest.
  • CLI reference — every verb, flag, and environment variable.
  • Agents — drive Stanza from Claude Code, Codex, or any coding agent.

Or skip ahead and assemble a stack visually with the builder.