@sandrinio/vdoc 3.7.1 → 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 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sandrinio/vdoc",
3
- "version": "3.7.1",
3
+ "version": "3.8.0",
4
4
  "description": "Documentation skills for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {
@@ -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
@@ -108,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
108
123
 
109
124
  Create `vdocs/_manifest.json` using the schema in `.agents/vdoc/manifest-schema.json`.
110
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
+
111
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.
112
129
 
113
130
  Example:
114
131
 
115
132
  ```json
116
133
  {
117
- "filepath": "AUTHENTICATION_DOC.md",
118
- "title": "Authentication - OAuth2 & JWT",
119
- "version": "1.0.0",
120
- "description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
121
- "tags": ["oauth2", "jwt", "session-management", "rbac"]
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
+ ]
122
150
  }
123
151
  ```
124
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
@@ -108,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
108
123
 
109
124
  Create `vdocs/_manifest.json` using the schema in [manifest-schema.json](./manifest-schema.json).
110
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
+
111
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.
112
129
 
113
130
  Example:
114
131
 
115
132
  ```json
116
133
  {
117
- "filepath": "AUTHENTICATION_DOC.md",
118
- "title": "Authentication - OAuth2 & JWT",
119
- "version": "1.0.0",
120
- "description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
121
- "tags": ["oauth2", "jwt", "session-management", "rbac"]
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
+ ]
122
150
  }
123
151
  ```
124
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
@@ -108,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
108
123
 
109
124
  Create `vdocs/_manifest.json` using the schema in `references/manifest-schema.json`.
110
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
+
111
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.
112
129
 
113
130
  Example:
114
131
 
115
132
  ```json
116
133
  {
117
- "filepath": "AUTHENTICATION_DOC.md",
118
- "title": "Authentication - OAuth2 & JWT",
119
- "version": "1.0.0",
120
- "description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
121
- "tags": ["oauth2", "jwt", "session-management", "rbac"]
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
+ ]
122
150
  }
123
151
  ```
124
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
@@ -108,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
108
123
 
109
124
  Create `vdocs/_manifest.json` using the schema in `references/manifest-schema.json`.
110
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
+
111
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.
112
129
 
113
130
  Example:
114
131
 
115
132
  ```json
116
133
  {
117
- "filepath": "AUTHENTICATION_DOC.md",
118
- "title": "Authentication - OAuth2 & JWT",
119
- "version": "1.0.0",
120
- "description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
121
- "tags": ["oauth2", "jwt", "session-management", "rbac"]
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
+ ]
122
150
  }
123
151
  ```
124
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
@@ -108,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
108
123
 
109
124
  Create `vdocs/_manifest.json` using the schema in `references/manifest-schema.json`.
110
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
+
111
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.
112
129
 
113
130
  Example:
114
131
 
115
132
  ```json
116
133
  {
117
- "filepath": "AUTHENTICATION_DOC.md",
118
- "title": "Authentication - OAuth2 & JWT",
119
- "version": "1.0.0",
120
- "description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
121
- "tags": ["oauth2", "jwt", "session-management", "rbac"]
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
+ ]
122
150
  }
123
151
  ```
124
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
@@ -108,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
108
123
 
109
124
  Create `vdocs/_manifest.json` using the schema in `.gemini/vdoc/manifest-schema.json`.
110
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
+
111
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.
112
129
 
113
130
  Example:
114
131
 
115
132
  ```json
116
133
  {
117
- "filepath": "AUTHENTICATION_DOC.md",
118
- "title": "Authentication - OAuth2 & JWT",
119
- "version": "1.0.0",
120
- "description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
121
- "tags": ["oauth2", "jwt", "session-management", "rbac"]
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
+ ]
122
150
  }
123
151
  ```
124
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
@@ -108,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
108
123
 
109
124
  Create `vdocs/_manifest.json` using the schema in `.aiassistant/vdoc/manifest-schema.json`.
110
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
+
111
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.
112
129
 
113
130
  Example:
114
131
 
115
132
  ```json
116
133
  {
117
- "filepath": "AUTHENTICATION_DOC.md",
118
- "title": "Authentication - OAuth2 & JWT",
119
- "version": "1.0.0",
120
- "description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
121
- "tags": ["oauth2", "jwt", "session-management", "rbac"]
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
+ ]
122
150
  }
123
151
  ```
124
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
@@ -108,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
108
123
 
109
124
  Create `vdocs/_manifest.json` using the schema in `.junie/vdoc/manifest-schema.json`.
110
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
+
111
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.
112
129
 
113
130
  Example:
114
131
 
115
132
  ```json
116
133
  {
117
- "filepath": "AUTHENTICATION_DOC.md",
118
- "title": "Authentication - OAuth2 & JWT",
119
- "version": "1.0.0",
120
- "description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
121
- "tags": ["oauth2", "jwt", "session-management", "rbac"]
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
+ ]
122
150
  }
123
151
  ```
124
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
@@ -108,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
108
123
 
109
124
  Create `vdocs/_manifest.json` using the schema in [manifest-schema.json](./manifest-schema.json).
110
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
+
111
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.
112
129
 
113
130
  Example:
114
131
 
115
132
  ```json
116
133
  {
117
- "filepath": "AUTHENTICATION_DOC.md",
118
- "title": "Authentication - OAuth2 & JWT",
119
- "version": "1.0.0",
120
- "description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
121
- "tags": ["oauth2", "jwt", "session-management", "rbac"]
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
+ ]
122
150
  }
123
151
  ```
124
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
@@ -108,17 +123,30 @@ Do NOT attempt to generate multiple docs from memory. Each doc is a fresh cycle:
108
123
 
109
124
  Create `vdocs/_manifest.json` using the schema in `resources/manifest-schema.json`.
110
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
+
111
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.
112
129
 
113
130
  Example:
114
131
 
115
132
  ```json
116
133
  {
117
- "filepath": "AUTHENTICATION_DOC.md",
118
- "title": "Authentication - OAuth2 & JWT",
119
- "version": "1.0.0",
120
- "description": "OAuth2 flow with Google/GitHub providers, JWT token lifecycle, session management via NextAuth.js, route protection middleware, and role-based access control.",
121
- "tags": ["oauth2", "jwt", "session-management", "rbac"]
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
+ ]
122
150
  }
123
151
  ```
124
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",