Stack Standards¶
Available stacks¶
| Stack | Directory | Inherits |
|---|---|---|
typescript-react |
standards/stacks/typescript-react/ |
— |
typescript-nextjs |
standards/stacks/typescript-nextjs/ |
typescript-react |
go |
standards/stacks/go/ |
— |
python-fastapi |
standards/stacks/python-fastapi/ |
— |
drizzle-postgres |
standards/stacks/drizzle-postgres/ |
— |
Stack details¶
typescript-react¶
Covers: component patterns (functional only, no class components), naming conventions (PascalCase components, camelCase props), styling (CSS Modules or Tailwind — no inline styles for layout), state management, testing with Vitest + Testing Library, TypeScript strictness rules.
typescript-nextjs¶
Inherits all typescript-react rules. Adds: routing (App Router conventions), rendering
strategy selection (SSR vs SSG vs ISR — when to use each), API route patterns, auth
integration (Auth.js), Drizzle ORM usage, and deployment configuration.
Inheritance is declared in _base.md:
go¶
Covers: package design (one purpose per package), error handling (wrap with context,
never ignore), testing (table-driven tests, testify assertions), toolchain (go vet,
staticcheck, golangci-lint), naming conventions (unexported by default).
python-fastapi¶
Covers: route structure (routers per domain), dependency injection patterns, Pydantic
validation at boundaries, async vs sync decisions, testing with pytest + httpx,
environment config via pydantic-settings.
drizzle-postgres¶
Covers: schema design (one file per domain), migration discipline (never edit old migration files), query patterns (typed queries, avoid raw SQL), type safety (infer types from schema, never duplicate).
Adding a new stack¶
Say: "add standards for [stack name]" — runs /add-stack-standards.
Alternatively, create the directory manually:
- Create
toolbox/standards/stacks/<name>/README.mdwith an overview - Add topic files (naming, testing, patterns, etc.) as needed
- If this stack inherits another, add
_base.mdwithbase: <parent-stack> - Update
toolbox/skills/load-standards.mdto detect and load the new stack - Run
/upgrade-devto sync the live install
File format¶
Stack standard files are plain Markdown. No frontmatter needed. Write in imperative statements that Claude follows as rules:
## Routing
- Put each domain's routes in a separate file: `routes/<domain>.py`
- Never put business logic in route handlers — delegate to a service function
- Use `APIRouter` with a prefix, not global `app.include_router` in the route file
Keep each file under 150 lines. One concern per file.