wogiflow 1.0.21 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/.claude/commands/wogi-bug.md +43 -0
  2. package/.claude/commands/wogi-bulk.md +144 -0
  3. package/.claude/commands/wogi-changelog.md +36 -0
  4. package/.claude/commands/wogi-compact.md +99 -0
  5. package/.claude/commands/wogi-config.md +50 -0
  6. package/.claude/commands/wogi-context.md +68 -0
  7. package/.claude/commands/wogi-correction.md +73 -0
  8. package/.claude/commands/wogi-debt.md +128 -0
  9. package/.claude/commands/wogi-deps.md +32 -0
  10. package/.claude/commands/wogi-epics.md +145 -0
  11. package/.claude/commands/wogi-export.md +100 -0
  12. package/.claude/commands/wogi-feature.md +149 -0
  13. package/.claude/commands/wogi-guided-edit.md +83 -0
  14. package/.claude/commands/wogi-health.md +43 -0
  15. package/.claude/commands/wogi-help.md +96 -0
  16. package/.claude/commands/wogi-hybrid-edit.md +36 -0
  17. package/.claude/commands/wogi-hybrid-off.md +24 -0
  18. package/.claude/commands/wogi-hybrid-setup.md +79 -0
  19. package/.claude/commands/wogi-hybrid-status.md +45 -0
  20. package/.claude/commands/wogi-hybrid.md +54 -0
  21. package/.claude/commands/wogi-import.md +44 -0
  22. package/.claude/commands/wogi-init.md +618 -0
  23. package/.claude/commands/wogi-log.md +38 -0
  24. package/.claude/commands/wogi-map-add.md +29 -0
  25. package/.claude/commands/wogi-map-check.md +35 -0
  26. package/.claude/commands/wogi-map-index.md +98 -0
  27. package/.claude/commands/wogi-map-scan.md +38 -0
  28. package/.claude/commands/wogi-map-sync.md +91 -0
  29. package/.claude/commands/wogi-map.md +33 -0
  30. package/.claude/commands/wogi-morning.md +65 -0
  31. package/.claude/commands/wogi-onboard.md +99 -0
  32. package/.claude/commands/wogi-plan.md +173 -0
  33. package/.claude/commands/wogi-ready.md +84 -0
  34. package/.claude/commands/wogi-resume.md +95 -0
  35. package/.claude/commands/wogi-review.md +636 -0
  36. package/.claude/commands/wogi-roadmap.md +241 -0
  37. package/.claude/commands/wogi-rules.md +104 -0
  38. package/.claude/commands/wogi-search.md +33 -0
  39. package/.claude/commands/wogi-session-end.md +49 -0
  40. package/.claude/commands/wogi-setup-stack.md +151 -0
  41. package/.claude/commands/wogi-skill-learn.md +66 -0
  42. package/.claude/commands/wogi-skills.md +87 -0
  43. package/.claude/commands/wogi-standup.md +28 -0
  44. package/.claude/commands/wogi-start.md +465 -0
  45. package/.claude/commands/wogi-status.md +41 -0
  46. package/.claude/commands/wogi-statusline-setup/skill.md +109 -0
  47. package/.claude/commands/wogi-story.md +98 -0
  48. package/.claude/commands/wogi-suspend.md +87 -0
  49. package/.claude/commands/wogi-test-browser.md +43 -0
  50. package/.claude/commands/wogi-trace.md +198 -0
  51. package/.claude/docs/architecture.md +37 -0
  52. package/.claude/docs/commands.md +343 -0
  53. package/.claude/docs/knowledge-base/01-setup-onboarding/README.md +177 -0
  54. package/.claude/docs/knowledge-base/01-setup-onboarding/component-indexing.md +341 -0
  55. package/.claude/docs/knowledge-base/01-setup-onboarding/framework-detection.md +269 -0
  56. package/.claude/docs/knowledge-base/01-setup-onboarding/installation.md +146 -0
  57. package/.claude/docs/knowledge-base/01-setup-onboarding/onboarding-existing.md +317 -0
  58. package/.claude/docs/knowledge-base/01-setup-onboarding/team-setup.md +346 -0
  59. package/.claude/docs/knowledge-base/02-task-execution/01-task-planning.md +259 -0
  60. package/.claude/docs/knowledge-base/02-task-execution/02-execution-loop.md +443 -0
  61. package/.claude/docs/knowledge-base/02-task-execution/03-verification.md +417 -0
  62. package/.claude/docs/knowledge-base/02-task-execution/04-completion.md +374 -0
  63. package/.claude/docs/knowledge-base/02-task-execution/05-session-review.md +170 -0
  64. package/.claude/docs/knowledge-base/02-task-execution/README.md +173 -0
  65. package/.claude/docs/knowledge-base/02-task-execution/external-integrations.md +133 -0
  66. package/.claude/docs/knowledge-base/02-task-execution/model-management.md +202 -0
  67. package/.claude/docs/knowledge-base/02-task-execution/specification-mode.md +292 -0
  68. package/.claude/docs/knowledge-base/02-task-execution/sync-daemon.md +96 -0
  69. package/.claude/docs/knowledge-base/02-task-execution/trade-offs.md +345 -0
  70. package/.claude/docs/knowledge-base/02-task-execution/workflow-steps.md +357 -0
  71. package/.claude/docs/knowledge-base/03-self-improvement/README.md +199 -0
  72. package/.claude/docs/knowledge-base/03-self-improvement/long-input-processing.md +160 -0
  73. package/.claude/docs/knowledge-base/03-self-improvement/model-learning.md +334 -0
  74. package/.claude/docs/knowledge-base/03-self-improvement/project-learning.md +301 -0
  75. package/.claude/docs/knowledge-base/03-self-improvement/skill-learning.md +372 -0
  76. package/.claude/docs/knowledge-base/03-self-improvement/skill-matching.md +304 -0
  77. package/.claude/docs/knowledge-base/03-self-improvement/team-learning.md +342 -0
  78. package/.claude/docs/knowledge-base/04-memory-context/README.md +189 -0
  79. package/.claude/docs/knowledge-base/04-memory-context/context-management.md +308 -0
  80. package/.claude/docs/knowledge-base/04-memory-context/memory-commands.md +176 -0
  81. package/.claude/docs/knowledge-base/04-memory-context/memory-systems.md +359 -0
  82. package/.claude/docs/knowledge-base/04-memory-context/prd-management.md +115 -0
  83. package/.claude/docs/knowledge-base/04-memory-context/session-persistence.md +359 -0
  84. package/.claude/docs/knowledge-base/04-memory-context/team-history.md +317 -0
  85. package/.claude/docs/knowledge-base/05-development-tools/README.md +84 -0
  86. package/.claude/docs/knowledge-base/05-development-tools/code-traces.md +278 -0
  87. package/.claude/docs/knowledge-base/05-development-tools/figma-analyzer.md +253 -0
  88. package/.claude/docs/knowledge-base/05-development-tools/guided-edit.md +173 -0
  89. package/.claude/docs/knowledge-base/05-development-tools/mcp-integrations.md +286 -0
  90. package/.claude/docs/knowledge-base/06-safety-guardrails/README.md +153 -0
  91. package/.claude/docs/knowledge-base/06-safety-guardrails/checkpoint-rollback.md +302 -0
  92. package/.claude/docs/knowledge-base/06-safety-guardrails/commit-gates.md +309 -0
  93. package/.claude/docs/knowledge-base/06-safety-guardrails/damage-control.md +292 -0
  94. package/.claude/docs/knowledge-base/06-safety-guardrails/security-scanning.md +291 -0
  95. package/.claude/docs/knowledge-base/README.md +92 -0
  96. package/.claude/docs/knowledge-base/configuration/README.md +228 -0
  97. package/.claude/docs/knowledge-base/configuration/all-options.md +1632 -0
  98. package/.claude/docs/knowledge-base/future-features.md +277 -0
  99. package/.claude/docs/stack.md +25 -0
  100. package/.claude/docs/testing.md +71 -0
  101. package/.claude/rules/README.md +60 -0
  102. package/.claude/rules/architecture/component-reuse.md +38 -0
  103. package/.claude/rules/architecture/document-structure.md +76 -0
  104. package/.claude/rules/architecture/feature-refactoring-cleanup.md +87 -0
  105. package/.claude/rules/architecture/model-management.md +35 -0
  106. package/.claude/rules/code-style/naming-conventions.md +55 -0
  107. package/.claude/rules/security/security-patterns.md +116 -0
  108. package/.claude/skills/.gitkeep +0 -0
  109. package/.claude/skills/README.md +131 -0
  110. package/.claude/skills/_template/commands/.gitkeep +0 -0
  111. package/.claude/skills/_template/knowledge/anti-patterns.md +49 -0
  112. package/.claude/skills/_template/knowledge/learnings.md +60 -0
  113. package/.claude/skills/_template/knowledge/patterns.md +45 -0
  114. package/.claude/skills/_template/rules/.gitkeep +0 -0
  115. package/.claude/skills/_template/skill.md +99 -0
  116. package/.claude/skills/_template/templates/.gitkeep +0 -0
  117. package/.claude/skills/figma-analyzer/knowledge/anti-patterns.md +216 -0
  118. package/.claude/skills/figma-analyzer/knowledge/patterns.md +144 -0
  119. package/.claude/skills/figma-analyzer/skill.md +236 -0
  120. package/lib/installer.js +59 -19
  121. package/package.json +5 -1
@@ -0,0 +1,341 @@
1
+ # Component Indexing
2
+
3
+ Auto-scan and register components from your codebase.
4
+
5
+ ---
6
+
7
+ ## Purpose
8
+
9
+ Component indexing solves:
10
+ - **Duplication**: Know what exists before creating new
11
+ - **Discovery**: Find existing utilities and helpers
12
+ - **Consistency**: Ensure new code uses existing patterns
13
+ - **Hybrid Mode**: Provide context to local LLMs
14
+
15
+ ---
16
+
17
+ ## Quick Start
18
+
19
+ ```bash
20
+ # Show index summary
21
+ /wogi-map-index
22
+
23
+ # Rescan codebase
24
+ /wogi-map-index scan
25
+
26
+ # Show full details
27
+ /wogi-map-index full
28
+ ```
29
+
30
+ ---
31
+
32
+ ## What Gets Indexed
33
+
34
+ | Category | What's Included |
35
+ |----------|-----------------|
36
+ | `components` | React/Vue components |
37
+ | `pages` | Routes and page components |
38
+ | `hooks` | Custom React hooks |
39
+ | `services` | Business logic services |
40
+ | `modules` | NestJS/Angular modules |
41
+ | `utils` | Utility functions |
42
+ | `api` | API route handlers |
43
+
44
+ ---
45
+
46
+ ## Configuration
47
+
48
+ ```json
49
+ {
50
+ "componentIndex": {
51
+ "autoScan": true, // Enable auto-scanning
52
+ "scanOn": [ // When to scan
53
+ "sessionStart", // On new Claude session
54
+ "afterTask", // After task completion
55
+ "preCommit" // Before git commits (requires hooks)
56
+ ],
57
+ "staleAfterMinutes": 60, // Refresh if older than this
58
+ "directories": [ // Where to look
59
+ "src/components",
60
+ "src/hooks",
61
+ "src/services",
62
+ "src/pages",
63
+ "src/modules",
64
+ "app"
65
+ ],
66
+ "ignore": [ // What to skip
67
+ "*.test.*",
68
+ "*.spec.*",
69
+ "*.stories.*",
70
+ "index.ts",
71
+ "index.js",
72
+ "__tests__",
73
+ "__mocks__"
74
+ ]
75
+ }
76
+ }
77
+ ```
78
+
79
+ ---
80
+
81
+ ## Index File Structure
82
+
83
+ The index is stored in `.workflow/state/component-index.json`:
84
+
85
+ ```json
86
+ {
87
+ "lastScan": "2024-01-15T10:30:00.000Z",
88
+ "scanConfig": {
89
+ "directories": ["src/components", "src/hooks"],
90
+ "ignore": ["*.test.*"]
91
+ },
92
+ "components": [
93
+ {
94
+ "name": "Button",
95
+ "path": "src/components/Button.tsx",
96
+ "exports": ["Button", "ButtonProps"]
97
+ }
98
+ ],
99
+ "hooks": [
100
+ {
101
+ "name": "useAuth",
102
+ "path": "src/hooks/useAuth.ts",
103
+ "exports": ["useAuth", "AuthContext"]
104
+ }
105
+ ],
106
+ "services": [...],
107
+ "pages": [...],
108
+ "utils": [...]
109
+ }
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Categorization Logic
115
+
116
+ Components are categorized by path and naming:
117
+
118
+ | Pattern | Category |
119
+ |---------|----------|
120
+ | `/components/` in path | `components` |
121
+ | `/pages/` or `/app/` in path | `pages` |
122
+ | `use` prefix or `/hooks/` | `hooks` |
123
+ | `.service` suffix or `/services/` | `services` |
124
+ | `.module` suffix or `/modules/` | `modules` |
125
+ | `/utils/` or `/lib/` or `/helpers/` | `utils` |
126
+ | `/api/` in path | `api` |
127
+
128
+ ---
129
+
130
+ ## Export Detection
131
+
132
+ The indexer extracts export names from files:
133
+
134
+ ```typescript
135
+ // Button.tsx
136
+ export const Button = () => {...}
137
+ export type ButtonProps = {...}
138
+ export default Button;
139
+
140
+ // Index entry:
141
+ {
142
+ "name": "Button",
143
+ "path": "src/components/Button.tsx",
144
+ "exports": ["Button", "ButtonProps"]
145
+ }
146
+ ```
147
+
148
+ Detected patterns:
149
+ - `export const/let/var X`
150
+ - `export function X`
151
+ - `export class X`
152
+ - `export default X`
153
+ - `export { A, B, C }`
154
+
155
+ ---
156
+
157
+ ## When Scanning Occurs
158
+
159
+ Based on `scanOn` configuration:
160
+
161
+ | Trigger | When |
162
+ |---------|------|
163
+ | `sessionStart` | Beginning of each Claude session (also checks stale) |
164
+ | `afterTask` | After completing any task via `flow done` |
165
+ | `preCommit` | Before git commits (requires git hooks installed) |
166
+ | `manual` | Only when explicitly requested |
167
+
168
+ ```json
169
+ {
170
+ "componentIndex": {
171
+ "scanOn": ["sessionStart", "afterTask", "preCommit"],
172
+ "staleAfterMinutes": 60
173
+ }
174
+ }
175
+ ```
176
+
177
+ ### Stale Index Refresh
178
+
179
+ When `sessionStart` is enabled, the index is automatically refreshed if older than `staleAfterMinutes` (default: 60 minutes).
180
+
181
+ ### Git Hooks Setup
182
+
183
+ To enable `preCommit` scanning, install git hooks:
184
+
185
+ ```bash
186
+ node scripts/flow-setup-hooks.js # Install hooks
187
+ node scripts/flow-setup-hooks.js --status # Check status
188
+ node scripts/flow-setup-hooks.js --remove # Remove hooks
189
+ ```
190
+
191
+ The pre-commit hook will:
192
+ 1. Scan component index if `preCommit` is in `scanOn`
193
+ 2. Sync rules from `decisions.md` if it was modified
194
+
195
+ ---
196
+
197
+ ## Commands
198
+
199
+ ```bash
200
+ # Summary view
201
+ /wogi-map-index
202
+ # Output:
203
+ # 📦 Component Index
204
+ # Last scan: 2024-01-15 10:30
205
+ #
206
+ # | Category | Count |
207
+ # |------------|-------|
208
+ # | Components | 45 |
209
+ # | Pages | 12 |
210
+ # | Hooks | 8 |
211
+ # | Services | 15 |
212
+ #
213
+ # Total: 80 items
214
+
215
+ # Full details
216
+ /wogi-map-index full
217
+ # Shows table with name, path, exports for each item
218
+
219
+ # Rescan
220
+ /wogi-map-index scan
221
+ # Scanned 4 directories
222
+ # Found 80 items
223
+ # ✓ Index updated
224
+
225
+ # Raw JSON
226
+ /wogi-map-index json
227
+ ```
228
+
229
+ ---
230
+
231
+ ## App-Map vs Component Index
232
+
233
+ | Feature | Component Index | App-Map |
234
+ |---------|-----------------|---------|
235
+ | **Source** | Auto-scanned | Human-curated |
236
+ | **Format** | JSON | Markdown |
237
+ | **Content** | File paths, exports | Descriptions, variants, usage |
238
+ | **Updates** | Automatic | Manual |
239
+ | **Purpose** | Discovery | Documentation |
240
+
241
+ Use together:
242
+ 1. **Component Index**: Find what exists
243
+ 2. **App-Map**: Understand how to use it
244
+
245
+ ---
246
+
247
+ ## Hybrid Mode Integration
248
+
249
+ The component index feeds into hybrid mode:
250
+
251
+ ```json
252
+ {
253
+ "hybrid": {
254
+ "projectContext": {
255
+ "availableComponents": {
256
+ "Button": "src/components/Button.tsx",
257
+ "Modal": "src/components/Modal.tsx"
258
+ }
259
+ }
260
+ }
261
+ }
262
+ ```
263
+
264
+ This helps local LLMs:
265
+ - Know what imports are available
266
+ - Use existing components instead of creating new
267
+ - Follow established patterns
268
+
269
+ ---
270
+
271
+ ## Comparing with App-Map
272
+
273
+ Use `/wogi-map-sync` to compare:
274
+
275
+ ```bash
276
+ /wogi-map-sync
277
+
278
+ # Output:
279
+ # 📊 Index vs App-Map Comparison
280
+ #
281
+ # In index but not in app-map:
282
+ # - NewButton (src/components/NewButton.tsx)
283
+ # - useLocalStorage (src/hooks/useLocalStorage.ts)
284
+ #
285
+ # In app-map but not in index:
286
+ # - LegacyDropdown (may have been deleted)
287
+ #
288
+ # Suggest updates? [y/n]
289
+ ```
290
+
291
+ ---
292
+
293
+ ## Troubleshooting
294
+
295
+ ### Components Not Found
296
+
297
+ Check directories are correct:
298
+ ```bash
299
+ # Verify directories exist
300
+ ls -la src/components/
301
+ ```
302
+
303
+ Update config if needed:
304
+ ```json
305
+ {
306
+ "componentIndex": {
307
+ "directories": ["components", "lib"] // Adjust paths
308
+ }
309
+ }
310
+ ```
311
+
312
+ ### Too Many Results
313
+
314
+ Add ignore patterns:
315
+ ```json
316
+ {
317
+ "componentIndex": {
318
+ "ignore": [
319
+ "*.test.*",
320
+ "*.stories.*",
321
+ "*.d.ts",
322
+ "internal/*"
323
+ ]
324
+ }
325
+ }
326
+ ```
327
+
328
+ ### Exports Not Detected
329
+
330
+ The indexer has limits:
331
+ - Only processes `.ts`, `.tsx`, `.js`, `.jsx`, `.vue`
332
+ - Limits to 5 exports per file
333
+ - May miss complex re-exports
334
+
335
+ ---
336
+
337
+ ## Related
338
+
339
+ - [Onboarding](./onboarding-existing.md) - Initial scanning
340
+ - [App-Map Updates](../02-task-execution/04-completion.md) - Keeping registry current
341
+ - [Configuration Reference](../configuration/all-options.md) - All options
@@ -0,0 +1,269 @@
1
+ # Framework Detection
2
+
3
+ Auto-detect tech stack and suggest relevant skills.
4
+
5
+ ---
6
+
7
+ ## Purpose
8
+
9
+ Framework detection enables:
10
+ - **Skill Suggestions**: Recommend framework-specific skills
11
+ - **Pattern Recognition**: Apply framework best practices
12
+ - **Documentation Fetching**: Retrieve official docs for reference
13
+ - **Hybrid Mode Optimization**: Configure for specific frameworks
14
+
15
+ ---
16
+
17
+ ## Detected Frameworks
18
+
19
+ ### JavaScript/TypeScript
20
+
21
+ | Framework | Detection Method |
22
+ |-----------|-----------------|
23
+ | Next.js | `next` in package.json, `next.config.js` |
24
+ | React | `react` in package.json |
25
+ | React Native | `react-native` in package.json |
26
+ | Vue | `vue` in package.json |
27
+ | Nuxt | `nuxt.config.js` or `nuxt.config.ts` |
28
+ | Angular | `@angular/core`, `angular.json` |
29
+ | NestJS | `@nestjs/core`, `nest-cli.json` |
30
+ | Express | `express` in package.json |
31
+ | Fastify | `fastify` in package.json |
32
+
33
+ ### Python
34
+
35
+ | Framework | Detection Method |
36
+ |-----------|-----------------|
37
+ | FastAPI | `fastapi` in requirements.txt |
38
+ | Django | `django` in requirements.txt |
39
+ | Flask | `flask` in requirements.txt |
40
+
41
+ ### Other Languages
42
+
43
+ | Language | Detection Method |
44
+ |----------|-----------------|
45
+ | Go | `go.mod` file |
46
+ | Rust | `Cargo.toml` file |
47
+ | Java | `pom.xml` or `build.gradle` |
48
+
49
+ ---
50
+
51
+ ## Configuration
52
+
53
+ ```json
54
+ {
55
+ "skillLearning": {
56
+ "enabled": true,
57
+ "autoDetectFrameworks": true,
58
+ "fetchOfficialDocs": true,
59
+ "frameworkDetectionPatterns": {
60
+ "nestjs": ["*.module.ts", "*.controller.ts", "*.service.ts", "@nestjs/*"],
61
+ "react": ["*.tsx", "*.jsx", "use*.ts", "react", "react-dom"],
62
+ "vue": ["*.vue", "vue", "@vue/*"],
63
+ "angular": ["*.component.ts", "*.module.ts", "@angular/*"],
64
+ "fastapi": ["main.py", "fastapi", "pydantic"],
65
+ "django": ["manage.py", "django", "settings.py"],
66
+ "express": ["app.js", "express", "router.js"]
67
+ },
68
+ "officialDocsUrls": {
69
+ "nestjs": "https://docs.nestjs.com",
70
+ "react": "https://react.dev",
71
+ "vue": "https://vuejs.org/guide",
72
+ "angular": "https://angular.io/docs",
73
+ "fastapi": "https://fastapi.tiangolo.com",
74
+ "django": "https://docs.djangoproject.com",
75
+ "express": "https://expressjs.com/en/guide"
76
+ }
77
+ }
78
+ }
79
+ ```
80
+
81
+ ---
82
+
83
+ ## Detection Process
84
+
85
+ ```
86
+ ┌─────────────────────────────────────────────────────────────┐
87
+ │ FRAMEWORK DETECTION │
88
+ ├─────────────────────────────────────────────────────────────┤
89
+ │ │
90
+ │ 1. Check Package Files │
91
+ │ ├─ package.json → JS/TS frameworks │
92
+ │ ├─ requirements.txt → Python frameworks │
93
+ │ ├─ go.mod → Go │
94
+ │ └─ Cargo.toml → Rust │
95
+ │ │
96
+ │ 2. Check Config Files │
97
+ │ ├─ next.config.js → Next.js │
98
+ │ ├─ nest-cli.json → NestJS │
99
+ │ ├─ angular.json → Angular │
100
+ │ └─ nuxt.config.ts → Nuxt │
101
+ │ │
102
+ │ 3. Scan File Patterns │
103
+ │ ├─ *.module.ts → NestJS │
104
+ │ ├─ *.tsx → React │
105
+ │ └─ *.vue → Vue │
106
+ │ │
107
+ │ 4. Suggest Skills │
108
+ │ └─ Map framework → skill package │
109
+ │ │
110
+ └─────────────────────────────────────────────────────────────┘
111
+ ```
112
+
113
+ ---
114
+
115
+ ## Skill Suggestions
116
+
117
+ When a framework is detected:
118
+
119
+ ```bash
120
+ ./scripts/flow onboard
121
+
122
+ # Output:
123
+ # Detected:
124
+ # Language: TypeScript
125
+ # Framework: NestJS
126
+ #
127
+ # ✓ Recommended skill: nestjs
128
+ ```
129
+
130
+ Skills are auto-added to config:
131
+ ```json
132
+ {
133
+ "skills": {
134
+ "installed": ["nestjs"]
135
+ }
136
+ }
137
+ ```
138
+
139
+ ### Framework → Skill Mapping
140
+
141
+ | Framework | Skill |
142
+ |-----------|-------|
143
+ | NestJS | `nestjs` |
144
+ | React, Next.js, React Native | `react` |
145
+ | FastAPI, Django, Flask | `python` |
146
+
147
+ ---
148
+
149
+ ## Official Documentation
150
+
151
+ When `fetchOfficialDocs` is enabled, WogiFlow can reference official documentation:
152
+
153
+ ```json
154
+ {
155
+ "skillLearning": {
156
+ "fetchOfficialDocs": true,
157
+ "officialDocsUrls": {
158
+ "nestjs": "https://docs.nestjs.com",
159
+ "react": "https://react.dev"
160
+ }
161
+ }
162
+ }
163
+ ```
164
+
165
+ This enables:
166
+ - Citing official patterns
167
+ - Referencing best practices
168
+ - Staying up-to-date with conventions
169
+
170
+ ---
171
+
172
+ ## Customizing Detection
173
+
174
+ ### Add Custom Patterns
175
+
176
+ ```json
177
+ {
178
+ "skillLearning": {
179
+ "frameworkDetectionPatterns": {
180
+ "my-framework": ["*.mf.ts", "my-framework-config.json"]
181
+ }
182
+ }
183
+ }
184
+ ```
185
+
186
+ ### Add Custom Docs URL
187
+
188
+ ```json
189
+ {
190
+ "skillLearning": {
191
+ "officialDocsUrls": {
192
+ "my-framework": "https://docs.my-framework.io"
193
+ }
194
+ }
195
+ }
196
+ ```
197
+
198
+ ---
199
+
200
+ ## Database Detection
201
+
202
+ Also detects databases:
203
+
204
+ | Database | Detection Method |
205
+ |----------|-----------------|
206
+ | TypeORM | `typeorm` in package.json |
207
+ | Prisma | `prisma` in package.json |
208
+ | MongoDB | `mongoose` in package.json |
209
+ | Sequelize | `sequelize` in package.json |
210
+ | PostgreSQL | In docker-compose.yml |
211
+ | MySQL | In docker-compose.yml |
212
+ | Redis | In docker-compose.yml |
213
+
214
+ Output stored in `decisions.md`:
215
+ ```markdown
216
+ ## Tech Stack
217
+ - **Database**: PostgreSQL (Prisma)
218
+ ```
219
+
220
+ ---
221
+
222
+ ## Language Detection
223
+
224
+ Priority order:
225
+ 1. `tsconfig.json` → TypeScript
226
+ 2. `package.json` → JavaScript
227
+ 3. `requirements.txt`, `setup.py`, `pyproject.toml` → Python
228
+ 4. `go.mod` → Go
229
+ 5. `Cargo.toml` → Rust
230
+ 6. `pom.xml`, `build.gradle` → Java
231
+
232
+ ---
233
+
234
+ ## Multi-Framework Projects
235
+
236
+ For monorepos or multi-framework projects:
237
+
238
+ ```
239
+ project/
240
+ ├── frontend/ # Next.js
241
+ │ └── package.json
242
+ ├── backend/ # NestJS
243
+ │ └── package.json
244
+ └── mobile/ # React Native
245
+ └── package.json
246
+ ```
247
+
248
+ Run onboarding from root:
249
+ ```bash
250
+ ./scripts/flow onboard
251
+ # Detects: Next.js, NestJS, React Native
252
+ ```
253
+
254
+ Multiple skills suggested:
255
+ ```json
256
+ {
257
+ "skills": {
258
+ "installed": ["react", "nestjs"]
259
+ }
260
+ }
261
+ ```
262
+
263
+ ---
264
+
265
+ ## Related
266
+
267
+ - [Onboarding](./onboarding-existing.md) - Full onboarding process
268
+ - [Skills System](../03-self-improvement/skill-learning.md) - How skills work
269
+ - [Configuration Reference](../configuration/all-options.md) - All options