amazingteam 3.0.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.
Files changed (164) hide show
  1. package/.ai-team/agents/architect.md +144 -0
  2. package/.ai-team/agents/ci-analyst.md +188 -0
  3. package/.ai-team/agents/developer.md +176 -0
  4. package/.ai-team/agents/planner.md +355 -0
  5. package/.ai-team/agents/qa.md +189 -0
  6. package/.ai-team/agents/reviewer.md +211 -0
  7. package/.ai-team/agents/triage.md +146 -0
  8. package/.ai-team/commands/ci-analyze.md +116 -0
  9. package/.ai-team/commands/design.md +100 -0
  10. package/.ai-team/commands/implement.md +108 -0
  11. package/.ai-team/commands/release-check.md +142 -0
  12. package/.ai-team/commands/review.md +142 -0
  13. package/.ai-team/commands/test.md +115 -0
  14. package/.ai-team/commands/triage.md +138 -0
  15. package/.ai-team/memory/architect/architecture_notes.md +67 -0
  16. package/.ai-team/memory/architect/design_rationale.md +113 -0
  17. package/.ai-team/memory/architect/module_map.md +84 -0
  18. package/.ai-team/memory/ci-analyst/failure_patterns.md +102 -0
  19. package/.ai-team/memory/ci-analyst/runbook_references.md +87 -0
  20. package/.ai-team/memory/developer/bug_investigation.md +102 -0
  21. package/.ai-team/memory/developer/build_issues.md +115 -0
  22. package/.ai-team/memory/developer/implementation_notes.md +83 -0
  23. package/.ai-team/memory/failures/failure_library.md +103 -0
  24. package/.ai-team/memory/planner/decomposition_notes.md +82 -0
  25. package/.ai-team/memory/planner/flow_rules.md +86 -0
  26. package/.ai-team/memory/planner/github_issue_patterns.md +229 -0
  27. package/.ai-team/memory/qa/regression_cases.md +101 -0
  28. package/.ai-team/memory/qa/test_strategy.md +138 -0
  29. package/.ai-team/memory/qa/validation_notes.md +110 -0
  30. package/.ai-team/memory/reviewer/quality_rules.md +105 -0
  31. package/.ai-team/memory/reviewer/recurring_risks.md +109 -0
  32. package/.ai-team/memory/reviewer/review_notes.md +124 -0
  33. package/.ai-team/memory/triage/classification_heuristics.md +82 -0
  34. package/.ai-team/memory/triage/debug_notes.md +87 -0
  35. package/.ai-team/opencode.template.jsonc +216 -0
  36. package/.ai-team/skills/bugfix-playbook/skill.md +174 -0
  37. package/.ai-team/skills/ci-failure-analysis/skill.md +176 -0
  38. package/.ai-team/skills/issue-triage/skill.md +163 -0
  39. package/.ai-team/skills/regression-checklist/skill.md +176 -0
  40. package/.ai-team/skills/release-readiness-check/skill.md +216 -0
  41. package/.ai-team/skills/repo-architecture-reader/skill.md +139 -0
  42. package/.ai-team/skills/safe-refactor-checklist/skill.md +215 -0
  43. package/.ai-team/skills/task-breakdown-and-dispatch/skill.md +151 -0
  44. package/.ai-team/skills/test-first-feature-dev/skill.md +205 -0
  45. package/.ai-team/workflows/ci.yml +81 -0
  46. package/.ai-team/workflows/nightly-ai-maintenance.yml +129 -0
  47. package/.ai-team/workflows/opencode.yml +33 -0
  48. package/.ai-team/workflows/pr-check.yml +41 -0
  49. package/.foundation/foundation.lock +38 -0
  50. package/.foundation/local-overrides.md +97 -0
  51. package/.foundation/upgrade-history.md +38 -0
  52. package/.opencode/agents/architect.md +38 -0
  53. package/.opencode/agents/ci-analyst.md +38 -0
  54. package/.opencode/agents/developer.md +43 -0
  55. package/.opencode/agents/planner.md +47 -0
  56. package/.opencode/agents/qa.md +34 -0
  57. package/.opencode/agents/reviewer.md +38 -0
  58. package/.opencode/agents/triage.md +37 -0
  59. package/.opencode/commands/auto.md +264 -0
  60. package/.opencode/commands/breakdown-issue.md +94 -0
  61. package/.opencode/commands/ci-analyze.md +15 -0
  62. package/.opencode/commands/close-parent-task.md +122 -0
  63. package/.opencode/commands/design.md +15 -0
  64. package/.opencode/commands/dispatch-next.md +102 -0
  65. package/.opencode/commands/implement.md +16 -0
  66. package/.opencode/commands/release-check.md +16 -0
  67. package/.opencode/commands/resume.md +88 -0
  68. package/.opencode/commands/review.md +15 -0
  69. package/.opencode/commands/show-blockers.md +97 -0
  70. package/.opencode/commands/summarize-parent.md +121 -0
  71. package/.opencode/commands/test.md +15 -0
  72. package/.opencode/commands/triage.md +109 -0
  73. package/.opencode/skills/bugfix-playbook/SKILL.md +81 -0
  74. package/.opencode/skills/ci-failure-analysis/SKILL.md +94 -0
  75. package/.opencode/skills/issue-triage/SKILL.md +80 -0
  76. package/.opencode/skills/regression-checklist/SKILL.md +81 -0
  77. package/.opencode/skills/release-readiness-check/SKILL.md +81 -0
  78. package/.opencode/skills/repo-architecture-reader/SKILL.md +65 -0
  79. package/.opencode/skills/safe-refactor-checklist/SKILL.md +76 -0
  80. package/.opencode/skills/task-breakdown-and-dispatch/SKILL.md +255 -0
  81. package/.opencode/skills/test-first-feature-dev/SKILL.md +78 -0
  82. package/AGENTS.md +879 -0
  83. package/CHANGELOG.md +261 -0
  84. package/LICENSE +21 -0
  85. package/README.md +1215 -0
  86. package/VERSION +1 -0
  87. package/action/__tests__/downloader.test.js +251 -0
  88. package/action/__tests__/merger.test.js +156 -0
  89. package/action/__tests__/path-resolver.test.js +199 -0
  90. package/action/__tests__/validator.test.js +310 -0
  91. package/action/action.yml +61 -0
  92. package/action/index.js +223 -0
  93. package/action/lib/downloader.js +344 -0
  94. package/action/lib/merger.js +170 -0
  95. package/action/lib/path-resolver.js +176 -0
  96. package/action/lib/setup.js +286 -0
  97. package/action/lib/validator.js +324 -0
  98. package/cli/__tests__/cli.test.js +270 -0
  99. package/cli/amazingteam.cjs +225 -0
  100. package/cli/commands/check-update.cjs +159 -0
  101. package/cli/commands/init.cjs +412 -0
  102. package/cli/commands/local.cjs +264 -0
  103. package/cli/commands/migrate.cjs +316 -0
  104. package/cli/commands/status.cjs +241 -0
  105. package/cli/commands/upgrade.cjs +213 -0
  106. package/cli/commands/validate.cjs +259 -0
  107. package/cli/commands/version.cjs +59 -0
  108. package/cli/sync.cjs +237 -0
  109. package/dist/index.js +35 -0
  110. package/docs/architecture/overview.md +138 -0
  111. package/docs/blocker_resolution_design.md +372 -0
  112. package/docs/bootstrap-model.md +356 -0
  113. package/docs/config-reference.md +458 -0
  114. package/docs/how-to-use.md +178 -0
  115. package/docs/migration-to-v3.md +355 -0
  116. package/docs/overlay-guide.md +156 -0
  117. package/docs/patterns/README.md +67 -0
  118. package/docs/quick-start-v3.md +330 -0
  119. package/docs/releases/README.md +64 -0
  120. package/docs/runbooks/ci/README.md +62 -0
  121. package/docs/runbooks/ci/build-debug.md +120 -0
  122. package/docs/runbooks/ci/flaky-tests.md +127 -0
  123. package/docs/runbooks/getting-started.md +81 -0
  124. package/docs/upgrade-policy.md +188 -0
  125. package/docs/versioning.md +199 -0
  126. package/overlays/README.md +30 -0
  127. package/overlays/ai-agent-product/.ai-team/skills/llm-integration/skill.md +99 -0
  128. package/overlays/ai-agent-product/docs/ai-agent-architecture.md +68 -0
  129. package/overlays/ai-agent-product/overlay.yaml +26 -0
  130. package/overlays/cpp-qt-desktop/.ai-team/skills/qt-signals-slots/skill.md +60 -0
  131. package/overlays/cpp-qt-desktop/docs/qt-conventions.md +64 -0
  132. package/overlays/cpp-qt-desktop/overlay.yaml +22 -0
  133. package/overlays/python-backend/.ai-team/skills/python-testing/skill.md +90 -0
  134. package/overlays/python-backend/docs/python-style.md +78 -0
  135. package/overlays/python-backend/overlay.yaml +22 -0
  136. package/overlays/web-fullstack/.ai-team/skills/frontend-testing/skill.md +70 -0
  137. package/overlays/web-fullstack/docs/frontend-conventions.md +68 -0
  138. package/overlays/web-fullstack/overlay.yaml +26 -0
  139. package/package.json +84 -0
  140. package/presets/default.yaml +161 -0
  141. package/presets/go.yaml +43 -0
  142. package/presets/python.yaml +43 -0
  143. package/presets/typescript.yaml +40 -0
  144. package/schemas/config.schema.json +239 -0
  145. package/scripts/diff_foundation_vs_project.sh +134 -0
  146. package/scripts/generate_docs.sh +200 -0
  147. package/scripts/init_project.sh +455 -0
  148. package/scripts/plan_upgrade.sh +268 -0
  149. package/scripts/upgrade_foundation.sh +365 -0
  150. package/scripts/validate-foundation.cjs +278 -0
  151. package/scripts/validate_foundation.sh +192 -0
  152. package/scripts/validate_project_setup.sh +171 -0
  153. package/tasks/README.md +94 -0
  154. package/tasks/_template/analysis.md +76 -0
  155. package/tasks/_template/design.md +121 -0
  156. package/tasks/_template/implementation.md +121 -0
  157. package/tasks/_template/release.md +119 -0
  158. package/tasks/_template/review.md +131 -0
  159. package/tasks/_template/subtasks/task.yaml +24 -0
  160. package/tasks/_template/task.yaml +75 -0
  161. package/tasks/_template/validation.md +128 -0
  162. package/templates/amazingteam.yml +81 -0
  163. package/templates/gitignore +14 -0
  164. package/templates/opencode.jsonc +216 -0
@@ -0,0 +1,355 @@
1
+ # Migration Guide: v2 to v3
2
+
3
+ This guide helps you migrate from AmazingTeam Foundation v2 to v3.
4
+
5
+ ---
6
+
7
+ ## Overview of Changes
8
+
9
+ ### v2 Architecture
10
+ - Foundation files committed to each project
11
+ - ~50+ files in `.ai-team/`, `.opencode/`, `tasks/`, etc.
12
+ - Upgrades require manual copy/merge
13
+ - Difficult to track which version is being used
14
+
15
+ ### v3 Architecture
16
+ - Foundation loaded at runtime from NPM/GitHub
17
+ - Only 2-3 files needed in user repo
18
+ - One-command upgrades
19
+ - Explicit version control
20
+ - Better separation of user customizations
21
+
22
+ ---
23
+
24
+ ## Migration Steps
25
+
26
+ ### Step 1: Backup Your Project
27
+
28
+ ```bash
29
+ # Create a backup branch
30
+ git checkout -b backup-before-v3-migration
31
+
32
+ # Commit any uncommitted changes
33
+ git add -A && git commit -m "chore: backup before v3 migration"
34
+
35
+ # Go back to main branch
36
+ git checkout main
37
+ ```
38
+
39
+ ### Step 2: Identify Your Customizations
40
+
41
+ Before migrating, identify what you've customized:
42
+
43
+ ```bash
44
+ # Files you may have customized:
45
+ # - AGENTS.md (global rules)
46
+ # - .ai-team/agents/*.md (agent behaviors)
47
+ # - .ai-team/skills/*/skill.md (custom skills)
48
+ # - .ai-team/commands/*.md (custom commands)
49
+ # - .ai-team/memory/*/ (agent memories)
50
+ # - presets/ (if you created custom presets)
51
+ ```
52
+
53
+ ### Step 3: Run Migration Command
54
+
55
+ ```bash
56
+ # Run the migration tool
57
+ npx amazingteam migrate
58
+
59
+ # This will:
60
+ # 1. Scan for v2 structure
61
+ # 2. Extract your customizations
62
+ # 3. Create amazingteam.config.yaml
63
+ # 4. Generate new workflow file
64
+ # 5. Update .gitignore
65
+ # 6. Remove foundation files from git tracking
66
+ ```
67
+
68
+ ### Step 4: Review Generated Files
69
+
70
+ The migration creates these files:
71
+
72
+ ```
73
+ your-project/
74
+ ├── amazingteam.config.yaml # Your extracted configuration
75
+ ├── .github/
76
+ │ └── workflows/
77
+ │ └── amazingteam.yml # Updated workflow
78
+ └── .gitignore # Updated to ignore foundation files
79
+ ```
80
+
81
+ Review `amazingteam.config.yaml` and adjust as needed.
82
+
83
+ ### Step 5: Handle Customizations
84
+
85
+ #### Custom AGENTS.md
86
+ If you modified `AGENTS.md`, you have two options:
87
+
88
+ **Option A: Overlay in config**
89
+ ```yaml
90
+ # amazingteam.config.yaml
91
+ overlay:
92
+ agents: |
93
+ # Your custom AGENTS.md additions
94
+ ## Custom Rules
95
+ - Your custom rules here
96
+ ```
97
+
98
+ **Option B: Keep local AGENTS.md**
99
+ ```bash
100
+ # Keep your custom AGENTS.md
101
+ # It will be used instead of foundation's
102
+ ```
103
+
104
+ #### Custom Skills
105
+ ```bash
106
+ # Keep your custom skills in .ai-team/skills/
107
+ # They will be merged with foundation skills
108
+ ```
109
+
110
+ #### Custom Commands
111
+ ```yaml
112
+ # Add custom commands in config
113
+ commands:
114
+ my-custom-command:
115
+ description: "My custom workflow"
116
+ sequence:
117
+ - triage
118
+ - architect
119
+ - developer
120
+ ```
121
+
122
+ ### Step 6: Remove Foundation Files
123
+
124
+ ```bash
125
+ # The migration tool does this automatically, but verify:
126
+ git rm -r --cached .ai-team/agents/
127
+ git rm -r --cached .ai-team/skills/
128
+ git rm -r --cached .ai-team/commands/
129
+ git rm -r --cached .opencode/skills/
130
+ git rm -r --cached .opencode/commands/
131
+ git rm --cached AGENTS.md
132
+
133
+ # But KEEP these directories (they contain your data):
134
+ # - .ai-team/memory/ (your agent memories)
135
+ # - tasks/ (your task history)
136
+ ```
137
+
138
+ ### Step 7: Update .gitignore
139
+
140
+ Add these entries to `.gitignore`:
141
+
142
+ ```gitignore
143
+ # AmazingTeam Foundation v3
144
+ .ai-team-local/
145
+ ```
146
+
147
+ ### Step 8: Commit Migration
148
+
149
+ ```bash
150
+ git add -A
151
+ git commit -m "chore: migrate to AmazingTeam Foundation v3
152
+
153
+ - Remove committed foundation files
154
+ - Add amazingteam.config.yaml
155
+ - Update workflow file
156
+ - Update .gitignore
157
+ "
158
+ ```
159
+
160
+ ### Step 9: Test Migration
161
+
162
+ ```bash
163
+ # Download foundation locally
164
+ npx amazingteam local
165
+
166
+ # Verify setup
167
+ npx amazingteam validate
168
+
169
+ # Check status
170
+ npx amazingteam status
171
+ ```
172
+
173
+ ### Step 10: Push and Test in CI
174
+
175
+ ```bash
176
+ git push origin main
177
+
178
+ # Create a test issue with a command like:
179
+ # /ai status
180
+ ```
181
+
182
+ ---
183
+
184
+ ## Detailed Migration Scenarios
185
+
186
+ ### Scenario 1: Minimal Customization
187
+
188
+ If you only changed presets and have no custom skills/commands:
189
+
190
+ ```yaml
191
+ # amazingteam.config.yaml
192
+ version: "1.0"
193
+ project:
194
+ name: "my-project"
195
+ language: "typescript"
196
+
197
+ build:
198
+ command: "npm run build"
199
+ test: "npm test"
200
+ lint: "npm run lint"
201
+ ```
202
+
203
+ ### Scenario 2: Custom Skills
204
+
205
+ If you created custom skills:
206
+
207
+ ```bash
208
+ # Keep your skills
209
+ mkdir -p .ai-team/skills
210
+ # Your existing skills remain in .ai-team/skills/
211
+
212
+ # They will be automatically merged with foundation skills
213
+ ```
214
+
215
+ ### Scenario 3: Modified AGENTS.md
216
+
217
+ If you heavily modified `AGENTS.md`:
218
+
219
+ **Option A: Use as overlay**
220
+ ```yaml
221
+ # amazingteam.config.yaml
222
+ overlay:
223
+ content: |
224
+ # Your custom additions to AGENTS.md
225
+ ## Project-Specific Rules
226
+ - Use specific naming conventions
227
+ - Follow company coding standards
228
+ ```
229
+
230
+ **Option B: Replace entirely**
231
+ ```bash
232
+ # Keep your AGENTS.md as-is
233
+ # It will override foundation's AGENTS.md
234
+ ```
235
+
236
+ ### Scenario 4: Custom Memory Content
237
+
238
+ Your agent memories in `.ai-team/memory/` are preserved:
239
+
240
+ ```bash
241
+ # These directories are NOT removed during migration:
242
+ .ai-team/memory/planner/
243
+ .ai-team/memory/developer/
244
+ # etc.
245
+ ```
246
+
247
+ ---
248
+
249
+ ## Breaking Changes
250
+
251
+ ### 1. Skill Path Changes
252
+
253
+ **v2:**
254
+ ```
255
+ .opencode/skills/test-first-feature-dev/SKILL.md
256
+ ```
257
+
258
+ **v3:**
259
+ Skills are loaded from foundation at runtime. Custom skills in `.ai-team/skills/` are merged.
260
+
261
+ ### 2. Command Path Changes
262
+
263
+ **v2:**
264
+ ```
265
+ .opencode/commands/auto.md
266
+ ```
267
+
268
+ **v3:**
269
+ Commands are loaded from foundation. Custom commands defined in `amazingteam.config.yaml`.
270
+
271
+ ### 3. Preset Structure
272
+
273
+ **v2:**
274
+ Presets were files in `presets/` directory.
275
+
276
+ **v3:**
277
+ Presets are built-in to foundation. Specify by name:
278
+
279
+ ```yaml
280
+ # amazingteam.config.yaml
281
+ preset: "typescript" # or "python", "go", "default"
282
+ ```
283
+
284
+ ---
285
+
286
+ ## Troubleshooting
287
+
288
+ ### "Migration tool not found"
289
+
290
+ ```bash
291
+ # Install globally first
292
+ npm install -g amazingteam
293
+
294
+ # Or use npx
295
+ npx amazingteam migrate
296
+ ```
297
+
298
+ ### "v2 structure not detected"
299
+
300
+ The migration tool looks for these markers:
301
+ - `.ai-team/agents/` directory
302
+ - `.opencode/skills/` directory
303
+ - `AGENTS.md` file
304
+
305
+ If your project uses a different structure, you may need to create `amazingteam.config.yaml` manually.
306
+
307
+ ### "My customizations were lost"
308
+
309
+ 1. Check the `backup-before-v3-migration` branch
310
+ 2. Look for extracted customizations in `amazingteam.config.yaml`
311
+ 3. Your memories and tasks are preserved in `.ai-team/memory/` and `tasks/`
312
+
313
+ ### "CI fails after migration"
314
+
315
+ 1. Verify `amazingteam.config.yaml` exists
316
+ 2. Verify `.github/workflows/amazingteam.yml` exists
317
+ 3. Check GitHub Actions logs for specific error
318
+ 4. Run `npx amazingteam validate` locally
319
+
320
+ ### "OpenCode can't find commands/skills"
321
+
322
+ ```bash
323
+ # Download foundation locally
324
+ npx amazingteam local
325
+
326
+ # Verify opencode.jsonc exists
327
+ cat opencode.jsonc
328
+ ```
329
+
330
+ ---
331
+
332
+ ## Rollback
333
+
334
+ If migration causes issues, rollback:
335
+
336
+ ```bash
337
+ # Restore from backup
338
+ git checkout backup-before-v3-migration
339
+
340
+ # Create a new branch for another migration attempt
341
+ git checkout -b retry-v3-migration
342
+
343
+ # Try migration again
344
+ npx amazingteam migrate
345
+ ```
346
+
347
+ ---
348
+
349
+ ## Getting Help
350
+
351
+ If you encounter issues:
352
+
353
+ 1. Check the [troubleshooting guide](./quick-start-v3.md#troubleshooting)
354
+ 2. Review [config reference](./config-reference.md)
355
+ 3. Open an issue at https://github.com/your-org/amazingteam/issues
@@ -0,0 +1,156 @@
1
+ # Overlay Guide
2
+
3
+ This document describes how to create and use overlays for AI Team Foundation.
4
+
5
+ ## What is an Overlay?
6
+
7
+ An overlay is a set of configuration files that customize the base foundation for a specific technology stack or use case.
8
+
9
+ Overlays allow the foundation to support different project types without duplicating the entire structure.
10
+
11
+ ## Available Overlays
12
+
13
+ | Overlay | Description | Use Case |
14
+ |---------|-------------|----------|
15
+ | (none) | Base foundation only | General projects |
16
+ | `cpp-qt-desktop` | C++ Qt desktop applications | Desktop GUI apps |
17
+ | `python-backend` | Python backend services | API services |
18
+ | `web-fullstack` | Full-stack web applications | Web apps |
19
+ | `ai-agent-product` | AI agent products | AI products |
20
+
21
+ ## Using Overlays
22
+
23
+ ### During Initialization
24
+
25
+ ```bash
26
+ # Initialize with Python backend overlay
27
+ ./scripts/init_project.sh -o python-backend my-api
28
+
29
+ # Initialize with C++ Qt overlay
30
+ ./scripts/init_project.sh -o cpp-qt-desktop -l cpp my-desktop-app
31
+ ```
32
+
33
+ ### Overlay Application Order
34
+
35
+ 1. Base foundation files are copied first
36
+ 2. Overlay files are copied, potentially overriding base files
37
+ 3. Foundation lock is created with overlay name
38
+
39
+ ## Creating a New Overlay
40
+
41
+ ### Directory Structure
42
+
43
+ ```
44
+ overlays/
45
+ └── my-overlay/
46
+ ├── .ai-team/
47
+ │ ├── agents/ # Override or add agents
48
+ │ ├── skills/ # Add overlay-specific skills
49
+ │ └── commands/ # Add overlay-specific commands
50
+ ├── .github/
51
+ │ └── workflows/ # Override or add workflows
52
+ ├── docs/
53
+ │ └── # Add overlay-specific docs
54
+ └── overlay.yaml # Overlay metadata
55
+ ```
56
+
57
+ ### overlay.yaml
58
+
59
+ ```yaml
60
+ name: my-overlay
61
+ description: Description of this overlay
62
+ version: 1.0.0
63
+ compatible_foundation_versions:
64
+ - "2.0.0"
65
+ - "2.1.0"
66
+
67
+ # Files that will override base foundation
68
+ overrides:
69
+ - .ai-team/agents/developer.md
70
+ - .github/workflows/ci.yml
71
+
72
+ # Files that will be added (not override)
73
+ additions:
74
+ - .ai-team/skills/my-skill/
75
+ - docs/my-docs/
76
+ ```
77
+
78
+ ### Best Practices
79
+
80
+ 1. **Minimal Overrides**: Only override what's necessary
81
+ 2. **Document Changes**: Explain why each override is needed
82
+ 3. **Version Compatibility**: Specify compatible foundation versions
83
+ 4. **Test Thoroughly**: Validate overlay with different foundation versions
84
+
85
+ ## Overlay Examples
86
+
87
+ ### python-backend Overlay
88
+
89
+ **Purpose**: Python backend service configuration
90
+
91
+ **Overrides**:
92
+ - `.ai-team/agents/developer.md` - Python-specific implementation guidelines
93
+ - `.github/workflows/ci.yml` - Python test/lint commands
94
+
95
+ **Additions**:
96
+ - `.ai-team/skills/python-testing/` - Python testing skill
97
+ - `docs/python-style.md` - Python style guide
98
+
99
+ ### cpp-qt-desktop Overlay
100
+
101
+ **Purpose**: C++ Qt desktop application configuration
102
+
103
+ **Overrides**:
104
+ - `.ai-team/agents/developer.md` - C++ implementation guidelines
105
+ - `.ai-team/skills/bugfix-playbook/skill.md` - C++ debugging patterns
106
+ - `.github/workflows/ci.yml` - CMake/build commands
107
+
108
+ **Additions**:
109
+ - `.ai-team/skills/qt-signals-slots/` - Qt patterns skill
110
+ - `docs/qt-conventions.md` - Qt coding conventions
111
+
112
+ ## Maintaining Overlays
113
+
114
+ ### When Foundation Updates
115
+
116
+ 1. Test overlay with new foundation version
117
+ 2. Update `compatible_foundation_versions` if compatible
118
+ 3. Fix any breaking changes in overridden files
119
+ 4. Update overlay version
120
+
121
+ ### Overlay Versioning
122
+
123
+ Overlays use semantic versioning:
124
+ - **MAJOR**: Breaking changes (incompatible with previous projects)
125
+ - **MINOR**: New features, backward compatible
126
+ - **PATCH**: Bug fixes
127
+
128
+ ## Contributing Overlays
129
+
130
+ To contribute a new overlay:
131
+
132
+ 1. Create overlay directory structure
133
+ 2. Add `overlay.yaml` with metadata
134
+ 3. Add documentation
135
+ 4. Test with `validate_foundation.sh`
136
+ 5. Submit PR with overlay description
137
+
138
+ ## Overlay-Specific Skills
139
+
140
+ Overlays can add skills for their technology stack:
141
+
142
+ ```
143
+ overlays/python-backend/.ai-team/skills/
144
+ └── python-testing/
145
+ └── skill.md
146
+ ```
147
+
148
+ When the overlay is applied, these skills are available to all agents.
149
+
150
+ ## Multi-Overlay Projects
151
+
152
+ Currently, only one overlay can be applied per project. If you need features from multiple overlays:
153
+
154
+ 1. Choose the primary overlay
155
+ 2. Manually copy needed files from other overlays
156
+ 3. Document in `.foundation/local-overrides.md`
@@ -0,0 +1,67 @@
1
+ # Implementation Patterns
2
+
3
+ This directory contains reusable implementation patterns for common scenarios.
4
+
5
+ ## Purpose
6
+
7
+ - Document proven patterns that work well in this codebase
8
+ - Provide templates for common implementation tasks
9
+ - Share knowledge across tasks and developers
10
+ - Reduce re-invention of solutions
11
+
12
+ ## Pattern Categories
13
+
14
+ ### Architectural Patterns
15
+
16
+ - Module organization
17
+ - Dependency injection
18
+ - Configuration management
19
+ - Error handling strategies
20
+
21
+ ### Code Patterns
22
+
23
+ - Repository pattern
24
+ - Service layer pattern
25
+ - Factory pattern
26
+ - Observer pattern
27
+
28
+ ### Testing Patterns
29
+
30
+ - Test data builders
31
+ - Mock factories
32
+ - Test fixtures
33
+ - Assertion helpers
34
+
35
+ ## Contributing Patterns
36
+
37
+ When adding a new pattern:
38
+
39
+ 1. Ensure the pattern has been validated in production
40
+ 2. Document the problem it solves
41
+ 3. Provide a clear example
42
+ 4. Note when NOT to use the pattern
43
+ 5. Add cross-references to related patterns
44
+
45
+ ## Pattern Template
46
+
47
+ ```markdown
48
+ # [Pattern Name]
49
+
50
+ ## Problem
51
+ [What problem does this pattern solve?]
52
+
53
+ ## Solution
54
+ [Description of the pattern]
55
+
56
+ ## Example
57
+ [Code example]
58
+
59
+ ## When to Use
60
+ [Appropriate scenarios]
61
+
62
+ ## When NOT to Use
63
+ [Inappropriate scenarios]
64
+
65
+ ## Related Patterns
66
+ [Links to related patterns]
67
+ ```