Skip to main content

documenting-blueprint

Use when documenting blueprints in create-faster MDX docs - covers pre-composed starter projects with composition, architecture, application code, CLI usage, and extra dependencies

Quellinformationen

Repository
plvo/create-faster
Letzte Quellaktivität
16. März 2026 um 15:11
Erkannte Sprache von SKILL.md
Englisch
Sterne
28
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
documenting-blueprint
description
Use when documenting blueprints in create-faster MDX docs - covers pre-composed starter projects with composition, architecture, application code, CLI usage, and extra dependencies
# Documenting Blueprint ## Overview Document what create-faster generates for each blueprint. Focus on the composition, architecture, and application code — not on teaching each library. **Core principle:** Document the COMPOSITION and what APPLICATION CODE is included. For individual libraries in the composition, link to their standalone module/stack pages. ## When to Use Use when: - Adding a new blueprint documentation page - Updating existing blueprint docs after template changes - Documenting newly created blueprints Do NOT use for: - Stack documentation (use `documenting-stack` skill) - Module documentation (use `documenting-module` skill) - Creating blueprints (use `adding-blueprints` skill) - Database/ORM documentation (use `documenting-stack` skill) ## Architecture Context **Where things live:** - Blueprint metadata: `META.blueprints[name]` in `apps/cli/src/__meta__.ts` - Blueprint templates: `apps/cli/apps/cli/templates/blueprints/{name}/` - Composition stacks: `META.stacks[stackName]` - Composition libraries: `META.libraries[libName]` - Composition project addons: `META.project.{category}.options[name]` - Documentation pages: `apps/www/content/docs/blueprints/{category}/{name}.mdx` **Key concepts:** - `context.apps[]` — what stacks and libraries are pre-selected - `context.project` — what project addons are pre-selected (database, orm, deployment) - `packageJson` — extra dependencies ONLY for the blueprint (not from composition) - `envs` — extra env vars ONLY for the blueprint (not from composition) - Blueprint templates **override** structural templates with the same destination path **Package.json is programmatic.** Composition dependencies come from META stacks/libraries/addons. Blueprint `packageJson` only declares EXTRA dependencies. **Env vars are programmatic.** Composition envs come from META libraries/addons. Blueprint `envs` only declares EXTRA env vars. ## Structure Template ```markdown --- title: Blueprint Name description: One-line description of the starter project (from META.blueprints[name].hint) --- ## Presentation Brief description of the complete starter project (2-3 sentences). What does the user get? ## Composition **Apps:** - `appName` — Stack ([→ docs](/docs/stacks/stackname)) + modules ([→ module](/docs/modules/category/name), ...) **Project addons:** - Database: [→ PostgreSQL](/docs/database/postgresql) - ORM: [→ Drizzle](/docs/orm/drizzle) - Deployment: [→ SST](/docs/deployment/sst) (if applicable) ## Architecture File tree of the blueprint-specific application code (only what the blueprint ADDS beyond structural templates): \`\`\` src/ ├── app/ │ ├── page.tsx # Description │ └── (section)/ │ ├── layout.tsx # Description │ └── page.tsx # Description ├── components/ │ └── component.tsx # Description └── lib/ └── util.ts # Description \`\`\` For multi-app blueprints (turborepo), show per-app structure. ## What's included Describe the key application features the blueprint provides. Keep it factual — what pages exist, what functionality they have. Use subsections if the blueprint has multiple significant features. Code examples ONLY for blueprint-specific patterns (e.g., custom auth integration, special middleware). Do NOT show code for standard library setup — link to module docs instead. ## Extra dependencies Only if `META.blueprints[name].packageJson` exists: \`\`\` package version purpose recharts ^2.15.0 Dashboard charts \`\`\` ## Environment variables Only if `META.blueprints[name].envs` exists: - `VAR_NAME` - Purpose (scope: app/root/pkg) ## CLI usage \`\`\`bash bunx create-faster myproject --blueprint {name} --linter biome --git --pm bun \`\`\` ``` ## Documentation Workflow ### Step 1: Analyze META for Blueprint Metadata **CRITICAL: META is the source of truth for composition, dependencies, and env vars.** ```bash # Check blueprint metadata in META grep -A 40 "'{blueprintname}'" apps/cli/src/__meta__.ts # Check composition: apps, stacks, libraries grep -A 20 "context:" apps/cli/src/__meta__.ts | grep -A 15 "'{blueprintname}'" # Check extra dependencies grep -A 10 "packageJson:" apps/cli/src/__meta__.ts | grep -A 8 "'{blueprintname}'" # Check extra env vars grep -A 10 "envs:" apps/cli/src/__meta__.ts | grep -A 8 "'{blueprintname}'" ``` ### Step 2: Analyze Blueprint Template Files ```bash # List all blueprint template files find apps/cli/templates/blueprints/{blueprintname}/ -name "*.hbs" | sort # Check for frontmatter (path/scope overrides) grep -l '^---' apps/cli/templates/blueprints/{blueprintname}/**/*.hbs # Check for stack-specific templates ls apps/cli/templates/blueprints/{blueprintname}/**/*.*.hbs # Check for mono/single filtering grep 'only:' apps/cli/templates/blueprints/{blueprintname}/**/*.hbs ``` Document EXACTLY what files the blueprint adds. Cross-reference every claim with actual template files. ### Step 3: Identify Overrides vs Additions For each blueprint template file, determine: 1. **Override** — replaces a structural template (same destination path as a stack/library template) 2. **Addition** — new file not present in structural templates Only document the blueprint-specific files. Don't document structural templates that pass through unchanged. ### Step 4: Structure Document **Frontmatter (YAML):** - `title`: Blueprint display name (from `META.blueprints[name].label`) - `description`: From `META.blueprints[name].hint` **CRITICAL - Don't add `# Title`:** Title in frontmatter already renders as H1. Adding `# Title` creates duplicate. **Document structure:** 1. `## Presentation` — what the user gets (complete starter project description) 2. `## Composition` — stacks, libraries, project addons with links to their doc pages 3. `## Architecture` — file tree of blueprint-specific files 4. `## What's included` — application features and key code patterns 5. `## Extra dependencies` — only blueprint-specific extras from META 6. `## Environment variables` — only blueprint-specific extras from META 7. `## CLI usage` — example command ### Step 5: Focus on Blueprint-Specific Content **DO document:** - The complete starter project description (what you get) - Full composition with links to individual stack/module/addon pages - Blueprint template files (verified in `apps/cli/templates/blueprints/{name}/`) - Application features (pages, layouts, components, routes) - Key code patterns unique to the blueprint (custom auth flows, special middleware) - Extra dependencies from `META.blueprints[name].packageJson` - Extra env vars from `META.blueprints[name].envs` - Multi-app architecture (for turborepo blueprints) - CI/CD workflows (if included in blueprint templates) **DON'T document:** - How individual libraries work (link to module docs) - How the stack works (link to stack docs) - How the ORM/database works (link to their docs) - Standard library setup code (shadcn components, tRPC init, etc.) - Dependencies that come from the composition (they're in the library/stack META) - Env vars that come from the composition (they're in the library/addon META) - Structural template files that pass through unchanged ### Step 6: Verify Every Claim **MANDATORY verification before publishing:** ```bash # Verify composition matches META grep -A 30 "'{blueprintname}'" apps/cli/src/__meta__.ts # Verify template files exist find apps/cli/templates/blueprints/{blueprintname}/ -name "*.hbs" | sort # Verify extra dependencies are in blueprint META (not composition META) grep -A 10 "packageJson:" apps/cli/src/__meta__.ts | grep -A 8 "'{blueprintname}'" # Verify extra envs are in blueprint META (not composition META) grep -A 10 "envs:" apps/cli/src/__meta__.ts | grep -A 8 "'{blueprintname}'" # Verify apps in composition grep -A 15 "context:" apps/cli/src/__meta__.ts | grep -A 10 "'{blueprintname}'" ``` Every composition element, file reference, dependency, and env var MUST be verified against the codebase. ## Fumadocs Page Placement Blueprint pages live under `apps/www/content/docs/blueprints/{category}/`: ``` content/docs/blueprints/ ├── meta.json # Root folder config listing categories ├── business/ │ ├── meta.json # { "title": "Business" } │ └── dashboard.mdx ├── web3/ │ ├── meta.json # { "title": "Web3" } │ ├── dapp-privy.mdx │ └── dapp-rainbowkit.mdx └── aws/ ├── meta.json # { "title": "AWS" } ├── lambda-sst.mdx └── lambda-terraform-aws.mdx ``` Each category is a subdirectory with its own `meta.json` (like modules). The root `meta.json` lists categories: ```json { "title": "Blueprints", "pages": ["business", "web3", "aws"] } ``` The root docs `meta.json` loads the blueprints folder: ```json "---BLUEPRINTS---", "...blueprints" ``` ## RED FLAGS - You're Documenting Wrong **STOP if you write:** - `# Blueprint Name` title (title in frontmatter already renders as H1) - How to use shadcn/better-auth/drizzle (link to their module docs) - Standard library setup code (that's module documentation, not blueprint) - Composition dependencies listed as "blueprint dependencies" (only extras go in blueprint docs) - Composition envs listed as "blueprint env vars" (only extras go in blueprint docs) - Missing composition section (REQUIRED — it's the blueprint's defining characteristic) - No links to individual stack/module/addon pages ## Common Mistakes | Mistake | Fix | |---------|-----| | Explaining library features | Link to module docs, focus on blueprint application code | | Listing composition deps as extras | Only `META.blueprints[name].packageJson` goes in extra deps | | Listing composition envs as extras | Only `META.blueprints[name].envs` goes in extra env vars | | Missing composition section | REQUIRED: list all stacks, libraries, project addons with links | | No file tree | Show blueprint-specific files with tree structure | | Documenting structural templates | Only document what the BLUEPRINT adds/overrides | | Missing CLI usage | Show `--blueprint {name}` example command | | Unverified template files | Check `apps/cli/templates/blueprints/{name}/` | | Missing multi-app architecture | Turborepo blueprints need per-app structure | ## Rationalization Table | Excuse | Reality | |--------|---------| | "Need to explain what shadcn does" | Module docs exist. Link to them. | | "Should show tRPC setup" | Module docs cover that. Blueprint docs cover application code. | | "All dependencies should be listed" | Only blueprint-specific extras. Composition deps are in their own META entries. | | "Should explain how better-auth works" | Link to `/docs/modules/auth/better-auth`. Focus on blueprint-specific auth patterns. | | "The file tree should show everything" | Only blueprint-specific files. Structural templates are documented elsewhere. | | "I saw this dependency in the generated output" | Verify it's in `META.blueprints[name].packageJson`, not coming from composition. | | "Users need the full picture" | Composition links + blueprint specifics IS the full picture. Don't duplicate. | ## Template Checklist **Frontmatter:** - [ ] `title:` in YAML (don't add `# Title` after) - [ ] `description:` from META hint or similar one-liner **Document:** - [ ] `## Presentation` — what the user gets - [ ] `## Composition` — all stacks, libraries, project addons with doc links - [ ] `## Architecture` — file tree of blueprint-specific files only - [ ] `## What's included` — application features - [ ] `## Extra dependencies` — ONLY from `META.blueprints[name].packageJson` - [ ] `## Environment variables` — ONLY from `META.blueprints[name].envs` - [ ] `## CLI usage` — `--blueprint {name}` example - [ ] Code examples limited to blueprint-specific patterns - [ ] Links to stack/module/addon pages for composition elements - [ ] Multi-app structure shown for turborepo blueprints **Verification (MANDATORY):** - [ ] Composition verified in `META.blueprints[name].context` - [ ] Every template file verified in `apps/cli/templates/blueprints/{name}/` - [ ] Extra deps verified in `META.blueprints[name].packageJson` - [ ] Extra envs verified in `META.blueprints[name].envs` - [ ] Blueprint category verified in `META.blueprints[name].category` - [ ] Overrides vs additions correctly identified
Auf GitHub ansehen