@sandrinio/vdoc 3.7.0 → 3.8.0
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.
- package/README.md +18 -0
- package/package.json +1 -1
- package/skills/agents/references/init-workflow.md +37 -8
- package/skills/agents/references/manifest-schema.json +6 -0
- package/skills/claude/references/create-workflow.md +1 -0
- package/skills/claude/references/init-workflow.md +37 -8
- package/skills/claude/references/manifest-schema.json +6 -0
- package/skills/cline/references/init-workflow.md +37 -8
- package/skills/cline/references/manifest-schema.json +6 -0
- package/skills/continue/references/init-workflow.md +37 -8
- package/skills/continue/references/manifest-schema.json +6 -0
- package/skills/cursor/references/init-workflow.md +37 -8
- package/skills/cursor/references/manifest-schema.json +6 -0
- package/skills/gemini/references/init-workflow.md +37 -8
- package/skills/gemini/references/manifest-schema.json +6 -0
- package/skills/jetbrains-ai/references/init-workflow.md +37 -8
- package/skills/jetbrains-ai/references/manifest-schema.json +6 -0
- package/skills/junie/references/init-workflow.md +37 -8
- package/skills/junie/references/manifest-schema.json +6 -0
- package/skills/vscode/references/init-workflow.md +37 -8
- package/skills/vscode/references/manifest-schema.json +6 -0
- package/skills/windsurf/resources/init-workflow.md +37 -8
- package/skills/windsurf/resources/manifest-schema.json +6 -0
package/README.md
CHANGED
|
@@ -28,6 +28,24 @@ Then type: **`/vdoc-init`**
|
|
|
28
28
|
|
|
29
29
|
---
|
|
30
30
|
|
|
31
|
+
## The Process
|
|
32
|
+
|
|
33
|
+
### Step 1 — Run `/vdoc-init`
|
|
34
|
+
|
|
35
|
+
vdoc explores your codebase and produces a documentation plan.
|
|
36
|
+
|
|
37
|
+
### Step 2 — Review the plan
|
|
38
|
+
|
|
39
|
+
Open `_DOCUMENTATION_PLAN.md` and make any changes — add, remove, rename, or reorder docs.
|
|
40
|
+
|
|
41
|
+
### Step 3 — Tell the AI to proceed
|
|
42
|
+
|
|
43
|
+
The AI takes your approved plan and generates documentation one by one, saving each to the `vdocs/` folder.
|
|
44
|
+
|
|
45
|
+
That's it. Three steps: **init → review → approve**.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
31
49
|
## Supported Platforms
|
|
32
50
|
|
|
33
51
|
| Platform | Install Command | `/vdoc` Command | Invocation |
|
package/package.json
CHANGED
|
@@ -42,6 +42,15 @@ After exploring, write `vdocs/_exploration_log.md` documenting what you found:
|
|
|
42
42
|
| Prisma schema with 8 models | prisma/schema.prisma | DATA_MODEL_DOC.md |
|
|
43
43
|
| ... | ... | ... |
|
|
44
44
|
|
|
45
|
+
## Cross-Feature Dependencies
|
|
46
|
+
After identifying all feature signals, grep for imports/references between features to map which features consume each other's data, types, or APIs. This prevents missing secondary workflows during doc generation.
|
|
47
|
+
|
|
48
|
+
| Feature A | Feature B | Connection | Impact |
|
|
49
|
+
|-----------|-----------|------------|--------|
|
|
50
|
+
| Azure DevOps Integration | Google Sheets Export | Sheets exports work items fetched by Azure module | Azure doc must cover the export workflow |
|
|
51
|
+
| Auth (NextAuth) | All API routes | Every route uses auth middleware | Auth doc must list all protected routes |
|
|
52
|
+
| ... | ... | ... | ... |
|
|
53
|
+
|
|
45
54
|
## Ambiguities / Open Questions
|
|
46
55
|
- Could not determine why Redis is in dependencies — no usage found. Ask user.
|
|
47
56
|
- Payments folder exists but appears incomplete / WIP.
|
|
@@ -58,6 +67,12 @@ Use this format:
|
|
|
58
67
|
```markdown
|
|
59
68
|
# Documentation Plan
|
|
60
69
|
|
|
70
|
+
## Fingerprint
|
|
71
|
+
- **Language(s):** e.g., TypeScript, Python
|
|
72
|
+
- **Framework(s):** e.g., Next.js 14, FastAPI
|
|
73
|
+
- **Archetype(s):** e.g., Full-stack Framework
|
|
74
|
+
- **Scope:** e.g., ~85 files, medium
|
|
75
|
+
|
|
61
76
|
## Proposed Documents
|
|
62
77
|
|
|
63
78
|
1. **PROJECT_OVERVIEW_DOC.md** — Tech stack, architecture, project structure, dev setup
|
|
@@ -85,10 +100,11 @@ Then generate docs **one at a time, sequentially**. For each approved doc:
|
|
|
85
100
|
|
|
86
101
|
1. Read ALL relevant source files for that feature — not just the main file, but helpers, types, middleware, tests
|
|
87
102
|
2. **Trace the end-to-end flow** — pick the primary user action and follow it through every layer: frontend → API route → service/lib → database → external service → response. Read each file in the chain. Don't stop at the service layer.
|
|
88
|
-
3.
|
|
89
|
-
4.
|
|
103
|
+
3. **Search for consumers** — grep for the feature's key types, table names, API endpoints, and module imports across the entire codebase. This catches secondary workflows (exports, scheduled jobs, webhooks, notifications, external automation) that live in different directories but depend on this feature. If you find consumers, read them and include those workflows in the doc.
|
|
104
|
+
4. Write `vdocs/FEATURE_NAME_DOC.md` following the template exactly
|
|
105
|
+
5. Confirm the file was written before moving to the next doc
|
|
90
106
|
|
|
91
|
-
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → write doc → next.
|
|
107
|
+
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → search consumers → write doc → next.
|
|
92
108
|
|
|
93
109
|
**Writing rules:**
|
|
94
110
|
|
|
@@ -107,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
|
|
|
107
123
|
|
|
108
124
|
Create `vdocs/_manifest.json` using the schema in `.agents/vdoc/manifest-schema.json`.
|
|
109
125
|
|
|
126
|
+
**Transfer the Fingerprint** from the exploration log into the manifest's top-level `fingerprint` object. This preserves the project identity metadata alongside the documentation inventory.
|
|
127
|
+
|
|
110
128
|
The `description` field is critical — write it rich enough that you can route any user question to the right doc by matching against descriptions. Include specific technology names, patterns, and concepts.
|
|
111
129
|
|
|
112
130
|
Example:
|
|
113
131
|
|
|
114
132
|
```json
|
|
115
133
|
{
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
134
|
+
"project": "my-project",
|
|
135
|
+
"fingerprint": {
|
|
136
|
+
"languages": ["TypeScript"],
|
|
137
|
+
"frameworks": ["Next.js 14", "Prisma", "NextAuth"],
|
|
138
|
+
"archetypes": ["Full-stack Framework"],
|
|
139
|
+
"scope": "~85 files, medium"
|
|
140
|
+
},
|
|
141
|
+
"documentation": [
|
|
142
|
+
{
|
|
143
|
+
"filepath": "AUTHENTICATION_DOC.md",
|
|
144
|
+
"title": "Authentication - OAuth2 & JWT",
|
|
145
|
+
"version": "1.0.0",
|
|
146
|
+
"description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
|
|
147
|
+
"tags": ["oauth2", "jwt", "session-management", "rbac"]
|
|
148
|
+
}
|
|
149
|
+
]
|
|
121
150
|
}
|
|
122
151
|
```
|
|
123
152
|
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
"created_at": "<ISO-8601>",
|
|
5
5
|
"last_updated": "<ISO-8601>",
|
|
6
6
|
"last_commit": "<short-sha>",
|
|
7
|
+
"fingerprint": {
|
|
8
|
+
"languages": ["<language>"],
|
|
9
|
+
"frameworks": ["<framework>"],
|
|
10
|
+
"archetypes": ["<archetype>"],
|
|
11
|
+
"scope": "<file-count-and-size-category>"
|
|
12
|
+
},
|
|
7
13
|
"documentation": [
|
|
8
14
|
{
|
|
9
15
|
"filepath": "FEATURE_NAME_DOC.md",
|
|
@@ -10,6 +10,7 @@ Use the user's description to find the relevant source files:
|
|
|
10
10
|
2. Otherwise, search the codebase with Glob and Grep to find files matching the user's description
|
|
11
11
|
3. Read ALL relevant source files — not just the main file, but helpers, types, middleware, tests, API routes, components
|
|
12
12
|
4. **Trace the end-to-end flow** — pick the primary user action and follow it through every layer: frontend → API route → service/lib → database → external service → response. Read each file in the chain. Don't stop at the service layer.
|
|
13
|
+
5. **Search for consumers** — grep for the feature's key types, table names, API endpoints, and module imports across the entire codebase. This catches secondary workflows (exports, scheduled jobs, webhooks, notifications, external automation) that live in different directories but depend on this feature. If you find consumers, read them and include those workflows in the doc.
|
|
13
14
|
|
|
14
15
|
Do not skim. Understand how the feature actually works before writing.
|
|
15
16
|
|
|
@@ -42,6 +42,15 @@ After exploring, write `vdocs/_exploration_log.md` documenting what you found:
|
|
|
42
42
|
| Prisma schema with 8 models | prisma/schema.prisma | DATA_MODEL_DOC.md |
|
|
43
43
|
| ... | ... | ... |
|
|
44
44
|
|
|
45
|
+
## Cross-Feature Dependencies
|
|
46
|
+
After identifying all feature signals, grep for imports/references between features to map which features consume each other's data, types, or APIs. This prevents missing secondary workflows during doc generation.
|
|
47
|
+
|
|
48
|
+
| Feature A | Feature B | Connection | Impact |
|
|
49
|
+
|-----------|-----------|------------|--------|
|
|
50
|
+
| Azure DevOps Integration | Google Sheets Export | Sheets exports work items fetched by Azure module | Azure doc must cover the export workflow |
|
|
51
|
+
| Auth (NextAuth) | All API routes | Every route uses auth middleware | Auth doc must list all protected routes |
|
|
52
|
+
| ... | ... | ... | ... |
|
|
53
|
+
|
|
45
54
|
## Ambiguities / Open Questions
|
|
46
55
|
- Could not determine why Redis is in dependencies — no usage found. Ask user.
|
|
47
56
|
- Payments folder exists but appears incomplete / WIP.
|
|
@@ -58,6 +67,12 @@ Use this format:
|
|
|
58
67
|
```markdown
|
|
59
68
|
# Documentation Plan
|
|
60
69
|
|
|
70
|
+
## Fingerprint
|
|
71
|
+
- **Language(s):** e.g., TypeScript, Python
|
|
72
|
+
- **Framework(s):** e.g., Next.js 14, FastAPI
|
|
73
|
+
- **Archetype(s):** e.g., Full-stack Framework
|
|
74
|
+
- **Scope:** e.g., ~85 files, medium
|
|
75
|
+
|
|
61
76
|
## Proposed Documents
|
|
62
77
|
|
|
63
78
|
1. **PROJECT_OVERVIEW_DOC.md** — Tech stack, architecture, project structure, dev setup
|
|
@@ -85,10 +100,11 @@ Then generate docs **one at a time, sequentially**. For each approved doc:
|
|
|
85
100
|
|
|
86
101
|
1. Read ALL relevant source files for that feature — not just the main file, but helpers, types, middleware, tests
|
|
87
102
|
2. **Trace the end-to-end flow** — pick the primary user action and follow it through every layer: frontend → API route → service/lib → database → external service → response. Read each file in the chain. Don't stop at the service layer.
|
|
88
|
-
3.
|
|
89
|
-
4.
|
|
103
|
+
3. **Search for consumers** — grep for the feature's key types, table names, API endpoints, and module imports across the entire codebase. This catches secondary workflows (exports, scheduled jobs, webhooks, notifications, external automation) that live in different directories but depend on this feature. If you find consumers, read them and include those workflows in the doc.
|
|
104
|
+
4. Write `vdocs/FEATURE_NAME_DOC.md` following the template exactly
|
|
105
|
+
5. Confirm the file was written before moving to the next doc
|
|
90
106
|
|
|
91
|
-
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → write doc → next.
|
|
107
|
+
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → search consumers → write doc → next.
|
|
92
108
|
|
|
93
109
|
**Writing rules:**
|
|
94
110
|
|
|
@@ -107,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
|
|
|
107
123
|
|
|
108
124
|
Create `vdocs/_manifest.json` using the schema in [manifest-schema.json](./manifest-schema.json).
|
|
109
125
|
|
|
126
|
+
**Transfer the Fingerprint** from the exploration log into the manifest's top-level `fingerprint` object. This preserves the project identity metadata alongside the documentation inventory.
|
|
127
|
+
|
|
110
128
|
The `description` field is critical — write it rich enough that you can route any user question to the right doc by matching against descriptions. Include specific technology names, patterns, and concepts.
|
|
111
129
|
|
|
112
130
|
Example:
|
|
113
131
|
|
|
114
132
|
```json
|
|
115
133
|
{
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
134
|
+
"project": "my-project",
|
|
135
|
+
"fingerprint": {
|
|
136
|
+
"languages": ["TypeScript"],
|
|
137
|
+
"frameworks": ["Next.js 14", "Prisma", "NextAuth"],
|
|
138
|
+
"archetypes": ["Full-stack Framework"],
|
|
139
|
+
"scope": "~85 files, medium"
|
|
140
|
+
},
|
|
141
|
+
"documentation": [
|
|
142
|
+
{
|
|
143
|
+
"filepath": "AUTHENTICATION_DOC.md",
|
|
144
|
+
"title": "Authentication - OAuth2 & JWT",
|
|
145
|
+
"version": "1.0.0",
|
|
146
|
+
"description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
|
|
147
|
+
"tags": ["oauth2", "jwt", "session-management", "rbac"]
|
|
148
|
+
}
|
|
149
|
+
]
|
|
121
150
|
}
|
|
122
151
|
```
|
|
123
152
|
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
"created_at": "<ISO-8601>",
|
|
5
5
|
"last_updated": "<ISO-8601>",
|
|
6
6
|
"last_commit": "<short-sha>",
|
|
7
|
+
"fingerprint": {
|
|
8
|
+
"languages": ["<language>"],
|
|
9
|
+
"frameworks": ["<framework>"],
|
|
10
|
+
"archetypes": ["<archetype>"],
|
|
11
|
+
"scope": "<file-count-and-size-category>"
|
|
12
|
+
},
|
|
7
13
|
"documentation": [
|
|
8
14
|
{
|
|
9
15
|
"filepath": "FEATURE_NAME_DOC.md",
|
|
@@ -42,6 +42,15 @@ After exploring, write `vdocs/_exploration_log.md` documenting what you found:
|
|
|
42
42
|
| Prisma schema with 8 models | prisma/schema.prisma | DATA_MODEL_DOC.md |
|
|
43
43
|
| ... | ... | ... |
|
|
44
44
|
|
|
45
|
+
## Cross-Feature Dependencies
|
|
46
|
+
After identifying all feature signals, grep for imports/references between features to map which features consume each other's data, types, or APIs. This prevents missing secondary workflows during doc generation.
|
|
47
|
+
|
|
48
|
+
| Feature A | Feature B | Connection | Impact |
|
|
49
|
+
|-----------|-----------|------------|--------|
|
|
50
|
+
| Azure DevOps Integration | Google Sheets Export | Sheets exports work items fetched by Azure module | Azure doc must cover the export workflow |
|
|
51
|
+
| Auth (NextAuth) | All API routes | Every route uses auth middleware | Auth doc must list all protected routes |
|
|
52
|
+
| ... | ... | ... | ... |
|
|
53
|
+
|
|
45
54
|
## Ambiguities / Open Questions
|
|
46
55
|
- Could not determine why Redis is in dependencies — no usage found. Ask user.
|
|
47
56
|
- Payments folder exists but appears incomplete / WIP.
|
|
@@ -58,6 +67,12 @@ Use this format:
|
|
|
58
67
|
```markdown
|
|
59
68
|
# Documentation Plan
|
|
60
69
|
|
|
70
|
+
## Fingerprint
|
|
71
|
+
- **Language(s):** e.g., TypeScript, Python
|
|
72
|
+
- **Framework(s):** e.g., Next.js 14, FastAPI
|
|
73
|
+
- **Archetype(s):** e.g., Full-stack Framework
|
|
74
|
+
- **Scope:** e.g., ~85 files, medium
|
|
75
|
+
|
|
61
76
|
## Proposed Documents
|
|
62
77
|
|
|
63
78
|
1. **PROJECT_OVERVIEW_DOC.md** — Tech stack, architecture, project structure, dev setup
|
|
@@ -85,10 +100,11 @@ Then generate docs **one at a time, sequentially**. For each approved doc:
|
|
|
85
100
|
|
|
86
101
|
1. Read ALL relevant source files for that feature — not just the main file, but helpers, types, middleware, tests
|
|
87
102
|
2. **Trace the end-to-end flow** — pick the primary user action and follow it through every layer: frontend → API route → service/lib → database → external service → response. Read each file in the chain. Don't stop at the service layer.
|
|
88
|
-
3.
|
|
89
|
-
4.
|
|
103
|
+
3. **Search for consumers** — grep for the feature's key types, table names, API endpoints, and module imports across the entire codebase. This catches secondary workflows (exports, scheduled jobs, webhooks, notifications, external automation) that live in different directories but depend on this feature. If you find consumers, read them and include those workflows in the doc.
|
|
104
|
+
4. Write `vdocs/FEATURE_NAME_DOC.md` following the template exactly
|
|
105
|
+
5. Confirm the file was written before moving to the next doc
|
|
90
106
|
|
|
91
|
-
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → write doc → next.
|
|
107
|
+
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → search consumers → write doc → next.
|
|
92
108
|
|
|
93
109
|
**Writing rules:**
|
|
94
110
|
|
|
@@ -107,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
|
|
|
107
123
|
|
|
108
124
|
Create `vdocs/_manifest.json` using the schema in `references/manifest-schema.json`.
|
|
109
125
|
|
|
126
|
+
**Transfer the Fingerprint** from the exploration log into the manifest's top-level `fingerprint` object. This preserves the project identity metadata alongside the documentation inventory.
|
|
127
|
+
|
|
110
128
|
The `description` field is critical — write it rich enough that you can route any user question to the right doc by matching against descriptions. Include specific technology names, patterns, and concepts.
|
|
111
129
|
|
|
112
130
|
Example:
|
|
113
131
|
|
|
114
132
|
```json
|
|
115
133
|
{
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
134
|
+
"project": "my-project",
|
|
135
|
+
"fingerprint": {
|
|
136
|
+
"languages": ["TypeScript"],
|
|
137
|
+
"frameworks": ["Next.js 14", "Prisma", "NextAuth"],
|
|
138
|
+
"archetypes": ["Full-stack Framework"],
|
|
139
|
+
"scope": "~85 files, medium"
|
|
140
|
+
},
|
|
141
|
+
"documentation": [
|
|
142
|
+
{
|
|
143
|
+
"filepath": "AUTHENTICATION_DOC.md",
|
|
144
|
+
"title": "Authentication - OAuth2 & JWT",
|
|
145
|
+
"version": "1.0.0",
|
|
146
|
+
"description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
|
|
147
|
+
"tags": ["oauth2", "jwt", "session-management", "rbac"]
|
|
148
|
+
}
|
|
149
|
+
]
|
|
121
150
|
}
|
|
122
151
|
```
|
|
123
152
|
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
"created_at": "<ISO-8601>",
|
|
5
5
|
"last_updated": "<ISO-8601>",
|
|
6
6
|
"last_commit": "<short-sha>",
|
|
7
|
+
"fingerprint": {
|
|
8
|
+
"languages": ["<language>"],
|
|
9
|
+
"frameworks": ["<framework>"],
|
|
10
|
+
"archetypes": ["<archetype>"],
|
|
11
|
+
"scope": "<file-count-and-size-category>"
|
|
12
|
+
},
|
|
7
13
|
"documentation": [
|
|
8
14
|
{
|
|
9
15
|
"filepath": "FEATURE_NAME_DOC.md",
|
|
@@ -42,6 +42,15 @@ After exploring, write `vdocs/_exploration_log.md` documenting what you found:
|
|
|
42
42
|
| Prisma schema with 8 models | prisma/schema.prisma | DATA_MODEL_DOC.md |
|
|
43
43
|
| ... | ... | ... |
|
|
44
44
|
|
|
45
|
+
## Cross-Feature Dependencies
|
|
46
|
+
After identifying all feature signals, grep for imports/references between features to map which features consume each other's data, types, or APIs. This prevents missing secondary workflows during doc generation.
|
|
47
|
+
|
|
48
|
+
| Feature A | Feature B | Connection | Impact |
|
|
49
|
+
|-----------|-----------|------------|--------|
|
|
50
|
+
| Azure DevOps Integration | Google Sheets Export | Sheets exports work items fetched by Azure module | Azure doc must cover the export workflow |
|
|
51
|
+
| Auth (NextAuth) | All API routes | Every route uses auth middleware | Auth doc must list all protected routes |
|
|
52
|
+
| ... | ... | ... | ... |
|
|
53
|
+
|
|
45
54
|
## Ambiguities / Open Questions
|
|
46
55
|
- Could not determine why Redis is in dependencies — no usage found. Ask user.
|
|
47
56
|
- Payments folder exists but appears incomplete / WIP.
|
|
@@ -58,6 +67,12 @@ Use this format:
|
|
|
58
67
|
```markdown
|
|
59
68
|
# Documentation Plan
|
|
60
69
|
|
|
70
|
+
## Fingerprint
|
|
71
|
+
- **Language(s):** e.g., TypeScript, Python
|
|
72
|
+
- **Framework(s):** e.g., Next.js 14, FastAPI
|
|
73
|
+
- **Archetype(s):** e.g., Full-stack Framework
|
|
74
|
+
- **Scope:** e.g., ~85 files, medium
|
|
75
|
+
|
|
61
76
|
## Proposed Documents
|
|
62
77
|
|
|
63
78
|
1. **PROJECT_OVERVIEW_DOC.md** — Tech stack, architecture, project structure, dev setup
|
|
@@ -85,10 +100,11 @@ Then generate docs **one at a time, sequentially**. For each approved doc:
|
|
|
85
100
|
|
|
86
101
|
1. Read ALL relevant source files for that feature — not just the main file, but helpers, types, middleware, tests
|
|
87
102
|
2. **Trace the end-to-end flow** — pick the primary user action and follow it through every layer: frontend → API route → service/lib → database → external service → response. Read each file in the chain. Don't stop at the service layer.
|
|
88
|
-
3.
|
|
89
|
-
4.
|
|
103
|
+
3. **Search for consumers** — grep for the feature's key types, table names, API endpoints, and module imports across the entire codebase. This catches secondary workflows (exports, scheduled jobs, webhooks, notifications, external automation) that live in different directories but depend on this feature. If you find consumers, read them and include those workflows in the doc.
|
|
104
|
+
4. Write `vdocs/FEATURE_NAME_DOC.md` following the template exactly
|
|
105
|
+
5. Confirm the file was written before moving to the next doc
|
|
90
106
|
|
|
91
|
-
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → write doc → next.
|
|
107
|
+
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → search consumers → write doc → next.
|
|
92
108
|
|
|
93
109
|
**Writing rules:**
|
|
94
110
|
|
|
@@ -107,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
|
|
|
107
123
|
|
|
108
124
|
Create `vdocs/_manifest.json` using the schema in `references/manifest-schema.json`.
|
|
109
125
|
|
|
126
|
+
**Transfer the Fingerprint** from the exploration log into the manifest's top-level `fingerprint` object. This preserves the project identity metadata alongside the documentation inventory.
|
|
127
|
+
|
|
110
128
|
The `description` field is critical — write it rich enough that you can route any user question to the right doc by matching against descriptions. Include specific technology names, patterns, and concepts.
|
|
111
129
|
|
|
112
130
|
Example:
|
|
113
131
|
|
|
114
132
|
```json
|
|
115
133
|
{
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
134
|
+
"project": "my-project",
|
|
135
|
+
"fingerprint": {
|
|
136
|
+
"languages": ["TypeScript"],
|
|
137
|
+
"frameworks": ["Next.js 14", "Prisma", "NextAuth"],
|
|
138
|
+
"archetypes": ["Full-stack Framework"],
|
|
139
|
+
"scope": "~85 files, medium"
|
|
140
|
+
},
|
|
141
|
+
"documentation": [
|
|
142
|
+
{
|
|
143
|
+
"filepath": "AUTHENTICATION_DOC.md",
|
|
144
|
+
"title": "Authentication - OAuth2 & JWT",
|
|
145
|
+
"version": "1.0.0",
|
|
146
|
+
"description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
|
|
147
|
+
"tags": ["oauth2", "jwt", "session-management", "rbac"]
|
|
148
|
+
}
|
|
149
|
+
]
|
|
121
150
|
}
|
|
122
151
|
```
|
|
123
152
|
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
"created_at": "<ISO-8601>",
|
|
5
5
|
"last_updated": "<ISO-8601>",
|
|
6
6
|
"last_commit": "<short-sha>",
|
|
7
|
+
"fingerprint": {
|
|
8
|
+
"languages": ["<language>"],
|
|
9
|
+
"frameworks": ["<framework>"],
|
|
10
|
+
"archetypes": ["<archetype>"],
|
|
11
|
+
"scope": "<file-count-and-size-category>"
|
|
12
|
+
},
|
|
7
13
|
"documentation": [
|
|
8
14
|
{
|
|
9
15
|
"filepath": "FEATURE_NAME_DOC.md",
|
|
@@ -42,6 +42,15 @@ After exploring, write `vdocs/_exploration_log.md` documenting what you found:
|
|
|
42
42
|
| Prisma schema with 8 models | prisma/schema.prisma | DATA_MODEL_DOC.md |
|
|
43
43
|
| ... | ... | ... |
|
|
44
44
|
|
|
45
|
+
## Cross-Feature Dependencies
|
|
46
|
+
After identifying all feature signals, grep for imports/references between features to map which features consume each other's data, types, or APIs. This prevents missing secondary workflows during doc generation.
|
|
47
|
+
|
|
48
|
+
| Feature A | Feature B | Connection | Impact |
|
|
49
|
+
|-----------|-----------|------------|--------|
|
|
50
|
+
| Azure DevOps Integration | Google Sheets Export | Sheets exports work items fetched by Azure module | Azure doc must cover the export workflow |
|
|
51
|
+
| Auth (NextAuth) | All API routes | Every route uses auth middleware | Auth doc must list all protected routes |
|
|
52
|
+
| ... | ... | ... | ... |
|
|
53
|
+
|
|
45
54
|
## Ambiguities / Open Questions
|
|
46
55
|
- Could not determine why Redis is in dependencies — no usage found. Ask user.
|
|
47
56
|
- Payments folder exists but appears incomplete / WIP.
|
|
@@ -58,6 +67,12 @@ Use this format:
|
|
|
58
67
|
```markdown
|
|
59
68
|
# Documentation Plan
|
|
60
69
|
|
|
70
|
+
## Fingerprint
|
|
71
|
+
- **Language(s):** e.g., TypeScript, Python
|
|
72
|
+
- **Framework(s):** e.g., Next.js 14, FastAPI
|
|
73
|
+
- **Archetype(s):** e.g., Full-stack Framework
|
|
74
|
+
- **Scope:** e.g., ~85 files, medium
|
|
75
|
+
|
|
61
76
|
## Proposed Documents
|
|
62
77
|
|
|
63
78
|
1. **PROJECT_OVERVIEW_DOC.md** — Tech stack, architecture, project structure, dev setup
|
|
@@ -85,10 +100,11 @@ Then generate docs **one at a time, sequentially**. For each approved doc:
|
|
|
85
100
|
|
|
86
101
|
1. Read ALL relevant source files for that feature — not just the main file, but helpers, types, middleware, tests
|
|
87
102
|
2. **Trace the end-to-end flow** — pick the primary user action and follow it through every layer: frontend → API route → service/lib → database → external service → response. Read each file in the chain. Don't stop at the service layer.
|
|
88
|
-
3.
|
|
89
|
-
4.
|
|
103
|
+
3. **Search for consumers** — grep for the feature's key types, table names, API endpoints, and module imports across the entire codebase. This catches secondary workflows (exports, scheduled jobs, webhooks, notifications, external automation) that live in different directories but depend on this feature. If you find consumers, read them and include those workflows in the doc.
|
|
104
|
+
4. Write `vdocs/FEATURE_NAME_DOC.md` following the template exactly
|
|
105
|
+
5. Confirm the file was written before moving to the next doc
|
|
90
106
|
|
|
91
|
-
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → write doc → next.
|
|
107
|
+
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → search consumers → write doc → next.
|
|
92
108
|
|
|
93
109
|
**Writing rules:**
|
|
94
110
|
|
|
@@ -107,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
|
|
|
107
123
|
|
|
108
124
|
Create `vdocs/_manifest.json` using the schema in `references/manifest-schema.json`.
|
|
109
125
|
|
|
126
|
+
**Transfer the Fingerprint** from the exploration log into the manifest's top-level `fingerprint` object. This preserves the project identity metadata alongside the documentation inventory.
|
|
127
|
+
|
|
110
128
|
The `description` field is critical — write it rich enough that you can route any user question to the right doc by matching against descriptions. Include specific technology names, patterns, and concepts.
|
|
111
129
|
|
|
112
130
|
Example:
|
|
113
131
|
|
|
114
132
|
```json
|
|
115
133
|
{
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
134
|
+
"project": "my-project",
|
|
135
|
+
"fingerprint": {
|
|
136
|
+
"languages": ["TypeScript"],
|
|
137
|
+
"frameworks": ["Next.js 14", "Prisma", "NextAuth"],
|
|
138
|
+
"archetypes": ["Full-stack Framework"],
|
|
139
|
+
"scope": "~85 files, medium"
|
|
140
|
+
},
|
|
141
|
+
"documentation": [
|
|
142
|
+
{
|
|
143
|
+
"filepath": "AUTHENTICATION_DOC.md",
|
|
144
|
+
"title": "Authentication - OAuth2 & JWT",
|
|
145
|
+
"version": "1.0.0",
|
|
146
|
+
"description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
|
|
147
|
+
"tags": ["oauth2", "jwt", "session-management", "rbac"]
|
|
148
|
+
}
|
|
149
|
+
]
|
|
121
150
|
}
|
|
122
151
|
```
|
|
123
152
|
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
"created_at": "<ISO-8601>",
|
|
5
5
|
"last_updated": "<ISO-8601>",
|
|
6
6
|
"last_commit": "<short-sha>",
|
|
7
|
+
"fingerprint": {
|
|
8
|
+
"languages": ["<language>"],
|
|
9
|
+
"frameworks": ["<framework>"],
|
|
10
|
+
"archetypes": ["<archetype>"],
|
|
11
|
+
"scope": "<file-count-and-size-category>"
|
|
12
|
+
},
|
|
7
13
|
"documentation": [
|
|
8
14
|
{
|
|
9
15
|
"filepath": "FEATURE_NAME_DOC.md",
|
|
@@ -42,6 +42,15 @@ After exploring, write `vdocs/_exploration_log.md` documenting what you found:
|
|
|
42
42
|
| Prisma schema with 8 models | prisma/schema.prisma | DATA_MODEL_DOC.md |
|
|
43
43
|
| ... | ... | ... |
|
|
44
44
|
|
|
45
|
+
## Cross-Feature Dependencies
|
|
46
|
+
After identifying all feature signals, grep for imports/references between features to map which features consume each other's data, types, or APIs. This prevents missing secondary workflows during doc generation.
|
|
47
|
+
|
|
48
|
+
| Feature A | Feature B | Connection | Impact |
|
|
49
|
+
|-----------|-----------|------------|--------|
|
|
50
|
+
| Azure DevOps Integration | Google Sheets Export | Sheets exports work items fetched by Azure module | Azure doc must cover the export workflow |
|
|
51
|
+
| Auth (NextAuth) | All API routes | Every route uses auth middleware | Auth doc must list all protected routes |
|
|
52
|
+
| ... | ... | ... | ... |
|
|
53
|
+
|
|
45
54
|
## Ambiguities / Open Questions
|
|
46
55
|
- Could not determine why Redis is in dependencies — no usage found. Ask user.
|
|
47
56
|
- Payments folder exists but appears incomplete / WIP.
|
|
@@ -58,6 +67,12 @@ Use this format:
|
|
|
58
67
|
```markdown
|
|
59
68
|
# Documentation Plan
|
|
60
69
|
|
|
70
|
+
## Fingerprint
|
|
71
|
+
- **Language(s):** e.g., TypeScript, Python
|
|
72
|
+
- **Framework(s):** e.g., Next.js 14, FastAPI
|
|
73
|
+
- **Archetype(s):** e.g., Full-stack Framework
|
|
74
|
+
- **Scope:** e.g., ~85 files, medium
|
|
75
|
+
|
|
61
76
|
## Proposed Documents
|
|
62
77
|
|
|
63
78
|
1. **PROJECT_OVERVIEW_DOC.md** — Tech stack, architecture, project structure, dev setup
|
|
@@ -85,10 +100,11 @@ Then generate docs **one at a time, sequentially**. For each approved doc:
|
|
|
85
100
|
|
|
86
101
|
1. Read ALL relevant source files for that feature — not just the main file, but helpers, types, middleware, tests
|
|
87
102
|
2. **Trace the end-to-end flow** — pick the primary user action and follow it through every layer: frontend → API route → service/lib → database → external service → response. Read each file in the chain. Don't stop at the service layer.
|
|
88
|
-
3.
|
|
89
|
-
4.
|
|
103
|
+
3. **Search for consumers** — grep for the feature's key types, table names, API endpoints, and module imports across the entire codebase. This catches secondary workflows (exports, scheduled jobs, webhooks, notifications, external automation) that live in different directories but depend on this feature. If you find consumers, read them and include those workflows in the doc.
|
|
104
|
+
4. Write `vdocs/FEATURE_NAME_DOC.md` following the template exactly
|
|
105
|
+
5. Confirm the file was written before moving to the next doc
|
|
90
106
|
|
|
91
|
-
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → write doc → next.
|
|
107
|
+
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → search consumers → write doc → next.
|
|
92
108
|
|
|
93
109
|
**Writing rules:**
|
|
94
110
|
|
|
@@ -107,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
|
|
|
107
123
|
|
|
108
124
|
Create `vdocs/_manifest.json` using the schema in `.gemini/vdoc/manifest-schema.json`.
|
|
109
125
|
|
|
126
|
+
**Transfer the Fingerprint** from the exploration log into the manifest's top-level `fingerprint` object. This preserves the project identity metadata alongside the documentation inventory.
|
|
127
|
+
|
|
110
128
|
The `description` field is critical — write it rich enough that you can route any user question to the right doc by matching against descriptions. Include specific technology names, patterns, and concepts.
|
|
111
129
|
|
|
112
130
|
Example:
|
|
113
131
|
|
|
114
132
|
```json
|
|
115
133
|
{
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
134
|
+
"project": "my-project",
|
|
135
|
+
"fingerprint": {
|
|
136
|
+
"languages": ["TypeScript"],
|
|
137
|
+
"frameworks": ["Next.js 14", "Prisma", "NextAuth"],
|
|
138
|
+
"archetypes": ["Full-stack Framework"],
|
|
139
|
+
"scope": "~85 files, medium"
|
|
140
|
+
},
|
|
141
|
+
"documentation": [
|
|
142
|
+
{
|
|
143
|
+
"filepath": "AUTHENTICATION_DOC.md",
|
|
144
|
+
"title": "Authentication - OAuth2 & JWT",
|
|
145
|
+
"version": "1.0.0",
|
|
146
|
+
"description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
|
|
147
|
+
"tags": ["oauth2", "jwt", "session-management", "rbac"]
|
|
148
|
+
}
|
|
149
|
+
]
|
|
121
150
|
}
|
|
122
151
|
```
|
|
123
152
|
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
"created_at": "<ISO-8601>",
|
|
5
5
|
"last_updated": "<ISO-8601>",
|
|
6
6
|
"last_commit": "<short-sha>",
|
|
7
|
+
"fingerprint": {
|
|
8
|
+
"languages": ["<language>"],
|
|
9
|
+
"frameworks": ["<framework>"],
|
|
10
|
+
"archetypes": ["<archetype>"],
|
|
11
|
+
"scope": "<file-count-and-size-category>"
|
|
12
|
+
},
|
|
7
13
|
"documentation": [
|
|
8
14
|
{
|
|
9
15
|
"filepath": "FEATURE_NAME_DOC.md",
|
|
@@ -42,6 +42,15 @@ After exploring, write `vdocs/_exploration_log.md` documenting what you found:
|
|
|
42
42
|
| Prisma schema with 8 models | prisma/schema.prisma | DATA_MODEL_DOC.md |
|
|
43
43
|
| ... | ... | ... |
|
|
44
44
|
|
|
45
|
+
## Cross-Feature Dependencies
|
|
46
|
+
After identifying all feature signals, grep for imports/references between features to map which features consume each other's data, types, or APIs. This prevents missing secondary workflows during doc generation.
|
|
47
|
+
|
|
48
|
+
| Feature A | Feature B | Connection | Impact |
|
|
49
|
+
|-----------|-----------|------------|--------|
|
|
50
|
+
| Azure DevOps Integration | Google Sheets Export | Sheets exports work items fetched by Azure module | Azure doc must cover the export workflow |
|
|
51
|
+
| Auth (NextAuth) | All API routes | Every route uses auth middleware | Auth doc must list all protected routes |
|
|
52
|
+
| ... | ... | ... | ... |
|
|
53
|
+
|
|
45
54
|
## Ambiguities / Open Questions
|
|
46
55
|
- Could not determine why Redis is in dependencies — no usage found. Ask user.
|
|
47
56
|
- Payments folder exists but appears incomplete / WIP.
|
|
@@ -58,6 +67,12 @@ Use this format:
|
|
|
58
67
|
```markdown
|
|
59
68
|
# Documentation Plan
|
|
60
69
|
|
|
70
|
+
## Fingerprint
|
|
71
|
+
- **Language(s):** e.g., TypeScript, Python
|
|
72
|
+
- **Framework(s):** e.g., Next.js 14, FastAPI
|
|
73
|
+
- **Archetype(s):** e.g., Full-stack Framework
|
|
74
|
+
- **Scope:** e.g., ~85 files, medium
|
|
75
|
+
|
|
61
76
|
## Proposed Documents
|
|
62
77
|
|
|
63
78
|
1. **PROJECT_OVERVIEW_DOC.md** — Tech stack, architecture, project structure, dev setup
|
|
@@ -85,10 +100,11 @@ Then generate docs **one at a time, sequentially**. For each approved doc:
|
|
|
85
100
|
|
|
86
101
|
1. Read ALL relevant source files for that feature — not just the main file, but helpers, types, middleware, tests
|
|
87
102
|
2. **Trace the end-to-end flow** — pick the primary user action and follow it through every layer: frontend → API route → service/lib → database → external service → response. Read each file in the chain. Don't stop at the service layer.
|
|
88
|
-
3.
|
|
89
|
-
4.
|
|
103
|
+
3. **Search for consumers** — grep for the feature's key types, table names, API endpoints, and module imports across the entire codebase. This catches secondary workflows (exports, scheduled jobs, webhooks, notifications, external automation) that live in different directories but depend on this feature. If you find consumers, read them and include those workflows in the doc.
|
|
104
|
+
4. Write `vdocs/FEATURE_NAME_DOC.md` following the template exactly
|
|
105
|
+
5. Confirm the file was written before moving to the next doc
|
|
90
106
|
|
|
91
|
-
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → write doc → next.
|
|
107
|
+
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → search consumers → write doc → next.
|
|
92
108
|
|
|
93
109
|
**Writing rules:**
|
|
94
110
|
|
|
@@ -107,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
|
|
|
107
123
|
|
|
108
124
|
Create `vdocs/_manifest.json` using the schema in `.aiassistant/vdoc/manifest-schema.json`.
|
|
109
125
|
|
|
126
|
+
**Transfer the Fingerprint** from the exploration log into the manifest's top-level `fingerprint` object. This preserves the project identity metadata alongside the documentation inventory.
|
|
127
|
+
|
|
110
128
|
The `description` field is critical — write it rich enough that you can route any user question to the right doc by matching against descriptions. Include specific technology names, patterns, and concepts.
|
|
111
129
|
|
|
112
130
|
Example:
|
|
113
131
|
|
|
114
132
|
```json
|
|
115
133
|
{
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
134
|
+
"project": "my-project",
|
|
135
|
+
"fingerprint": {
|
|
136
|
+
"languages": ["TypeScript"],
|
|
137
|
+
"frameworks": ["Next.js 14", "Prisma", "NextAuth"],
|
|
138
|
+
"archetypes": ["Full-stack Framework"],
|
|
139
|
+
"scope": "~85 files, medium"
|
|
140
|
+
},
|
|
141
|
+
"documentation": [
|
|
142
|
+
{
|
|
143
|
+
"filepath": "AUTHENTICATION_DOC.md",
|
|
144
|
+
"title": "Authentication - OAuth2 & JWT",
|
|
145
|
+
"version": "1.0.0",
|
|
146
|
+
"description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
|
|
147
|
+
"tags": ["oauth2", "jwt", "session-management", "rbac"]
|
|
148
|
+
}
|
|
149
|
+
]
|
|
121
150
|
}
|
|
122
151
|
```
|
|
123
152
|
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
"created_at": "<ISO-8601>",
|
|
5
5
|
"last_updated": "<ISO-8601>",
|
|
6
6
|
"last_commit": "<short-sha>",
|
|
7
|
+
"fingerprint": {
|
|
8
|
+
"languages": ["<language>"],
|
|
9
|
+
"frameworks": ["<framework>"],
|
|
10
|
+
"archetypes": ["<archetype>"],
|
|
11
|
+
"scope": "<file-count-and-size-category>"
|
|
12
|
+
},
|
|
7
13
|
"documentation": [
|
|
8
14
|
{
|
|
9
15
|
"filepath": "FEATURE_NAME_DOC.md",
|
|
@@ -42,6 +42,15 @@ After exploring, write `vdocs/_exploration_log.md` documenting what you found:
|
|
|
42
42
|
| Prisma schema with 8 models | prisma/schema.prisma | DATA_MODEL_DOC.md |
|
|
43
43
|
| ... | ... | ... |
|
|
44
44
|
|
|
45
|
+
## Cross-Feature Dependencies
|
|
46
|
+
After identifying all feature signals, grep for imports/references between features to map which features consume each other's data, types, or APIs. This prevents missing secondary workflows during doc generation.
|
|
47
|
+
|
|
48
|
+
| Feature A | Feature B | Connection | Impact |
|
|
49
|
+
|-----------|-----------|------------|--------|
|
|
50
|
+
| Azure DevOps Integration | Google Sheets Export | Sheets exports work items fetched by Azure module | Azure doc must cover the export workflow |
|
|
51
|
+
| Auth (NextAuth) | All API routes | Every route uses auth middleware | Auth doc must list all protected routes |
|
|
52
|
+
| ... | ... | ... | ... |
|
|
53
|
+
|
|
45
54
|
## Ambiguities / Open Questions
|
|
46
55
|
- Could not determine why Redis is in dependencies — no usage found. Ask user.
|
|
47
56
|
- Payments folder exists but appears incomplete / WIP.
|
|
@@ -58,6 +67,12 @@ Use this format:
|
|
|
58
67
|
```markdown
|
|
59
68
|
# Documentation Plan
|
|
60
69
|
|
|
70
|
+
## Fingerprint
|
|
71
|
+
- **Language(s):** e.g., TypeScript, Python
|
|
72
|
+
- **Framework(s):** e.g., Next.js 14, FastAPI
|
|
73
|
+
- **Archetype(s):** e.g., Full-stack Framework
|
|
74
|
+
- **Scope:** e.g., ~85 files, medium
|
|
75
|
+
|
|
61
76
|
## Proposed Documents
|
|
62
77
|
|
|
63
78
|
1. **PROJECT_OVERVIEW_DOC.md** — Tech stack, architecture, project structure, dev setup
|
|
@@ -85,10 +100,11 @@ Then generate docs **one at a time, sequentially**. For each approved doc:
|
|
|
85
100
|
|
|
86
101
|
1. Read ALL relevant source files for that feature — not just the main file, but helpers, types, middleware, tests
|
|
87
102
|
2. **Trace the end-to-end flow** — pick the primary user action and follow it through every layer: frontend → API route → service/lib → database → external service → response. Read each file in the chain. Don't stop at the service layer.
|
|
88
|
-
3.
|
|
89
|
-
4.
|
|
103
|
+
3. **Search for consumers** — grep for the feature's key types, table names, API endpoints, and module imports across the entire codebase. This catches secondary workflows (exports, scheduled jobs, webhooks, notifications, external automation) that live in different directories but depend on this feature. If you find consumers, read them and include those workflows in the doc.
|
|
104
|
+
4. Write `vdocs/FEATURE_NAME_DOC.md` following the template exactly
|
|
105
|
+
5. Confirm the file was written before moving to the next doc
|
|
90
106
|
|
|
91
|
-
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → write doc → next.
|
|
107
|
+
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → search consumers → write doc → next.
|
|
92
108
|
|
|
93
109
|
**Writing rules:**
|
|
94
110
|
|
|
@@ -107,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
|
|
|
107
123
|
|
|
108
124
|
Create `vdocs/_manifest.json` using the schema in `.junie/vdoc/manifest-schema.json`.
|
|
109
125
|
|
|
126
|
+
**Transfer the Fingerprint** from the exploration log into the manifest's top-level `fingerprint` object. This preserves the project identity metadata alongside the documentation inventory.
|
|
127
|
+
|
|
110
128
|
The `description` field is critical — write it rich enough that you can route any user question to the right doc by matching against descriptions. Include specific technology names, patterns, and concepts.
|
|
111
129
|
|
|
112
130
|
Example:
|
|
113
131
|
|
|
114
132
|
```json
|
|
115
133
|
{
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
134
|
+
"project": "my-project",
|
|
135
|
+
"fingerprint": {
|
|
136
|
+
"languages": ["TypeScript"],
|
|
137
|
+
"frameworks": ["Next.js 14", "Prisma", "NextAuth"],
|
|
138
|
+
"archetypes": ["Full-stack Framework"],
|
|
139
|
+
"scope": "~85 files, medium"
|
|
140
|
+
},
|
|
141
|
+
"documentation": [
|
|
142
|
+
{
|
|
143
|
+
"filepath": "AUTHENTICATION_DOC.md",
|
|
144
|
+
"title": "Authentication - OAuth2 & JWT",
|
|
145
|
+
"version": "1.0.0",
|
|
146
|
+
"description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
|
|
147
|
+
"tags": ["oauth2", "jwt", "session-management", "rbac"]
|
|
148
|
+
}
|
|
149
|
+
]
|
|
121
150
|
}
|
|
122
151
|
```
|
|
123
152
|
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
"created_at": "<ISO-8601>",
|
|
5
5
|
"last_updated": "<ISO-8601>",
|
|
6
6
|
"last_commit": "<short-sha>",
|
|
7
|
+
"fingerprint": {
|
|
8
|
+
"languages": ["<language>"],
|
|
9
|
+
"frameworks": ["<framework>"],
|
|
10
|
+
"archetypes": ["<archetype>"],
|
|
11
|
+
"scope": "<file-count-and-size-category>"
|
|
12
|
+
},
|
|
7
13
|
"documentation": [
|
|
8
14
|
{
|
|
9
15
|
"filepath": "FEATURE_NAME_DOC.md",
|
|
@@ -42,6 +42,15 @@ After exploring, write `vdocs/_exploration_log.md` documenting what you found:
|
|
|
42
42
|
| Prisma schema with 8 models | prisma/schema.prisma | DATA_MODEL_DOC.md |
|
|
43
43
|
| ... | ... | ... |
|
|
44
44
|
|
|
45
|
+
## Cross-Feature Dependencies
|
|
46
|
+
After identifying all feature signals, grep for imports/references between features to map which features consume each other's data, types, or APIs. This prevents missing secondary workflows during doc generation.
|
|
47
|
+
|
|
48
|
+
| Feature A | Feature B | Connection | Impact |
|
|
49
|
+
|-----------|-----------|------------|--------|
|
|
50
|
+
| Azure DevOps Integration | Google Sheets Export | Sheets exports work items fetched by Azure module | Azure doc must cover the export workflow |
|
|
51
|
+
| Auth (NextAuth) | All API routes | Every route uses auth middleware | Auth doc must list all protected routes |
|
|
52
|
+
| ... | ... | ... | ... |
|
|
53
|
+
|
|
45
54
|
## Ambiguities / Open Questions
|
|
46
55
|
- Could not determine why Redis is in dependencies — no usage found. Ask user.
|
|
47
56
|
- Payments folder exists but appears incomplete / WIP.
|
|
@@ -58,6 +67,12 @@ Use this format:
|
|
|
58
67
|
```markdown
|
|
59
68
|
# Documentation Plan
|
|
60
69
|
|
|
70
|
+
## Fingerprint
|
|
71
|
+
- **Language(s):** e.g., TypeScript, Python
|
|
72
|
+
- **Framework(s):** e.g., Next.js 14, FastAPI
|
|
73
|
+
- **Archetype(s):** e.g., Full-stack Framework
|
|
74
|
+
- **Scope:** e.g., ~85 files, medium
|
|
75
|
+
|
|
61
76
|
## Proposed Documents
|
|
62
77
|
|
|
63
78
|
1. **PROJECT_OVERVIEW_DOC.md** — Tech stack, architecture, project structure, dev setup
|
|
@@ -85,10 +100,11 @@ Then generate docs **one at a time, sequentially**. For each approved doc:
|
|
|
85
100
|
|
|
86
101
|
1. Read ALL relevant source files for that feature — not just the main file, but helpers, types, middleware, tests
|
|
87
102
|
2. **Trace the end-to-end flow** — pick the primary user action and follow it through every layer: frontend → API route → service/lib → database → external service → response. Read each file in the chain. Don't stop at the service layer.
|
|
88
|
-
3.
|
|
89
|
-
4.
|
|
103
|
+
3. **Search for consumers** — grep for the feature's key types, table names, API endpoints, and module imports across the entire codebase. This catches secondary workflows (exports, scheduled jobs, webhooks, notifications, external automation) that live in different directories but depend on this feature. If you find consumers, read them and include those workflows in the doc.
|
|
104
|
+
4. Write `vdocs/FEATURE_NAME_DOC.md` following the template exactly
|
|
105
|
+
5. Confirm the file was written before moving to the next doc
|
|
90
106
|
|
|
91
|
-
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → write doc → next.
|
|
107
|
+
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → search consumers → write doc → next.
|
|
92
108
|
|
|
93
109
|
**Writing rules:**
|
|
94
110
|
|
|
@@ -107,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
|
|
|
107
123
|
|
|
108
124
|
Create `vdocs/_manifest.json` using the schema in [manifest-schema.json](./manifest-schema.json).
|
|
109
125
|
|
|
126
|
+
**Transfer the Fingerprint** from the exploration log into the manifest's top-level `fingerprint` object. This preserves the project identity metadata alongside the documentation inventory.
|
|
127
|
+
|
|
110
128
|
The `description` field is critical — write it rich enough that you can route any user question to the right doc by matching against descriptions. Include specific technology names, patterns, and concepts.
|
|
111
129
|
|
|
112
130
|
Example:
|
|
113
131
|
|
|
114
132
|
```json
|
|
115
133
|
{
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
134
|
+
"project": "my-project",
|
|
135
|
+
"fingerprint": {
|
|
136
|
+
"languages": ["TypeScript"],
|
|
137
|
+
"frameworks": ["Next.js 14", "Prisma", "NextAuth"],
|
|
138
|
+
"archetypes": ["Full-stack Framework"],
|
|
139
|
+
"scope": "~85 files, medium"
|
|
140
|
+
},
|
|
141
|
+
"documentation": [
|
|
142
|
+
{
|
|
143
|
+
"filepath": "AUTHENTICATION_DOC.md",
|
|
144
|
+
"title": "Authentication - OAuth2 & JWT",
|
|
145
|
+
"version": "1.0.0",
|
|
146
|
+
"description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
|
|
147
|
+
"tags": ["oauth2", "jwt", "session-management", "rbac"]
|
|
148
|
+
}
|
|
149
|
+
]
|
|
121
150
|
}
|
|
122
151
|
```
|
|
123
152
|
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
"created_at": "<ISO-8601>",
|
|
5
5
|
"last_updated": "<ISO-8601>",
|
|
6
6
|
"last_commit": "<short-sha>",
|
|
7
|
+
"fingerprint": {
|
|
8
|
+
"languages": ["<language>"],
|
|
9
|
+
"frameworks": ["<framework>"],
|
|
10
|
+
"archetypes": ["<archetype>"],
|
|
11
|
+
"scope": "<file-count-and-size-category>"
|
|
12
|
+
},
|
|
7
13
|
"documentation": [
|
|
8
14
|
{
|
|
9
15
|
"filepath": "FEATURE_NAME_DOC.md",
|
|
@@ -42,6 +42,15 @@ After exploring, write `vdocs/_exploration_log.md` documenting what you found:
|
|
|
42
42
|
| Prisma schema with 8 models | prisma/schema.prisma | DATA_MODEL_DOC.md |
|
|
43
43
|
| ... | ... | ... |
|
|
44
44
|
|
|
45
|
+
## Cross-Feature Dependencies
|
|
46
|
+
After identifying all feature signals, grep for imports/references between features to map which features consume each other's data, types, or APIs. This prevents missing secondary workflows during doc generation.
|
|
47
|
+
|
|
48
|
+
| Feature A | Feature B | Connection | Impact |
|
|
49
|
+
|-----------|-----------|------------|--------|
|
|
50
|
+
| Azure DevOps Integration | Google Sheets Export | Sheets exports work items fetched by Azure module | Azure doc must cover the export workflow |
|
|
51
|
+
| Auth (NextAuth) | All API routes | Every route uses auth middleware | Auth doc must list all protected routes |
|
|
52
|
+
| ... | ... | ... | ... |
|
|
53
|
+
|
|
45
54
|
## Ambiguities / Open Questions
|
|
46
55
|
- Could not determine why Redis is in dependencies — no usage found. Ask user.
|
|
47
56
|
- Payments folder exists but appears incomplete / WIP.
|
|
@@ -58,6 +67,12 @@ Use this format:
|
|
|
58
67
|
```markdown
|
|
59
68
|
# Documentation Plan
|
|
60
69
|
|
|
70
|
+
## Fingerprint
|
|
71
|
+
- **Language(s):** e.g., TypeScript, Python
|
|
72
|
+
- **Framework(s):** e.g., Next.js 14, FastAPI
|
|
73
|
+
- **Archetype(s):** e.g., Full-stack Framework
|
|
74
|
+
- **Scope:** e.g., ~85 files, medium
|
|
75
|
+
|
|
61
76
|
## Proposed Documents
|
|
62
77
|
|
|
63
78
|
1. **PROJECT_OVERVIEW_DOC.md** — Tech stack, architecture, project structure, dev setup
|
|
@@ -85,10 +100,11 @@ Then generate docs **one at a time, sequentially**. For each approved doc:
|
|
|
85
100
|
|
|
86
101
|
1. Read ALL relevant source files for that feature — not just the main file, but helpers, types, middleware, tests
|
|
87
102
|
2. **Trace the end-to-end flow** — pick the primary user action and follow it through every layer: frontend → API route → service/lib → database → external service → response. Read each file in the chain. Don't stop at the service layer.
|
|
88
|
-
3.
|
|
89
|
-
4.
|
|
103
|
+
3. **Search for consumers** — grep for the feature's key types, table names, API endpoints, and module imports across the entire codebase. This catches secondary workflows (exports, scheduled jobs, webhooks, notifications, external automation) that live in different directories but depend on this feature. If you find consumers, read them and include those workflows in the doc.
|
|
104
|
+
4. Write `vdocs/FEATURE_NAME_DOC.md` following the template exactly
|
|
105
|
+
5. Confirm the file was written before moving to the next doc
|
|
90
106
|
|
|
91
|
-
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → write doc → next.
|
|
107
|
+
Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle: read sources → trace flows → search consumers → write doc → next.
|
|
92
108
|
|
|
93
109
|
**Writing rules:**
|
|
94
110
|
|
|
@@ -107,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
|
|
|
107
123
|
|
|
108
124
|
Create `vdocs/_manifest.json` using the schema in `resources/manifest-schema.json`.
|
|
109
125
|
|
|
126
|
+
**Transfer the Fingerprint** from the exploration log into the manifest's top-level `fingerprint` object. This preserves the project identity metadata alongside the documentation inventory.
|
|
127
|
+
|
|
110
128
|
The `description` field is critical — write it rich enough that you can route any user question to the right doc by matching against descriptions. Include specific technology names, patterns, and concepts.
|
|
111
129
|
|
|
112
130
|
Example:
|
|
113
131
|
|
|
114
132
|
```json
|
|
115
133
|
{
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
134
|
+
"project": "my-project",
|
|
135
|
+
"fingerprint": {
|
|
136
|
+
"languages": ["TypeScript"],
|
|
137
|
+
"frameworks": ["Next.js 14", "Prisma", "NextAuth"],
|
|
138
|
+
"archetypes": ["Full-stack Framework"],
|
|
139
|
+
"scope": "~85 files, medium"
|
|
140
|
+
},
|
|
141
|
+
"documentation": [
|
|
142
|
+
{
|
|
143
|
+
"filepath": "AUTHENTICATION_DOC.md",
|
|
144
|
+
"title": "Authentication - OAuth2 & JWT",
|
|
145
|
+
"version": "1.0.0",
|
|
146
|
+
"description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
|
|
147
|
+
"tags": ["oauth2", "jwt", "session-management", "rbac"]
|
|
148
|
+
}
|
|
149
|
+
]
|
|
121
150
|
}
|
|
122
151
|
```
|
|
123
152
|
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
"created_at": "<ISO-8601>",
|
|
5
5
|
"last_updated": "<ISO-8601>",
|
|
6
6
|
"last_commit": "<short-sha>",
|
|
7
|
+
"fingerprint": {
|
|
8
|
+
"languages": ["<language>"],
|
|
9
|
+
"frameworks": ["<framework>"],
|
|
10
|
+
"archetypes": ["<archetype>"],
|
|
11
|
+
"scope": "<file-count-and-size-category>"
|
|
12
|
+
},
|
|
7
13
|
"documentation": [
|
|
8
14
|
{
|
|
9
15
|
"filepath": "FEATURE_NAME_DOC.md",
|