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.
- package/.ai-team/agents/architect.md +144 -0
- package/.ai-team/agents/ci-analyst.md +188 -0
- package/.ai-team/agents/developer.md +176 -0
- package/.ai-team/agents/planner.md +355 -0
- package/.ai-team/agents/qa.md +189 -0
- package/.ai-team/agents/reviewer.md +211 -0
- package/.ai-team/agents/triage.md +146 -0
- package/.ai-team/commands/ci-analyze.md +116 -0
- package/.ai-team/commands/design.md +100 -0
- package/.ai-team/commands/implement.md +108 -0
- package/.ai-team/commands/release-check.md +142 -0
- package/.ai-team/commands/review.md +142 -0
- package/.ai-team/commands/test.md +115 -0
- package/.ai-team/commands/triage.md +138 -0
- package/.ai-team/memory/architect/architecture_notes.md +67 -0
- package/.ai-team/memory/architect/design_rationale.md +113 -0
- package/.ai-team/memory/architect/module_map.md +84 -0
- package/.ai-team/memory/ci-analyst/failure_patterns.md +102 -0
- package/.ai-team/memory/ci-analyst/runbook_references.md +87 -0
- package/.ai-team/memory/developer/bug_investigation.md +102 -0
- package/.ai-team/memory/developer/build_issues.md +115 -0
- package/.ai-team/memory/developer/implementation_notes.md +83 -0
- package/.ai-team/memory/failures/failure_library.md +103 -0
- package/.ai-team/memory/planner/decomposition_notes.md +82 -0
- package/.ai-team/memory/planner/flow_rules.md +86 -0
- package/.ai-team/memory/planner/github_issue_patterns.md +229 -0
- package/.ai-team/memory/qa/regression_cases.md +101 -0
- package/.ai-team/memory/qa/test_strategy.md +138 -0
- package/.ai-team/memory/qa/validation_notes.md +110 -0
- package/.ai-team/memory/reviewer/quality_rules.md +105 -0
- package/.ai-team/memory/reviewer/recurring_risks.md +109 -0
- package/.ai-team/memory/reviewer/review_notes.md +124 -0
- package/.ai-team/memory/triage/classification_heuristics.md +82 -0
- package/.ai-team/memory/triage/debug_notes.md +87 -0
- package/.ai-team/opencode.template.jsonc +216 -0
- package/.ai-team/skills/bugfix-playbook/skill.md +174 -0
- package/.ai-team/skills/ci-failure-analysis/skill.md +176 -0
- package/.ai-team/skills/issue-triage/skill.md +163 -0
- package/.ai-team/skills/regression-checklist/skill.md +176 -0
- package/.ai-team/skills/release-readiness-check/skill.md +216 -0
- package/.ai-team/skills/repo-architecture-reader/skill.md +139 -0
- package/.ai-team/skills/safe-refactor-checklist/skill.md +215 -0
- package/.ai-team/skills/task-breakdown-and-dispatch/skill.md +151 -0
- package/.ai-team/skills/test-first-feature-dev/skill.md +205 -0
- package/.ai-team/workflows/ci.yml +81 -0
- package/.ai-team/workflows/nightly-ai-maintenance.yml +129 -0
- package/.ai-team/workflows/opencode.yml +33 -0
- package/.ai-team/workflows/pr-check.yml +41 -0
- package/.foundation/foundation.lock +38 -0
- package/.foundation/local-overrides.md +97 -0
- package/.foundation/upgrade-history.md +38 -0
- package/.opencode/agents/architect.md +38 -0
- package/.opencode/agents/ci-analyst.md +38 -0
- package/.opencode/agents/developer.md +43 -0
- package/.opencode/agents/planner.md +47 -0
- package/.opencode/agents/qa.md +34 -0
- package/.opencode/agents/reviewer.md +38 -0
- package/.opencode/agents/triage.md +37 -0
- package/.opencode/commands/auto.md +264 -0
- package/.opencode/commands/breakdown-issue.md +94 -0
- package/.opencode/commands/ci-analyze.md +15 -0
- package/.opencode/commands/close-parent-task.md +122 -0
- package/.opencode/commands/design.md +15 -0
- package/.opencode/commands/dispatch-next.md +102 -0
- package/.opencode/commands/implement.md +16 -0
- package/.opencode/commands/release-check.md +16 -0
- package/.opencode/commands/resume.md +88 -0
- package/.opencode/commands/review.md +15 -0
- package/.opencode/commands/show-blockers.md +97 -0
- package/.opencode/commands/summarize-parent.md +121 -0
- package/.opencode/commands/test.md +15 -0
- package/.opencode/commands/triage.md +109 -0
- package/.opencode/skills/bugfix-playbook/SKILL.md +81 -0
- package/.opencode/skills/ci-failure-analysis/SKILL.md +94 -0
- package/.opencode/skills/issue-triage/SKILL.md +80 -0
- package/.opencode/skills/regression-checklist/SKILL.md +81 -0
- package/.opencode/skills/release-readiness-check/SKILL.md +81 -0
- package/.opencode/skills/repo-architecture-reader/SKILL.md +65 -0
- package/.opencode/skills/safe-refactor-checklist/SKILL.md +76 -0
- package/.opencode/skills/task-breakdown-and-dispatch/SKILL.md +255 -0
- package/.opencode/skills/test-first-feature-dev/SKILL.md +78 -0
- package/AGENTS.md +879 -0
- package/CHANGELOG.md +261 -0
- package/LICENSE +21 -0
- package/README.md +1215 -0
- package/VERSION +1 -0
- package/action/__tests__/downloader.test.js +251 -0
- package/action/__tests__/merger.test.js +156 -0
- package/action/__tests__/path-resolver.test.js +199 -0
- package/action/__tests__/validator.test.js +310 -0
- package/action/action.yml +61 -0
- package/action/index.js +223 -0
- package/action/lib/downloader.js +344 -0
- package/action/lib/merger.js +170 -0
- package/action/lib/path-resolver.js +176 -0
- package/action/lib/setup.js +286 -0
- package/action/lib/validator.js +324 -0
- package/cli/__tests__/cli.test.js +270 -0
- package/cli/amazingteam.cjs +225 -0
- package/cli/commands/check-update.cjs +159 -0
- package/cli/commands/init.cjs +412 -0
- package/cli/commands/local.cjs +264 -0
- package/cli/commands/migrate.cjs +316 -0
- package/cli/commands/status.cjs +241 -0
- package/cli/commands/upgrade.cjs +213 -0
- package/cli/commands/validate.cjs +259 -0
- package/cli/commands/version.cjs +59 -0
- package/cli/sync.cjs +237 -0
- package/dist/index.js +35 -0
- package/docs/architecture/overview.md +138 -0
- package/docs/blocker_resolution_design.md +372 -0
- package/docs/bootstrap-model.md +356 -0
- package/docs/config-reference.md +458 -0
- package/docs/how-to-use.md +178 -0
- package/docs/migration-to-v3.md +355 -0
- package/docs/overlay-guide.md +156 -0
- package/docs/patterns/README.md +67 -0
- package/docs/quick-start-v3.md +330 -0
- package/docs/releases/README.md +64 -0
- package/docs/runbooks/ci/README.md +62 -0
- package/docs/runbooks/ci/build-debug.md +120 -0
- package/docs/runbooks/ci/flaky-tests.md +127 -0
- package/docs/runbooks/getting-started.md +81 -0
- package/docs/upgrade-policy.md +188 -0
- package/docs/versioning.md +199 -0
- package/overlays/README.md +30 -0
- package/overlays/ai-agent-product/.ai-team/skills/llm-integration/skill.md +99 -0
- package/overlays/ai-agent-product/docs/ai-agent-architecture.md +68 -0
- package/overlays/ai-agent-product/overlay.yaml +26 -0
- package/overlays/cpp-qt-desktop/.ai-team/skills/qt-signals-slots/skill.md +60 -0
- package/overlays/cpp-qt-desktop/docs/qt-conventions.md +64 -0
- package/overlays/cpp-qt-desktop/overlay.yaml +22 -0
- package/overlays/python-backend/.ai-team/skills/python-testing/skill.md +90 -0
- package/overlays/python-backend/docs/python-style.md +78 -0
- package/overlays/python-backend/overlay.yaml +22 -0
- package/overlays/web-fullstack/.ai-team/skills/frontend-testing/skill.md +70 -0
- package/overlays/web-fullstack/docs/frontend-conventions.md +68 -0
- package/overlays/web-fullstack/overlay.yaml +26 -0
- package/package.json +84 -0
- package/presets/default.yaml +161 -0
- package/presets/go.yaml +43 -0
- package/presets/python.yaml +43 -0
- package/presets/typescript.yaml +40 -0
- package/schemas/config.schema.json +239 -0
- package/scripts/diff_foundation_vs_project.sh +134 -0
- package/scripts/generate_docs.sh +200 -0
- package/scripts/init_project.sh +455 -0
- package/scripts/plan_upgrade.sh +268 -0
- package/scripts/upgrade_foundation.sh +365 -0
- package/scripts/validate-foundation.cjs +278 -0
- package/scripts/validate_foundation.sh +192 -0
- package/scripts/validate_project_setup.sh +171 -0
- package/tasks/README.md +94 -0
- package/tasks/_template/analysis.md +76 -0
- package/tasks/_template/design.md +121 -0
- package/tasks/_template/implementation.md +121 -0
- package/tasks/_template/release.md +119 -0
- package/tasks/_template/review.md +131 -0
- package/tasks/_template/subtasks/task.yaml +24 -0
- package/tasks/_template/task.yaml +75 -0
- package/tasks/_template/validation.md +128 -0
- package/templates/amazingteam.yml +81 -0
- package/templates/gitignore +14 -0
- 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
|
+
```
|