Skip to main content

documenting-module

Use when documenting modules (libraries/addons) in create-faster MDX docs - covers standalone module pages with supported stacks, dependencies, env vars, and file structures

ソース情報

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

インストール方法

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

ソースファイルを確認

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

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
documenting-module
description
Use when documenting modules (libraries/addons) in create-faster MDX docs - covers standalone module pages with supported stacks, dependencies, env vars, and file structures
# Documenting Module ## Overview Document what create-faster configures for each module. Focus on technical changes, not library features. **Core principle:** Document OUR additions, link to THEIR docs. Each module gets its own standalone page. ## When to Use Use when: - Adding a new module documentation page - Updating existing module docs after template changes - Extracting module docs from stack pages into standalone pages Do NOT use for: - Stack documentation (use `documenting-stack` skill) - Database/ORM documentation (use `documenting-stack` skill) - General library tutorials (link to official docs) ## Architecture Context **Where things live:** - Module metadata: `META.libraries[name]` in `apps/cli/src/__meta__.ts` - Module templates: `apps/cli/templates/libraries/{library}/` - Documentation pages: `apps/www/content/docs/modules/{category}/{module}.mdx` - Dependencies/scripts: `META.libraries[name].packageJson` (NOT in templates) - Env vars: `META.libraries[name].envs` (NOT in templates) - Supported stacks: `META.libraries[name].support.stacks` - Requirements: `META.libraries[name].require` - Monorepo scope: `META.libraries[name].mono` **Package.json is programmatic.** Dependencies are declared in META, not in template files. **Env vars are programmatic.** Check `envs` fields in META, not template files. ## Structure Template ```markdown --- title: Module Name description: One-line description of what create-faster sets up for this module --- ## Presentation Brief description of what you get (1-2 sentences). [→ Official Documentation](https://...) **Supported stacks:** Next.js, TanStack Start (list from META.support.stacks) **Requirements:** ORM (Drizzle or Prisma) — only if META.require exists ## What create-faster adds **Technical changes:** Files added: \`\`\` src/ ├── path/to/ │ └── file.tsx # Description └── config.json # Description # Turborepo only: packages/name/ └── package.json # Description \`\`\` **Modified files:** - `file.tsx` - What changed and why **Dependencies:** - List from META.libraries[name].packageJson.dependencies - List from META.libraries[name].packageJson.devDependencies (as dev deps) **Environment variables:** (only if META.libraries[name].envs exists) - `VAR_NAME` - Purpose and scope **Turborepo mode:** How it behaves differently in monorepo (package name, imports, scope). **Integration notes:** How it works with ORM/database/other modules (only if relevant). ``` ## Documentation Workflow ### Step 1: Analyze META for Module Metadata **CRITICAL: META is the source of truth for dependencies, env vars, and support.** ```bash # Check module metadata in META grep -A 30 "'modulename'" apps/cli/src/__meta__.ts # Check supported stacks grep -B 2 -A 5 "'modulename'" apps/cli/src/__meta__.ts | grep support # Check requirements grep -A 3 "'modulename'" apps/cli/src/__meta__.ts | grep require # Check mono config grep -A 3 "'modulename'" apps/cli/src/__meta__.ts | grep mono # Check env vars grep -A 10 "'modulename'" apps/cli/src/__meta__.ts | grep -A 5 envs ``` ### Step 2: Analyze Template Files ```bash # Find all template files for module ls -la apps/cli/templates/libraries/{modulename}/ # Check for frontmatter (only/mono filters) grep -l '^---' apps/cli/templates/libraries/{modulename}/*.hbs head -5 apps/cli/templates/libraries/{modulename}/*.hbs # Check for stack-specific templates (.nextjs.hbs, .expo.hbs) ls apps/cli/templates/libraries/{modulename}/*.*.hbs ``` Document EXACTLY what files we create/modify. Cross-reference every claim with actual template files AND META. ### Step 3: Structure Document **Frontmatter (YAML):** - `title`: Module display name (from META.libraries[name].label) - `description`: What create-faster sets up (NOT what the library does) **CRITICAL - Don't add `# Title`:** Title in frontmatter already renders as H1. Adding `# Title` creates duplicate. **Document structure:** 1. `## Presentation` - Brief description + link to official docs 2. Supported stacks list 3. Requirements (if any) 4. `## What create-faster adds` - Technical changes ### Step 4: Focus on Technical Changes **DO document:** - Files we create (verifiable in `apps/cli/templates/libraries/`) - Files we modify (verifiable in templates with conditionals) - Dependencies from META `packageJson.dependencies` - Dev dependencies from META `packageJson.devDependencies` - Env vars from META `envs` fields (with scope) - Turborepo vs single repo differences (check `mono` config and frontmatter `only` filters) - `appPackageJson` dependencies (installed in the app, not the module package) - `exports` from META `packageJson.exports` (package entry points) **DON'T document:** - What the library does (official docs) - Generic "benefits" or "why use" - Basic usage examples (they have tutorials) - Dependencies not in META (verify!) - Configuration that comes from the library itself, not our templates ### Step 5: Verify Every Claim **MANDATORY verification before publishing:** ```bash # Verify dependencies exist in META grep "'modulename'" -A 30 apps/cli/src/__meta__.ts | grep -A 10 packageJson # Verify template files exist ls apps/cli/templates/libraries/{modulename}/ # Verify supported stacks grep "'modulename'" -A 10 apps/cli/src/__meta__.ts | grep stacks # Verify env vars grep "'modulename'" -A 20 apps/cli/src/__meta__.ts | grep -A 5 envs ``` Every dependency, env var, and file reference MUST be verified against the codebase. ## Fumadocs Page Placement Module pages live under `apps/www/content/docs/modules/{category}/`: ``` content/docs/modules/ ├── meta.json # Folder config ├── ui/ │ ├── meta.json │ ├── shadcn.mdx │ ├── next-themes.mdx │ └── nativewind.mdx ├── content/ │ ├── meta.json │ ├── mdx.mdx │ └── pwa.mdx ├── auth/ │ ├── meta.json │ └── better-auth.mdx ├── api/ │ ├── meta.json │ └── trpc.mdx ├── data-fetching/ │ ├── meta.json │ ├── tanstack-query.mdx │ └── tanstack-devtools.mdx ├── forms/ │ ├── meta.json │ ├── react-hook-form.mdx │ └── tanstack-form.mdx └── deploy/ ├── meta.json └── aws-lambda.mdx ``` Each `meta.json` sets the folder title for the sidebar: ```json { "title": "Category Name" } ``` Categories match `META.libraries[name].category` values. ## RED FLAGS - You're Documenting Wrong **STOP if you write:** - `# Module Name` title (title in frontmatter already renders as H1) - "Why use X?" explanations (that's official docs' job) - Generic library features (link to docs instead) - Dependencies not verified in META - Missing supported stacks list - Module page inside a stack folder (modules are standalone) ## Common Mistakes | Mistake | Fix | |---------|-----| | Explaining library features | Link to official docs, focus on our additions | | No file structure | Show tree with files created | | Missing supported stacks | Check META.libraries[name].support.stacks | | Unverified dependencies | Check `META.libraries[name].packageJson` | | Missing turborepo differences | Check META `mono` config and frontmatter `only` filters | | Putting module page in stack folder | Module pages go in `modules/{category}/` | | Forgetting appPackageJson | Some modules install deps in the app too (e.g., tRPC) | ## Rationalization Table | Excuse | Reality | |--------|---------| | "Need to explain what the library does" | Official docs exist. Link to them. | | "Users need usage examples" | Official docs have tutorials. We document setup. | | "Dependencies are obvious" | Verify against META. Old docs had errors. | | "Single file, no tree needed" | Even one file gets a tree for consistency. | | "Turborepo mode is the same" | Check mono config. Package creation differs. | ## Template Checklist **Frontmatter:** - [ ] `title:` in YAML (don't add `# Title` after) - [ ] `description:` describes what create-faster sets up **Document:** - [ ] `## Presentation` with brief description - [ ] Link to official documentation (→ syntax, MANDATORY) - [ ] Supported stacks listed - [ ] Requirements listed (if any from META.require) - [ ] `## What create-faster adds` section - [ ] Files added with tree structure - [ ] Modified files listed - [ ] Dependencies from META - [ ] Env vars from META (if any) - [ ] Turborepo differences noted - [ ] Integration notes (if applicable) **Verification (MANDATORY):** - [ ] Every dependency verified in `META.libraries[name].packageJson` - [ ] Every file reference verified in `apps/cli/templates/libraries/` - [ ] Supported stacks verified in `META.libraries[name].support` - [ ] Env vars verified in META `envs` fields - [ ] Requirements verified in META `require` fields - [ ] Monorepo scope verified in META `mono` config
GitHubで見る