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,82 @@
1
+ # Planner Memory - Task Decomposition Notes
2
+
3
+ This file stores task decomposition and workflow orchestration knowledge.
4
+
5
+ ---
6
+
7
+ ## Task Decomposition Patterns
8
+
9
+ ### Feature Tasks
10
+
11
+ | Complexity | Typical Phases | Typical Duration |
12
+ |------------|----------------|------------------|
13
+ | Simple | Design → Implement → Test | 1-2 days |
14
+ | Moderate | Design → Implement → Test → Review | 3-5 days |
15
+ | Complex | Analysis → Design → Implement → Test → Review → Release | 1-2 weeks |
16
+
17
+ ### Bug Tasks
18
+
19
+ | Severity | Typical Flow | Priority |
20
+ |----------|--------------|----------|
21
+ | Critical | Triage → Fix → Test → Deploy | Immediate |
22
+ | High | Triage → Fix → Test → Review | Within sprint |
23
+ | Medium | Triage → Fix → Test | Next sprint |
24
+ | Low | Triage → Fix | Backlog |
25
+
26
+ ---
27
+
28
+ ## Workflow Rules
29
+
30
+ ### Handoff Rules
31
+
32
+ | From | To | Criteria |
33
+ |------|-----|----------|
34
+ | Architect | Developer | Design approved |
35
+ | Developer | QA | Implementation complete |
36
+ | QA | Reviewer | Tests passing |
37
+ | Reviewer | Release | Review approved |
38
+
39
+ ### Blocking Conditions
40
+
41
+ - Design not approved → Block implementation
42
+ - Tests failing → Block review
43
+ - Review not approved → Block merge
44
+ - Dependencies incomplete → Block start
45
+
46
+ ---
47
+
48
+ ## Dispatch Log
49
+
50
+ ### [Date] - [Task ID]
51
+
52
+ **Task**: [Description]
53
+
54
+ **Decomposition**: [How it was broken down]
55
+
56
+ **Dispatch**: [Which roles were involved]
57
+
58
+ **Outcome**: [Result]
59
+
60
+ ---
61
+
62
+ ## Dependency Tracking
63
+
64
+ ### Active Dependencies
65
+
66
+ | Task | Depends On | Status |
67
+ |------|------------|--------|
68
+ | | | |
69
+
70
+ ### Dependency Resolution Strategies
71
+
72
+ - Parallelize when possible
73
+ - Break dependencies with interfaces
74
+ - Document assumptions when blocking
75
+
76
+ ---
77
+
78
+ ## Notes
79
+
80
+ - Update after each task decomposition
81
+ - Track patterns that work well
82
+ - Note recurring dependency issues
@@ -0,0 +1,86 @@
1
+ # Planner Memory - Flow Rules
2
+
3
+ This file stores workflow progression rules and state machine logic.
4
+
5
+ ---
6
+
7
+ ## Task State Machine
8
+
9
+ ```
10
+ backlog → ready → in_analysis → in_design → in_implementation → in_validation → in_review → release_candidate → done
11
+ ↓ ↓
12
+ blocked ←───────────────────────────────────────── ←
13
+ ```
14
+
15
+ ### Valid State Transitions
16
+
17
+ | Current State | Valid Next States |
18
+ |---------------|-------------------|
19
+ | backlog | ready |
20
+ | ready | in_analysis, blocked |
21
+ | in_analysis | in_design, blocked, ready |
22
+ | in_design | in_implementation, blocked, in_analysis |
23
+ | in_implementation | in_validation, blocked, in_design |
24
+ | in_validation | in_review, in_implementation, blocked |
25
+ | in_review | release_candidate, in_implementation, blocked |
26
+ | release_candidate | done, in_review, blocked |
27
+ | blocked | (previous state before blocking) |
28
+ | done | (terminal) |
29
+
30
+ ---
31
+
32
+ ## State Entry Criteria
33
+
34
+ ### ready
35
+
36
+ - Task has clear description
37
+ - Acceptance criteria defined
38
+ - Priority assigned
39
+
40
+ ### in_analysis
41
+
42
+ - Architect assigned
43
+ - Analysis document created
44
+
45
+ ### in_design
46
+
47
+ - Analysis complete
48
+ - Design document created
49
+
50
+ ### in_implementation
51
+
52
+ - Design approved
53
+ - Developer assigned
54
+
55
+ ### in_validation
56
+
57
+ - Implementation complete
58
+ - Tests written
59
+
60
+ ### in_review
61
+
62
+ - Tests passing
63
+ - PR created
64
+
65
+ ### release_candidate
66
+
67
+ - Review approved
68
+ - All checks passing
69
+
70
+ ### blocked
71
+
72
+ - Blocking issue documented
73
+ - Escalation path defined
74
+
75
+ ### done
76
+
77
+ - All acceptance criteria met
78
+ - PR merged
79
+
80
+ ---
81
+
82
+ ## Notes
83
+
84
+ - Follow state transitions strictly
85
+ - Document blocking reasons
86
+ - Escalate long-blocked tasks
@@ -0,0 +1,229 @@
1
+ # Planner Memory - GitHub Issue Orchestration Patterns
2
+
3
+ This file stores patterns and rules for GitHub issue-based subtask orchestration.
4
+
5
+ ---
6
+
7
+ ## GitHub Issue Mapping
8
+
9
+ ### Parent Issue Structure
10
+
11
+ ```text
12
+ Title: [Descriptive title]
13
+
14
+ Background:
15
+ [Context and problem statement]
16
+
17
+ Overall Acceptance Criteria:
18
+ - [ ] Criterion 1
19
+ - [ ] Criterion 2
20
+ - [ ] Criterion 3
21
+
22
+ Decomposition Status:
23
+ - required: true/false
24
+ - child_issues_created: true/false
25
+
26
+ Child Issues:
27
+ - #XXX: [Subtask] Title 1
28
+ - #YYY: [Subtask] Title 2
29
+ - #ZZZ: [Subtask] Title 3
30
+
31
+ Completion Rule:
32
+ This issue closes only when all child issues are completed.
33
+ ```
34
+
35
+ ### Subtask Issue Structure
36
+
37
+ ```text
38
+ Title: [Subtask] Brief title
39
+
40
+ Parent Issue:
41
+ - #{parent-number}
42
+
43
+ Dependencies:
44
+ - #{dependency-issue-number} (if any)
45
+
46
+ Owner Role:
47
+ - architect | developer | qa | reviewer | triage | ci-analyst
48
+
49
+ Scope:
50
+ - [what this subtask covers]
51
+
52
+ Acceptance Criteria:
53
+ - [ ] Criterion 1
54
+ - [ ] Criterion 2
55
+
56
+ Out of Scope:
57
+ - [what is not covered]
58
+ ```
59
+
60
+ ---
61
+
62
+ ## Issue Labels
63
+
64
+ ### Type Labels
65
+ - `type:feature` - New functionality
66
+ - `type:bug` - Bug fix
67
+ - `type:tech-task` - Technical debt, refactoring
68
+ - `type:subtask` - Child issue of a larger task
69
+
70
+ ### Role Labels
71
+ - `role:architect` - Needs architecture work
72
+ - `role:developer` - Needs implementation
73
+ - `role:qa` - Needs validation
74
+ - `role:reviewer` - Needs review
75
+ - `role:triage` - Needs classification
76
+ - `role:ci-analyst` - Needs CI investigation
77
+
78
+ ### State Labels
79
+ - `state:ready` - Ready to work
80
+ - `state:in-progress` - Currently being worked on
81
+ - `state:blocked` - Blocked by something
82
+ - `state:in-review` - Under review
83
+ - `state:validated` - Tests passing
84
+
85
+ ---
86
+
87
+ ## Dependency Patterns
88
+
89
+ ### Sequential Chain
90
+ ```
91
+ #201 (design) → #202 (implement) → #203 (test) → #204 (review)
92
+ ```
93
+ Most common pattern. One subtask leads to the next.
94
+
95
+ ### Fan-Out
96
+ ```
97
+ → #202 (implement A)
98
+ #201 (design) ────→ → #203 (implement B)
99
+ → #204 (implement C)
100
+ ```
101
+ One design enables multiple parallel implementations.
102
+
103
+ ### Merge
104
+ ```
105
+ #201 (implement A) ─┐
106
+ #202 (implement B) ─┼→ #203 (integration test)
107
+ #204 (implement C) ─┘
108
+ ```
109
+ Multiple implementations merge into a validation step.
110
+
111
+ ### External Dependency
112
+ ```
113
+ #201 → [external artifact] → #202
114
+ ```
115
+ Blocked by something outside the issue graph.
116
+
117
+ ---
118
+
119
+ ## State Mapping
120
+
121
+ | Local State | GitHub State | Label |
122
+ |-------------|--------------|-------|
123
+ | backlog | open | - |
124
+ | ready | open | state:ready |
125
+ | in_analysis | open | state:in-progress, role:architect |
126
+ | in_design | open | state:in-progress, role:architect |
127
+ | in_implementation | open | state:in-progress, role:developer |
128
+ | in_validation | open | state:in-progress, role:qa |
129
+ | in_review | open | state:in-review |
130
+ | release_candidate | open | state:validated |
131
+ | blocked | open | state:blocked |
132
+ | done | closed | - |
133
+
134
+ ---
135
+
136
+ ## Dispatch Patterns
137
+
138
+ ### Design-First Flow
139
+ ```
140
+ Parent Issue
141
+
142
+ ├── #201: [Subtask] Design (architect)
143
+ │ ↓
144
+ ├── #202: [Subtask] Implement (developer)
145
+ │ ↓
146
+ ├── #203: [Subtask] Test (qa)
147
+ │ ↓
148
+ └── #204: [Subtask] Review (reviewer)
149
+ ```
150
+
151
+ ### Parallel Implementation Flow
152
+ ```
153
+ Parent Issue
154
+
155
+ ├── #201: [Subtask] Design API (architect)
156
+ │ ↓
157
+ │ ├→ #202: [Subtask] Implement Client (developer)
158
+ │ └→ #203: [Subtask] Implement Server (developer)
159
+ │ ↓
160
+ └── #204: [Subtask] Integration Test (qa)
161
+ ```
162
+
163
+ ### Bug Fix Flow
164
+ ```
165
+ Parent Issue (Bug)
166
+
167
+ ├── #201: [Subtask] Investigate (triage)
168
+ │ ↓
169
+ ├── #202: [Subtask] Fix (developer)
170
+ │ ↓
171
+ ├── #203: [Subtask] Regression Test (qa)
172
+ │ ↓
173
+ └── #204: [Subtask] Review (reviewer)
174
+ ```
175
+
176
+ ---
177
+
178
+ ## GitHub CLI Commands
179
+
180
+ ### Create Subtask
181
+ ```bash
182
+ gh issue create \
183
+ --title "[Subtask] Title" \
184
+ --body "Parent: #XXX
185
+ Dependencies: #YYY
186
+ Role: developer
187
+ ..." \
188
+ --label "type:subtask,role:developer,state:ready"
189
+ ```
190
+
191
+ ### Check Issue Status
192
+ ```bash
193
+ gh issue view {number} --json number,title,state,labels
194
+ ```
195
+
196
+ ### Link PR to Issue
197
+ ```bash
198
+ gh pr create --title "Title" --body "Fixes #XXX"
199
+ ```
200
+
201
+ ### Close Issue
202
+ ```bash
203
+ gh issue close {number} --comment "Completed via PR #YYY"
204
+ ```
205
+
206
+ ---
207
+
208
+ ## Completion Verification
209
+
210
+ ### Subtask Completion Checklist
211
+ - [ ] Acceptance criteria met
212
+ - [ ] Linked PR merged (or not required)
213
+ - [ ] Tests passing
214
+ - [ ] GitHub issue closed
215
+
216
+ ### Parent Completion Checklist
217
+ - [ ] All child issues closed
218
+ - [ ] Overall acceptance criteria met
219
+ - [ ] No unresolved blockers
220
+ - [ ] Documentation updated (if required)
221
+
222
+ ---
223
+
224
+ ## Notes
225
+
226
+ - Always maintain both GitHub and local task records
227
+ - Use labels consistently for project board integration
228
+ - One PR per subtask is preferred
229
+ - Never close parent before all children are complete
@@ -0,0 +1,101 @@
1
+ # QA Memory - Regression Cases
2
+
3
+ This file tracks regression test cases and patterns for the QA agent.
4
+
5
+ ---
6
+
7
+ ## Regression Test Categories
8
+
9
+ ### Critical Path Tests
10
+
11
+ These tests must always pass. They cover core functionality.
12
+
13
+ | Test ID | Feature | Description | Priority |
14
+ |---------|---------|-------------|----------|
15
+ | REG-001 | AI Agents | Agent configuration loads correctly | P0 |
16
+ | REG-002 | Memory | Memory directories are accessible | P0 |
17
+ | REG-003 | Commands | Commands execute correctly | P0 |
18
+
19
+ ### Security Tests
20
+
21
+ | Test ID | Feature | Description | Priority |
22
+ |---------|---------|-------------|----------|
23
+ | SEC-001 | Auth | Authentication validates tokens | P0 |
24
+ | SEC-002 | Input | Input sanitization works | P0 |
25
+ | SEC-003 | Access | Access control enforced | P1 |
26
+
27
+ ### Performance Tests
28
+
29
+ | Test ID | Feature | Description | Priority |
30
+ |---------|---------|-------------|----------|
31
+ | PER-001 | Build | Build completes in reasonable time | P1 |
32
+ | PER-002 | Tests | Test suite runs in reasonable time | P1 |
33
+
34
+ ---
35
+
36
+ ## Regression Checklist Template
37
+
38
+ ### Before Each Release
39
+
40
+ - [ ] All P0 tests pass
41
+ - [ ] All P1 tests pass
42
+ - [ ] Coverage meets threshold
43
+ - [ ] No new lint errors
44
+ - [ ] Build succeeds
45
+ - [ ] Documentation updated
46
+
47
+ ### After Bug Fixes
48
+
49
+ - [ ] Bug reproduction test added
50
+ - [ ] Related tests still pass
51
+ - [ ] No regression in similar features
52
+
53
+ ---
54
+
55
+ ## Regression Patterns
56
+
57
+ ### Pattern: State Pollution
58
+
59
+ **Symptoms**: Tests pass individually but fail when run together
60
+
61
+ **Cause**: Shared state between tests
62
+
63
+ **Prevention**: Reset state in beforeEach/afterEach
64
+
65
+ ### Pattern: Timing Issues
66
+
67
+ **Symptoms**: Tests fail intermittently
68
+
69
+ **Cause**: Race conditions or async timing
70
+
71
+ **Prevention**: Use proper async handling, avoid arbitrary waits
72
+
73
+ ### Pattern: Environment Differences
74
+
75
+ **Symptoms**: Tests pass locally but fail in CI
76
+
77
+ **Cause**: Different environment configuration
78
+
79
+ **Prevention**: Use consistent environment setup
80
+
81
+ ---
82
+
83
+ ## Regression Log
84
+
85
+ ### [Date] - [Regression Description]
86
+
87
+ **Issue**: [What regressed]
88
+
89
+ **Root Cause**: [Why it happened]
90
+
91
+ **Fix**: [How it was resolved]
92
+
93
+ **Test Added**: [What test prevents recurrence]
94
+
95
+ ---
96
+
97
+ ## Notes
98
+
99
+ - Update regression cases when new features are added
100
+ - Document any regression patterns discovered
101
+ - Keep priority classifications current
@@ -0,0 +1,138 @@
1
+ # QA Memory - Test Strategy
2
+
3
+ This file defines the testing strategy and approach for the QA agent.
4
+
5
+ ---
6
+
7
+ ## Testing Philosophy
8
+
9
+ ### Core Principles
10
+
11
+ 1. **Test behavior, not implementation**
12
+ 2. **Tests should be deterministic**
13
+ 3. **Each test should verify one thing**
14
+ 4. **Tests should be independent**
15
+ 5. **Tests should be fast**
16
+
17
+ ### Test Pyramid
18
+
19
+ ```
20
+ /\
21
+ / \
22
+ / E2E\ Few, slow, high confidence
23
+ /------\
24
+ / \
25
+ /Integration\ Some, moderate speed
26
+ /-----------\
27
+ / \
28
+ / Unit \ Many, fast, focused
29
+ -----------------
30
+ ```
31
+
32
+ ---
33
+
34
+ ## Test Categories
35
+
36
+ ### Unit Tests
37
+
38
+ | Aspect | Guidelines |
39
+ |--------|------------|
40
+ | Scope | Single function or class |
41
+ | Speed | < 100ms per test |
42
+ | Dependencies | Mocked |
43
+ | Coverage | > 80% for business logic |
44
+
45
+ ### Integration Tests
46
+
47
+ | Aspect | Guidelines |
48
+ |--------|------------|
49
+ | Scope | Multiple components |
50
+ | Speed | < 1s per test |
51
+ | Dependencies | Real or test doubles |
52
+ | Coverage | Critical paths |
53
+
54
+ ### End-to-End Tests
55
+
56
+ | Aspect | Guidelines |
57
+ |--------|------------|
58
+ | Scope | Full system |
59
+ | Speed | Seconds to minutes |
60
+ | Dependencies | All real |
61
+ | Coverage | User journeys |
62
+
63
+ ---
64
+
65
+ ## Test Structure (AAA Pattern)
66
+
67
+ ```typescript
68
+ describe('ComponentName', () => {
69
+ describe('methodName', () => {
70
+ it('should do something when condition', () => {
71
+ // Arrange
72
+ const input = createTestInput();
73
+ const expected = createExpectedOutput();
74
+
75
+ // Act
76
+ const result = component.method(input);
77
+
78
+ // Assert
79
+ expect(result).toEqual(expected);
80
+ });
81
+ });
82
+ });
83
+ ```
84
+
85
+ ---
86
+
87
+ ## Test Naming Convention
88
+
89
+ ```
90
+ should_[expectedBehavior]_when_[condition]
91
+
92
+ Examples:
93
+ - should_returnUser_when_validId
94
+ - should_throwError_when_invalidInput
95
+ - should_sendEmail_when_userSubscribes
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Test Data Management
101
+
102
+ ### Factories
103
+
104
+ ```typescript
105
+ function createTestUser(overrides = {}) {
106
+ return {
107
+ id: 'test-user-id',
108
+ name: 'Test User',
109
+ email: 'test@example.com',
110
+ ...overrides
111
+ };
112
+ }
113
+ ```
114
+
115
+ ### Fixtures
116
+
117
+ - Store complex test data in `__fixtures__/` directories
118
+ - Keep fixtures close to tests that use them
119
+ - Use JSON for complex objects
120
+
121
+ ---
122
+
123
+ ## Coverage Targets
124
+
125
+ | Type | Target | Rationale |
126
+ |------|--------|-----------|
127
+ | Branches | 80% | Catch edge cases |
128
+ | Functions | 80% | All code paths tested |
129
+ | Lines | 80% | Sufficient coverage |
130
+ | Statements | 80% | Granular coverage |
131
+
132
+ ---
133
+
134
+ ## Notes
135
+
136
+ - Update this file when testing approach changes
137
+ - Document new testing patterns
138
+ - Track coverage trends