@sandrinio/vdoc 3.0.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +13 -13
  2. package/bin/vdoc.mjs +78 -9
  3. package/package.json +1 -1
  4. package/skills/agents/AGENTS.md +17 -143
  5. package/skills/agents/references/audit-workflow.md +65 -0
  6. package/skills/agents/references/doc-template.md +67 -0
  7. package/skills/agents/references/exploration-strategies.md +289 -0
  8. package/skills/agents/references/init-workflow.md +123 -0
  9. package/skills/agents/references/manifest-schema.json +16 -0
  10. package/skills/claude/SKILL.md +14 -198
  11. package/skills/claude/references/audit-workflow.md +65 -0
  12. package/skills/claude/references/exploration-strategies.md +289 -0
  13. package/skills/claude/references/init-workflow.md +123 -0
  14. package/skills/claude/vdoc-audit.md +80 -0
  15. package/skills/claude/vdoc-init.md +216 -0
  16. package/skills/cline/references/audit-workflow.md +65 -0
  17. package/skills/cline/references/doc-template.md +67 -0
  18. package/skills/cline/references/exploration-strategies.md +289 -0
  19. package/skills/cline/references/init-workflow.md +123 -0
  20. package/skills/cline/references/manifest-schema.json +16 -0
  21. package/skills/cline/vdoc-workflow.md +3 -13
  22. package/skills/cline/vdoc.md +10 -148
  23. package/skills/continue/references/audit-workflow.md +65 -0
  24. package/skills/continue/references/doc-template.md +67 -0
  25. package/skills/continue/references/exploration-strategies.md +289 -0
  26. package/skills/continue/references/init-workflow.md +123 -0
  27. package/skills/continue/references/manifest-schema.json +16 -0
  28. package/skills/continue/vdoc-command.md +3 -13
  29. package/skills/continue/vdoc.md +9 -147
  30. package/skills/cursor/RULE.md +68 -0
  31. package/skills/cursor/references/audit-workflow.md +65 -0
  32. package/skills/cursor/references/doc-template.md +67 -0
  33. package/skills/cursor/references/exploration-strategies.md +289 -0
  34. package/skills/cursor/references/init-workflow.md +123 -0
  35. package/skills/cursor/references/manifest-schema.json +16 -0
  36. package/skills/cursor/vdoc-command.md +3 -13
  37. package/skills/gemini/GEMINI.md +17 -143
  38. package/skills/gemini/references/audit-workflow.md +65 -0
  39. package/skills/gemini/references/doc-template.md +67 -0
  40. package/skills/gemini/references/exploration-strategies.md +289 -0
  41. package/skills/gemini/references/init-workflow.md +123 -0
  42. package/skills/gemini/references/manifest-schema.json +16 -0
  43. package/skills/gemini/vdoc.toml +3 -9
  44. package/skills/jetbrains-ai/references/audit-workflow.md +65 -0
  45. package/skills/jetbrains-ai/references/doc-template.md +67 -0
  46. package/skills/jetbrains-ai/references/exploration-strategies.md +289 -0
  47. package/skills/jetbrains-ai/references/init-workflow.md +123 -0
  48. package/skills/jetbrains-ai/references/manifest-schema.json +16 -0
  49. package/skills/jetbrains-ai/vdoc.md +17 -143
  50. package/skills/junie/guidelines.md +17 -143
  51. package/skills/junie/references/audit-workflow.md +65 -0
  52. package/skills/junie/references/doc-template.md +67 -0
  53. package/skills/junie/references/exploration-strategies.md +289 -0
  54. package/skills/junie/references/init-workflow.md +123 -0
  55. package/skills/junie/references/manifest-schema.json +16 -0
  56. package/skills/vscode/SKILL.md +39 -0
  57. package/skills/vscode/references/audit-workflow.md +65 -0
  58. package/skills/vscode/references/doc-template.md +67 -0
  59. package/skills/vscode/references/exploration-strategies.md +289 -0
  60. package/skills/vscode/references/init-workflow.md +123 -0
  61. package/skills/vscode/references/manifest-schema.json +16 -0
  62. package/skills/vscode/vdoc.instructions.md +30 -146
  63. package/skills/vscode/vdoc.prompt.md +5 -15
  64. package/skills/windsurf/SKILL.md +67 -0
  65. package/skills/windsurf/resources/audit-workflow.md +65 -0
  66. package/skills/windsurf/resources/doc-template.md +67 -0
  67. package/skills/windsurf/resources/exploration-strategies.md +289 -0
  68. package/skills/windsurf/resources/init-workflow.md +123 -0
  69. package/skills/windsurf/resources/manifest-schema.json +16 -0
  70. package/skills/windsurf/vdoc-workflow.md +3 -13
  71. package/skills/cursor/vdoc.mdc +0 -176
  72. package/skills/windsurf/vdoc.md +0 -94
@@ -2,165 +2,39 @@
2
2
 
3
3
  # vdoc — Documentation Generator
4
4
 
5
- You generate and maintain feature-centric documentation for codebases. You have three modes: **init**, **audit**, and **query**.
5
+ Documentation must be feature-centric, plan-approved, and grounded in source code. Never generate docs from assumptions.
6
6
 
7
- All documentation lives in `vdocs/` at the project root. The manifest at `vdocs/_manifest.json` is the semantic index you read first.
7
+ ## When to Use
8
+ - User says `/vdoc`, "document this project", "audit docs", or asks about documentation
9
+ - Docs are stale, missing, or out of sync with code
8
10
 
9
- ---
10
-
11
- ## Mode 1: Init
12
-
13
- **Trigger:** User says "document this project" or similar.
14
-
15
- ### Step 1 — Explore
16
-
17
- Read the codebase thoroughly. Identify:
18
-
19
- - **Tech stack**: languages, frameworks, databases, ORMs
20
- - **Features**: authentication, API, payments, notifications, search, etc.
21
- - **Architecture**: monolith vs microservices, frontend/backend split, key patterns
22
- - **Integrations**: third-party services (Stripe, AWS, Redis, etc.)
23
- - **Entry points**: where requests come in, how they flow through the system
24
-
25
- Do not skim. Read key files — entry points, config, routes, schemas, middleware.
26
-
27
- ### Step 2 — Plan
28
-
29
- Create `vdocs/_DOCUMENTATION_PLAN.md` listing each proposed doc with a one-line description. Present to user. Suggest merges, additions, or removals. Wait for approval.
30
-
31
- ### Step 3 — Generate
32
-
33
- For each approved doc, read ALL relevant source files and generate using this template:
34
-
35
- ```markdown
36
- # {Feature Title}
37
-
38
- > {One-line description}
39
-
40
- ---
41
-
42
- ## Overview
43
- {What it does, why it exists, how it fits in the system.}
44
-
45
- ---
46
-
47
- ## How It Works
48
- {Core logic and flow.}
49
- {Mermaid diagram(s) — max 7-9 nodes per diagram, split if larger.}
11
+ ## When NOT to Use
12
+ - API reference docs (use JSDoc/TSDoc), README files, inline code comments
50
13
 
51
14
  ---
52
15
 
53
- ## Data Model
54
- {Entities this feature owns. Mermaid ER diagram or table.}
16
+ You generate and maintain feature-centric documentation. Three modes: **init**, **audit**, **query**.
55
17
 
56
- ---
18
+ All docs live in `vdocs/`. The manifest at `vdocs/_manifest.json` is the semantic index you read first.
57
19
 
58
- ## Key Files
59
- | File | Purpose |
60
- |------|---------|
61
- | `src/path/file.ts` | What this file does |
20
+ ## Init (`/vdoc init`)
62
21
 
63
- ---
22
+ Read the detailed workflow: @.gemini/vdoc/init-workflow.md
64
23
 
65
- ## Dependencies & Integrations
66
- {External services, internal features, packages this relies on.}
24
+ Use the doc template: @.gemini/vdoc/doc-template.md
67
25
 
68
- ---
26
+ Use the manifest schema: @.gemini/vdoc/manifest-schema.json
69
27
 
70
- ## Configuration
71
- | Variable | Purpose | Required |
72
- |----------|---------|----------|
73
- | `ENV_VAR` | What it controls | Yes/No |
28
+ ## Audit (`/vdoc audit`)
74
29
 
75
- ---
30
+ Read the detailed workflow: @.gemini/vdoc/audit-workflow.md
76
31
 
77
- ## Error Handling
78
- {Failure modes, what the user sees, retry logic. Mermaid diagram if non-trivial.}
79
-
80
- ---
81
-
82
- ## Constraints & Decisions
83
- {Why it's built this way. What you CANNOT change without breaking things.}
84
-
85
- ---
86
-
87
- ## Related Features
88
- {Cross-references to other docs by filename. Blast radius notes.}
89
-
90
- ---
91
-
92
- *Generated by vdoc v3.0.0 • Last updated: {timestamp}*
93
- ```
94
-
95
- **Writing rules:**
96
-
97
- - **Mermaid diagrams are mandatory** in "How It Works". Max 7-9 nodes — split larger flows.
98
- - **Data Model** must show real entities from the code, not placeholders.
99
- - **Constraints & Decisions** is the most valuable section. Dig for non-obvious choices. If unclear, write: `Reason: unknown — verify with team`.
100
- - **Related Features** must reference other doc filenames and explain coupling.
101
- - **Configuration** must list actual env vars from the code.
102
- - **Error Handling** — trace what happens when things fail.
103
-
104
- ### Step 4 — Manifest
105
-
106
- Create `vdocs/_manifest.json`:
107
-
108
- ```json
109
- {
110
- "project": "<project-name>",
111
- "vdoc_version": "3.0.0",
112
- "created_at": "<ISO-8601>",
113
- "last_updated": "<ISO-8601>",
114
- "last_commit": "<short-sha>",
115
- "documentation": [
116
- {
117
- "filepath": "FEATURE_NAME_DOC.md",
118
- "title": "Human-Readable Title",
119
- "version": "1.0.0",
120
- "description": "Rich semantic description with technology names, patterns, concepts. Detailed enough for AI to route questions to this doc.",
121
- "tags": ["keyword-tag"]
122
- }
123
- ]
124
- }
125
- ```
126
-
127
- ### Step 5 — Self-Review
128
-
129
- Verify: every doc has mermaid diagrams, at least 2 constraints, real file paths, actual env vars, cross-references. Manifest descriptions are detailed for semantic routing. No hallucinated content.
130
-
131
- ---
132
-
133
- ## Mode 2: Audit
134
-
135
- **Trigger:** User says "audit docs" or similar.
136
-
137
- 1. **Read manifest** — load `vdocs/_manifest.json`
138
- 2. **Detect stale** — `git diff` or `git log --name-only --since="<last_updated>"` to find changed source files. Cross-reference with each doc's "Key Files" section.
139
- 3. **Detect gaps** — scan codebase for significant source files not covered by any doc (new routes, services, models, config).
140
- 4. **Detect dead docs** — check each doc's "Key Files" against filesystem. Flag docs referencing deleted files.
141
- 5. **Check cross-refs** — verify "Related Features" links still exist and coupling is accurate.
142
- 6. **Report** — present stale, gaps, dead, cross-ref issues, and current docs. Wait for user direction.
143
- 7. **Patch** — update stale docs, generate new docs for gaps, flag dead docs, fix cross-refs. Update manifest.
144
-
145
- ---
146
-
147
- ## Mode 3: Query
148
-
149
- **Trigger:** User asks any question about the codebase or documentation.
32
+ ## Query (any documentation question)
150
33
 
151
34
  1. Read `vdocs/_manifest.json`
152
35
  2. Match question against `description` and `tags` fields
153
- 3. Read matching doc(s)
154
- 4. Answer from documented knowledge
155
- 5. If no match, suggest running an audit
156
-
157
- ---
158
-
159
- ## Naming Convention
160
-
161
- Files: `FEATURE_NAME_DOC.md` — uppercase, feature-named, `_DOC` suffix.
162
-
163
- ---
36
+ 3. Read matching doc(s) and answer from documented knowledge
37
+ 4. If no match, suggest running an audit
164
38
 
165
39
  ## Rules
166
40
 
@@ -0,0 +1,65 @@
1
+ # Audit Workflow
2
+
3
+ ## Step 1 — Read Current State
4
+
5
+ Read `vdocs/_manifest.json`. Load the list of documented features and their metadata.
6
+
7
+ ## Step 2 — Detect Stale Docs
8
+
9
+ Run `git log --name-only --since="<last_updated>" --pretty=format:""` or use `git diff` to find all source files that changed since the last audit.
10
+
11
+ Cross-reference changed files against each doc's "Key Files" section to identify which docs are stale.
12
+
13
+ ## Step 3 — Detect Coverage Gaps
14
+
15
+ Scan the codebase for significant features not covered by any doc. Look for:
16
+ - New route files / API endpoints
17
+ - New service classes or modules
18
+ - New database models / schema changes
19
+ - New configuration or infrastructure files
20
+
21
+ If you find undocumented features, propose new docs.
22
+
23
+ ## Step 4 — Detect Dead Docs
24
+
25
+ Check each doc's "Key Files" section against the actual filesystem. If key files no longer exist, the doc may be dead. Flag it: "PAYMENT_PROCESSING_DOC.md references 3 files that no longer exist — remove or archive?"
26
+
27
+ ## Step 5 — Check Cross-References
28
+
29
+ Read each doc's "Related Features" section. Verify that:
30
+ - Referenced doc filenames still exist
31
+ - The described coupling is still accurate (skim the relevant code)
32
+
33
+ ## Step 6 — Report
34
+
35
+ Present a clear report:
36
+
37
+ ```
38
+ Audit Results:
39
+
40
+ STALE (source files changed):
41
+ - AUTHENTICATION_DOC.md — src/lib/auth.ts changed (added GitHub provider)
42
+ - API_REFERENCE_DOC.md — 2 new endpoints added
43
+
44
+ COVERAGE GAPS (undocumented features):
45
+ - src/services/notification.ts — no doc covers notifications
46
+
47
+ DEAD DOCS (source files removed):
48
+ - LEGACY_ADMIN_DOC.md — all 4 source files deleted
49
+
50
+ CROSS-REF ISSUES:
51
+ - AUTHENTICATION_DOC.md references BILLING_DOC.md which no longer exists
52
+
53
+ CURRENT (no changes needed):
54
+ - DATABASE_SCHEMA_DOC.md
55
+ - PROJECT_OVERVIEW_DOC.md
56
+
57
+ Proceed with fixes?
58
+ ```
59
+
60
+ Wait for user direction, then:
61
+ - Patch stale docs (re-read source files, update affected sections only)
62
+ - Generate new docs for coverage gaps (follow init workflow for each)
63
+ - Flag dead docs for user to confirm deletion
64
+ - Fix cross-reference issues
65
+ - Update manifest: bump versions, update `last_updated`, `last_commit`
@@ -0,0 +1,67 @@
1
+ # {Feature Title}
2
+
3
+ > {One-line description of what this covers}
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ {What it does, why it exists, how it fits in the system.}
10
+
11
+ ---
12
+
13
+ ## How It Works
14
+
15
+ {Core logic and flow.}
16
+
17
+ {Mermaid diagram(s) — max 7-9 nodes per diagram, split into multiple if larger.}
18
+
19
+ ---
20
+
21
+ ## Data Model
22
+
23
+ {Entities this feature owns and their relationships. Mermaid ER diagram or table.}
24
+
25
+ ---
26
+
27
+ ## Key Files
28
+
29
+ | File | Purpose |
30
+ |------|---------|
31
+ | `src/path/file.ts` | What this file does |
32
+
33
+ ---
34
+
35
+ ## Dependencies & Integrations
36
+
37
+ {External services, internal features, packages this relies on.}
38
+
39
+ ---
40
+
41
+ ## Configuration
42
+
43
+ | Variable | Purpose | Required |
44
+ |----------|---------|----------|
45
+ | `ENV_VAR` | What it controls | Yes/No |
46
+
47
+ ---
48
+
49
+ ## Error Handling
50
+
51
+ {Failure modes, what the user sees, retry logic. Mermaid diagram if the error flow is non-trivial.}
52
+
53
+ ---
54
+
55
+ ## Constraints & Decisions
56
+
57
+ {Why it's built this way. What you CANNOT change without breaking things.}
58
+
59
+ ---
60
+
61
+ ## Related Features
62
+
63
+ {Cross-references to other docs by filename. Blast radius — what breaks if this changes.}
64
+
65
+ ---
66
+
67
+ *Generated by vdoc v3.0.0 • Last updated: {timestamp}*
@@ -0,0 +1,289 @@
1
+ # Exploration Strategies
2
+
3
+ Smart, targeted codebase exploration. Two phases: fingerprint the project, then follow the right archetype playbook.
4
+
5
+ ## Phase 1 — Fingerprint
6
+
7
+ Read these high-signal files first (whichever exist) to classify the project. **3-5 reads max.**
8
+
9
+ ### Package / Config Files (read 1-2)
10
+
11
+ | File | Ecosystem |
12
+ |------|-----------|
13
+ | `package.json` | Node.js / JavaScript / TypeScript |
14
+ | `pyproject.toml` / `setup.py` / `requirements.txt` | Python |
15
+ | `go.mod` | Go |
16
+ | `Cargo.toml` | Rust |
17
+ | `Gemfile` | Ruby |
18
+ | `pom.xml` / `build.gradle` | Java / Kotlin |
19
+ | `composer.json` | PHP |
20
+ | `*.csproj` / `*.sln` | .NET |
21
+ | `pubspec.yaml` | Dart / Flutter |
22
+
23
+ ### Structure Scan
24
+
25
+ - List root directory
26
+ - List `src/` or `app/` or `lib/` (whichever exists)
27
+
28
+ ### Entry Points (read 1-2)
29
+
30
+ - README.md (first 50 lines)
31
+ - Main entry file (e.g., `src/index.ts`, `main.py`, `cmd/main.go`)
32
+
33
+ ### Determine
34
+
35
+ 1. **Primary language(s)** and framework(s)
36
+ 2. **Project archetype** — match to a playbook below
37
+ 3. **Rough scope** — small (< 20 files), medium (20-100), large (100+)
38
+
39
+ If the project spans multiple archetypes (e.g., monorepo with frontend + API), apply multiple playbooks.
40
+
41
+ ---
42
+
43
+ ## Phase 2 — Archetype Playbooks
44
+
45
+ Match the detected archetype and follow its playbook. Each defines:
46
+ - **Glob patterns** — files to read, in priority order
47
+ - **What to extract** — what each file category reveals
48
+ - **Feature signals** — patterns that indicate documentable features
49
+
50
+ ---
51
+
52
+ ### Web API
53
+
54
+ **Signals:** Express, FastAPI, Django REST, Rails, Spring Boot, Gin, Actix, Phoenix, Hono, NestJS
55
+
56
+ | Priority | Glob Pattern | What to Extract |
57
+ |----------|-------------|-----------------|
58
+ | 1 | `**/routes/**`, `**/router.*`, `**/urls.py` | Endpoints, HTTP methods, URL structure |
59
+ | 2 | `**/middleware/**`, `**/middleware.*` | Auth, CORS, rate limiting, logging, error handling |
60
+ | 3 | `**/models/**`, `**/schema*`, `**/migrations/**` | Data model, entities, relationships |
61
+ | 4 | `**/controllers/**`, `**/handlers/**`, `**/views/**` | Business logic per endpoint |
62
+ | 5 | `**/services/**`, `**/lib/**` | Shared logic, external integrations |
63
+ | 6 | `**/config/**`, `.env*`, `**/settings*` | Environment config, feature flags |
64
+ | 7 | `**/tests/**` (skim 2-3) | What's tested reveals what matters |
65
+
66
+ **Feature signals:**
67
+ - Auth routes/middleware → Authentication doc
68
+ - Payment/billing routes → Payments doc
69
+ - File upload handlers → File Management doc
70
+ - WebSocket/SSE handlers → Real-time doc
71
+ - Background jobs/queues → Background Processing doc
72
+ - Email/notification services → Notifications doc
73
+ - Search endpoints → Search doc
74
+ - Admin routes → Admin Panel doc
75
+
76
+ ---
77
+
78
+ ### Frontend SPA
79
+
80
+ **Signals:** React (CRA/Vite), Vue, Svelte, Angular, Solid
81
+
82
+ | Priority | Glob Pattern | What to Extract |
83
+ |----------|-------------|-----------------|
84
+ | 1 | `**/pages/**`, `**/views/**`, `**/routes*` | Page tree, routing structure |
85
+ | 2 | `**/store/**`, `**/context/**`, `**/state/**`, `**/*slice*` | State shape, data flow |
86
+ | 3 | `**/api/**`, `**/services/**`, `**/hooks/use*` | API integration, data fetching |
87
+ | 4 | `**/components/**` (skim top-level) | Component architecture, shared vs feature |
88
+ | 5 | `**/types/**`, `**/interfaces/**`, `**/*.d.ts` | Data contracts, shared types |
89
+ | 6 | `**/utils/**`, `**/helpers/**` | Shared utilities |
90
+ | 7 | `**/config/**`, `.env*` | Feature flags, API URLs, build config |
91
+
92
+ **Feature signals:**
93
+ - Auth context/store + login pages → Authentication doc
94
+ - Form components + validation → Forms doc
95
+ - Data tables with pagination → Data Display doc
96
+ - Charts/dashboards → Analytics doc
97
+ - Theming/i18n files → Theming / Internationalization doc
98
+ - File upload components → Media Management doc
99
+
100
+ ---
101
+
102
+ ### Full-Stack Framework
103
+
104
+ **Signals:** Next.js, Nuxt, SvelteKit, Remix, RedwoodJS, Blitz, Astro (SSR)
105
+
106
+ | Priority | Glob Pattern | What to Extract |
107
+ |----------|-------------|-----------------|
108
+ | 1 | `**/app/**/page.*`, `**/pages/**`, `**/routes/**` | UI pages AND API routes — the router is the architecture |
109
+ | 2 | `**/api/**`, `**/server/**`, `**/actions/**` | Server-side logic, server actions |
110
+ | 3 | `**/models/**`, `**/schema*`, `**/prisma/**`, `**/drizzle/**` | Data layer, ORM config |
111
+ | 4 | `**/middleware.*`, `**/middleware/**` | Request pipeline, auth, redirects |
112
+ | 5 | `**/components/**` (skim top-level) | Shared UI components |
113
+ | 6 | `**/lib/**`, `**/utils/**`, `**/services/**` | Shared server + client utilities |
114
+ | 7 | `**/config/**`, `.env*`, `next.config.*`, `nuxt.config.*` | Framework and environment config |
115
+
116
+ **Feature signals:**
117
+ - All Web API signals + all Frontend SPA signals
118
+ - Server actions / mutations → Data Mutation doc
119
+ - ISR/SSG configuration → Rendering Strategy doc
120
+ - Edge functions / middleware → Edge Computing doc
121
+
122
+ ---
123
+
124
+ ### CLI Tool
125
+
126
+ **Signals:** Commander, Yargs, Click, Typer, Cobra, Clap, oclif, Argparse
127
+
128
+ | Priority | Glob Pattern | What to Extract |
129
+ |----------|-------------|-----------------|
130
+ | 1 | `**/commands/**`, `**/cmd/**`, `**/cli.*` | Command tree, subcommands |
131
+ | 2 | Main entry (`bin/*`, `src/index.*`, `src/main.*`) | Argument parsing, top-level flow |
132
+ | 3 | `**/config*`, `**/*rc*`, `**/settings*` | Config file formats, defaults |
133
+ | 4 | `**/utils/**`, `**/lib/**`, `**/core/**` | Core logic behind commands |
134
+ | 5 | `**/output*`, `**/format*`, `**/display*` | Output formatting (JSON, table, etc.) |
135
+ | 6 | `**/templates/**`, `**/scaffolds/**` | Code generation templates |
136
+
137
+ **Feature signals:**
138
+ - Multiple subcommands → one doc per command group
139
+ - Config file handling → Configuration doc
140
+ - Plugin/extension system → Plugin Architecture doc
141
+ - Interactive prompts → User Interaction doc
142
+ - File I/O operations → File Processing doc
143
+
144
+ ---
145
+
146
+ ### Library / SDK
147
+
148
+ **Signals:** Published package with `main`/`exports` in package.json, `lib/` with clear public API, type declarations
149
+
150
+ | Priority | Glob Pattern | What to Extract |
151
+ |----------|-------------|-----------------|
152
+ | 1 | Main export (`src/index.*`, `lib/index.*`, `__init__.py`) | Public API surface |
153
+ | 2 | `**/*.d.ts`, `**/types.*`, `**/interfaces.*` | Type contracts, input/output shapes |
154
+ | 3 | `**/core/**`, `**/lib/**` | Internal implementation |
155
+ | 4 | `**/utils/**`, `**/helpers/**` | Supporting utilities |
156
+ | 5 | `**/examples/**`, `**/demo/**` | Usage patterns |
157
+ | 6 | `**/plugins/**`, `**/adapters/**`, `**/providers/**` | Extension points |
158
+ | 7 | `**/tests/**` (skim 2-3) | Edge cases, expected behavior |
159
+
160
+ **Feature signals:**
161
+ - Multiple exported classes/functions → Core API doc
162
+ - Plugin/adapter pattern → Extension Architecture doc
163
+ - Multiple output formats → Serialization doc
164
+ - Caching layer → Performance doc
165
+
166
+ ---
167
+
168
+ ### Mobile App
169
+
170
+ **Signals:** React Native, Flutter, SwiftUI, Jetpack Compose, Expo, Ionic, Capacitor
171
+
172
+ | Priority | Glob Pattern | What to Extract |
173
+ |----------|-------------|-----------------|
174
+ | 1 | `**/screens/**`, `**/pages/**`, `**/views/**` | Screen tree, navigation structure |
175
+ | 2 | `**/navigation/**`, `**/router*` | Navigation graph, deep linking |
176
+ | 3 | `**/store/**`, `**/state/**`, `**/providers/**` | State management, data flow |
177
+ | 4 | `**/api/**`, `**/services/**`, `**/network/**` | Backend communication, offline sync |
178
+ | 5 | `**/components/**` (skim) | Shared UI components |
179
+ | 6 | `**/native/**`, `**/platform/**`, `**/ios/**`, `**/android/**` | Platform-specific code, native modules |
180
+ | 7 | `**/assets/**` (list only) | Bundled resources |
181
+
182
+ **Feature signals:**
183
+ - Push notification setup → Notifications doc
184
+ - Camera/media access → Media Capture doc
185
+ - Offline storage (SQLite, Realm, AsyncStorage) → Data Persistence doc
186
+ - Deep linking / universal links → Navigation doc
187
+ - Platform-specific native modules → Platform Integration doc
188
+
189
+ ---
190
+
191
+ ### Data Pipeline / ML
192
+
193
+ **Signals:** Airflow, dbt, Prefect, Dagster, Luigi, Pandas, Spark, TensorFlow, PyTorch, scikit-learn, Jupyter notebooks
194
+
195
+ | Priority | Glob Pattern | What to Extract |
196
+ |----------|-------------|-----------------|
197
+ | 1 | `**/dags/**`, `**/pipelines/**`, `**/flows/**`, `**/workflows/**` | Pipeline definitions, DAGs, task graph |
198
+ | 2 | `**/models/**` (ML or dbt) | Model definitions, training logic or SQL transforms |
199
+ | 3 | `**/sources/**`, `**/extractors/**`, `**/connectors/**` | Data sources, ingestion logic |
200
+ | 4 | `**/transforms/**`, `**/processors/**` | Data transformation logic |
201
+ | 5 | `**/schemas/**`, `**/contracts/**` | Data contracts, validation |
202
+ | 6 | `**/notebooks/**`, `*.ipynb` | Exploratory analysis, experiments |
203
+ | 7 | `**/config/**`, `**/profiles*` | Connection strings, environment config |
204
+
205
+ **Feature signals:**
206
+ - Multiple DAGs/pipelines → one doc per pipeline
207
+ - ML model training → Model Training doc
208
+ - Feature engineering → Feature Store doc
209
+ - Data validation (Great Expectations, Pandera) → Data Quality doc
210
+ - Scheduled runs → Orchestration doc
211
+
212
+ ---
213
+
214
+ ### Monorepo
215
+
216
+ **Signals:** Turborepo, Nx, Lerna, Rush, Bazel, pnpm workspaces — has `packages/`, `apps/`, or `workspace` config
217
+
218
+ | Priority | Glob Pattern | What to Extract |
219
+ |----------|-------------|-----------------|
220
+ | 1 | Root config (`turbo.json`, `nx.json`, `lerna.json`, `pnpm-workspace.yaml`) | Workspace structure, build pipeline |
221
+ | 2 | `packages/*/package.json` or `apps/*/package.json` | All packages/apps and their dependencies |
222
+ | 3 | `**/shared/**`, `**/common/**`, `**/core/**` | Shared packages that others depend on |
223
+ | 4 | Each app/package entry point (skim) | Purpose of each workspace member |
224
+
225
+ **Then apply the matching sub-archetype playbook** to each significant package/app (e.g., Web API for the backend, Frontend SPA for the frontend, Library for shared packages).
226
+
227
+ **Feature signals:**
228
+ - Shared packages → Shared Infrastructure doc
229
+ - Build/deploy pipeline → Build System doc
230
+ - Inter-package dependencies → Architecture Overview doc (dependency graph)
231
+
232
+ ---
233
+
234
+ ### Microservices
235
+
236
+ **Signals:** Docker Compose, Kubernetes manifests, multiple services with separate entry points, API gateway, service mesh
237
+
238
+ | Priority | Glob Pattern | What to Extract |
239
+ |----------|-------------|-----------------|
240
+ | 1 | `docker-compose*`, `**/k8s/**`, `**/helm/**`, `**/terraform/**` | Service topology, infrastructure |
241
+ | 2 | API gateway config, `**/gateway/**` | Routing, load balancing, auth gateway |
242
+ | 3 | Each service's entry point and routes (skim) | Service responsibilities, API surface |
243
+ | 4 | `**/proto/**`, `**/graphql/**`, `**/schemas/**` | Inter-service contracts (gRPC, GraphQL) |
244
+ | 5 | `**/queues/**`, `**/events/**`, `**/messaging/**` | Async communication, event bus |
245
+ | 6 | `**/shared/**`, `**/common/**` | Shared libraries across services |
246
+
247
+ **Then apply the Web API playbook** to each significant service.
248
+
249
+ **Feature signals:**
250
+ - Service discovery → Service Mesh doc
251
+ - Event-driven communication → Event Architecture doc
252
+ - Shared vs per-service database → Data Architecture doc
253
+ - Health checks / circuit breakers → Resilience doc
254
+
255
+ ---
256
+
257
+ ### Infrastructure / IaC
258
+
259
+ **Signals:** Terraform, Pulumi, CloudFormation, Ansible, CDK, Serverless Framework
260
+
261
+ | Priority | Glob Pattern | What to Extract |
262
+ |----------|-------------|-----------------|
263
+ | 1 | `**/main.tf`, `**/stacks/**`, `**/lib/**` (CDK) | Resource definitions, stack structure |
264
+ | 2 | `**/variables*`, `**/inputs*`, `**/config*` | Parameterization, environment configs |
265
+ | 3 | `**/modules/**`, `**/constructs/**` | Reusable infrastructure modules |
266
+ | 4 | `**/environments/**`, `**/stages/**` | Environment-specific overrides |
267
+ | 5 | `**/outputs*`, `**/exports*` | Cross-stack references |
268
+ | 6 | CI/CD config (`.github/workflows/`, `Jenkinsfile`) | Deployment pipeline |
269
+
270
+ **Feature signals:**
271
+ - Networking (VPC, subnets, security groups) → Networking doc
272
+ - Compute (ECS, Lambda, EC2) → Compute Architecture doc
273
+ - Data stores (RDS, DynamoDB, S3) → Data Infrastructure doc
274
+ - CI/CD pipeline → Deployment Pipeline doc
275
+ - Monitoring (CloudWatch, Datadog) → Observability doc
276
+
277
+ ---
278
+
279
+ ## Fallback — Unknown Archetype
280
+
281
+ If the project doesn't clearly match any archetype:
282
+
283
+ 1. List the root directory and `src/` (or equivalent)
284
+ 2. Read the top 5 largest files by line count
285
+ 3. Read any files with "main", "app", "server", "index", or "core" in the name
286
+ 4. Check test files — they reveal what developers think is important
287
+ 5. Check CI/CD config (`.github/workflows/`, `Jenkinsfile`) — pipeline steps reveal build/deploy architecture
288
+
289
+ Then propose an archetype to the user: *"This looks like a [X] project. I'll explore it using the [X] playbook. Sound right?"*