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

ソース情報

リポジトリ
plvo/create-faster
ソースの最終更新活動
2026年3月16日 15:11
検出された SKILL.md の言語
英語
スター
28
フォーク
1

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
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
GitHubで見る