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,75 @@
|
|
|
1
|
+
id: issue-000
|
|
2
|
+
title: Task Template
|
|
3
|
+
type: feature
|
|
4
|
+
status: backlog
|
|
5
|
+
priority: medium
|
|
6
|
+
owner_role: planner
|
|
7
|
+
depends_on: []
|
|
8
|
+
blocked_by: []
|
|
9
|
+
acceptance_criteria:
|
|
10
|
+
- Acceptance criterion 1
|
|
11
|
+
- Acceptance criterion 2
|
|
12
|
+
risk_level: low
|
|
13
|
+
module_scope:
|
|
14
|
+
- module1
|
|
15
|
+
- module2
|
|
16
|
+
estimated_effort: medium
|
|
17
|
+
created_at: YYYY-MM-DD
|
|
18
|
+
updated_at: YYYY-MM-DD
|
|
19
|
+
|
|
20
|
+
github_issue: 000
|
|
21
|
+
github_url: https://github.com/org/repo/issues/000
|
|
22
|
+
parent_task: null
|
|
23
|
+
parent_github_issue: null
|
|
24
|
+
requires_decomposition: false
|
|
25
|
+
|
|
26
|
+
subtasks:
|
|
27
|
+
- id: issue-000-subtask-01
|
|
28
|
+
github_issue: null
|
|
29
|
+
title: "[Subtask] Analysis"
|
|
30
|
+
type: analysis
|
|
31
|
+
owner_role: architect
|
|
32
|
+
status: pending
|
|
33
|
+
depends_on: []
|
|
34
|
+
- id: issue-000-subtask-02
|
|
35
|
+
github_issue: null
|
|
36
|
+
title: "[Subtask] Design"
|
|
37
|
+
type: design
|
|
38
|
+
owner_role: architect
|
|
39
|
+
status: pending
|
|
40
|
+
depends_on: [issue-000-subtask-01]
|
|
41
|
+
- id: issue-000-subtask-03
|
|
42
|
+
github_issue: null
|
|
43
|
+
title: "[Subtask] Implementation"
|
|
44
|
+
type: implementation
|
|
45
|
+
owner_role: developer
|
|
46
|
+
status: pending
|
|
47
|
+
depends_on: [issue-000-subtask-02]
|
|
48
|
+
- id: issue-000-subtask-04
|
|
49
|
+
github_issue: null
|
|
50
|
+
title: "[Subtask] Validation"
|
|
51
|
+
type: validation
|
|
52
|
+
owner_role: qa
|
|
53
|
+
status: pending
|
|
54
|
+
depends_on: [issue-000-subtask-03]
|
|
55
|
+
- id: issue-000-subtask-05
|
|
56
|
+
github_issue: null
|
|
57
|
+
title: "[Subtask] Review"
|
|
58
|
+
type: review
|
|
59
|
+
owner_role: reviewer
|
|
60
|
+
status: pending
|
|
61
|
+
depends_on: [issue-000-subtask-04]
|
|
62
|
+
|
|
63
|
+
notes: |
|
|
64
|
+
Additional notes about this task.
|
|
65
|
+
|
|
66
|
+
- Context
|
|
67
|
+
- Assumptions
|
|
68
|
+
- Dependencies
|
|
69
|
+
- Constraints
|
|
70
|
+
|
|
71
|
+
links:
|
|
72
|
+
- type: issue
|
|
73
|
+
url: https://github.com/org/repo/issues/000
|
|
74
|
+
- type: pr
|
|
75
|
+
url: null
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Validation
|
|
2
|
+
|
|
3
|
+
## Issue: [Issue Title]
|
|
4
|
+
|
|
5
|
+
**Issue ID**: issue-XXX
|
|
6
|
+
**Validator**: QA Agent
|
|
7
|
+
**Date**: YYYY-MM-DD
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Validation Summary
|
|
12
|
+
|
|
13
|
+
[Overall validation result]
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Test Results
|
|
18
|
+
|
|
19
|
+
### Unit Tests
|
|
20
|
+
|
|
21
|
+
| Suite | Tests | Passed | Failed | Skipped |
|
|
22
|
+
|-------|-------|--------|--------|---------|
|
|
23
|
+
| [Suite name] | X | X | 0 | 0 |
|
|
24
|
+
|
|
25
|
+
**Coverage**: XX%
|
|
26
|
+
|
|
27
|
+
### Integration Tests
|
|
28
|
+
|
|
29
|
+
| Suite | Tests | Passed | Failed |
|
|
30
|
+
|-------|-------|--------|--------|
|
|
31
|
+
| [Suite name] | X | X | 0 |
|
|
32
|
+
|
|
33
|
+
### E2E Tests
|
|
34
|
+
|
|
35
|
+
| Scenario | Status | Notes |
|
|
36
|
+
|----------|--------|-------|
|
|
37
|
+
| [Scenario 1] | ✅ Pass | |
|
|
38
|
+
| [Scenario 2] | ✅ Pass | |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Acceptance Criteria Verification
|
|
43
|
+
|
|
44
|
+
| Criterion | Status | Evidence |
|
|
45
|
+
|-----------|--------|----------|
|
|
46
|
+
| [Criterion 1] | ✅ Met | [How verified] |
|
|
47
|
+
| [Criterion 2] | ✅ Met | [How verified] |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Regression Testing
|
|
52
|
+
|
|
53
|
+
### Areas Tested
|
|
54
|
+
|
|
55
|
+
- [ ] Core functionality
|
|
56
|
+
- [ ] Authentication
|
|
57
|
+
- [ ] Authorization
|
|
58
|
+
- [ ] Data persistence
|
|
59
|
+
- [ ] Error handling
|
|
60
|
+
- [ ] Edge cases
|
|
61
|
+
|
|
62
|
+
### Regression Test Results
|
|
63
|
+
|
|
64
|
+
| Area | Status | Notes |
|
|
65
|
+
|------|--------|-------|
|
|
66
|
+
| [Area 1] | ✅ Pass | |
|
|
67
|
+
| [Area 2] | ✅ Pass | |
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Performance Testing
|
|
72
|
+
|
|
73
|
+
| Metric | Expected | Actual | Status |
|
|
74
|
+
|--------|----------|--------|--------|
|
|
75
|
+
| Response time | < Xms | Xms | ✅ |
|
|
76
|
+
| Memory usage | < XMB | XMB | ✅ |
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Security Testing
|
|
81
|
+
|
|
82
|
+
- [ ] Input validation verified
|
|
83
|
+
- [ ] Authentication tested
|
|
84
|
+
- [ ] Authorization tested
|
|
85
|
+
- [ ] No sensitive data exposure
|
|
86
|
+
- [ ] No SQL injection vulnerabilities
|
|
87
|
+
- [ ] No XSS vulnerabilities
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Edge Cases Tested
|
|
92
|
+
|
|
93
|
+
| Case | Input | Expected | Actual | Status |
|
|
94
|
+
|------|-------|----------|--------|--------|
|
|
95
|
+
| Empty input | `[]` | Error | Error | ✅ |
|
|
96
|
+
| Null value | `null` | Handled | Handled | ✅ |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Error Handling
|
|
101
|
+
|
|
102
|
+
| Error Case | Expected Behavior | Verified |
|
|
103
|
+
|------------|-------------------|----------|
|
|
104
|
+
| [Error 1] | [Behavior] | ✅ |
|
|
105
|
+
| [Error 2] | [Behavior] | ✅ |
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Issues Found
|
|
110
|
+
|
|
111
|
+
| Issue | Severity | Status |
|
|
112
|
+
|-------|----------|--------|
|
|
113
|
+
| | | |
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Sign-off
|
|
118
|
+
|
|
119
|
+
- **Test Coverage**: Adequate / Needs improvement
|
|
120
|
+
- **Acceptance Criteria**: All met / Not met
|
|
121
|
+
- **Regression Status**: No issues / Issues found
|
|
122
|
+
- **Recommendation**: Ready for review / Needs work
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Notes
|
|
127
|
+
|
|
128
|
+
[Additional validation notes]
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# AmazingTeam GitHub Action Workflow
|
|
2
|
+
# This workflow enables AI-powered development in your repository
|
|
3
|
+
#
|
|
4
|
+
# Template Variables:
|
|
5
|
+
# {{AMAZINGTEAM_VERSION}} - Foundation version (e.g., "3.0.0")
|
|
6
|
+
# {{PROJECT_NAME}} - Your project name
|
|
7
|
+
# {{PROJECT_DESCRIPTION}} - Project description
|
|
8
|
+
#
|
|
9
|
+
# After running `amazingteam init`, these variables will be replaced with actual values.
|
|
10
|
+
|
|
11
|
+
name: AmazingTeam
|
|
12
|
+
|
|
13
|
+
on:
|
|
14
|
+
issue_comment:
|
|
15
|
+
types: [created]
|
|
16
|
+
pull_request_review_comment:
|
|
17
|
+
types: [created]
|
|
18
|
+
|
|
19
|
+
jobs:
|
|
20
|
+
amazingteam:
|
|
21
|
+
# Trigger on /ai or /opencode commands
|
|
22
|
+
if: |
|
|
23
|
+
startsWith(github.event.comment.body, '/ai') ||
|
|
24
|
+
startsWith(github.event.comment.body, '/opencode') ||
|
|
25
|
+
startsWith(github.event.comment.body, '/oc')
|
|
26
|
+
|
|
27
|
+
runs-on: ubuntu-latest
|
|
28
|
+
|
|
29
|
+
permissions:
|
|
30
|
+
id-token: write
|
|
31
|
+
contents: write
|
|
32
|
+
pull-requests: write
|
|
33
|
+
issues: write
|
|
34
|
+
|
|
35
|
+
steps:
|
|
36
|
+
- name: Checkout repository
|
|
37
|
+
uses: actions/checkout@v4
|
|
38
|
+
with:
|
|
39
|
+
fetch-depth: 0
|
|
40
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
41
|
+
|
|
42
|
+
- name: Configure git
|
|
43
|
+
run: |
|
|
44
|
+
git config --global user.name "opencode-bot"
|
|
45
|
+
git config --global user.email "opencode-bot@users.noreply.github.com"
|
|
46
|
+
|
|
47
|
+
# Setup AmazingTeam Foundation
|
|
48
|
+
# Version is locked to ensure reproducible builds
|
|
49
|
+
- name: Setup AmazingTeam
|
|
50
|
+
uses: Burburton/amazingteam-action@v{{AMAZINGTEAM_VERSION}}
|
|
51
|
+
with:
|
|
52
|
+
version: '{{AMAZINGTEAM_VERSION}}'
|
|
53
|
+
config: 'amazingteam.config.yaml'
|
|
54
|
+
# Uncomment to use a specific overlay:
|
|
55
|
+
# overlay: 'python-backend'
|
|
56
|
+
|
|
57
|
+
# Run OpenCode with AmazingTeam capabilities
|
|
58
|
+
- name: Run OpenCode
|
|
59
|
+
uses: anomalyco/opencode/github@latest
|
|
60
|
+
env:
|
|
61
|
+
# Required: Your AI provider API key
|
|
62
|
+
ALIBABA_CODING_PLAN_API_KEY: ${{ secrets.ALIBABA_CODING_PLAN_API_KEY }}
|
|
63
|
+
# Or use OpenCode API key:
|
|
64
|
+
# OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
|
|
65
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
66
|
+
with:
|
|
67
|
+
model: alibaba-coding-plan/glm-5
|
|
68
|
+
# Or use other supported models:
|
|
69
|
+
# model: openai/gpt-4
|
|
70
|
+
|
|
71
|
+
# Optional: CI check on AI-created PRs
|
|
72
|
+
amazingteam-ci:
|
|
73
|
+
if: github.event_name == 'pull_request'
|
|
74
|
+
runs-on: ubuntu-latest
|
|
75
|
+
steps:
|
|
76
|
+
- uses: actions/checkout@v4
|
|
77
|
+
- name: Run CI
|
|
78
|
+
run: |
|
|
79
|
+
echo "Running CI checks..."
|
|
80
|
+
# Add your CI commands here
|
|
81
|
+
# npm ci && npm test && npm run lint
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# AI Team Foundation - .gitignore additions
|
|
2
|
+
# Add these lines to your project's .gitignore
|
|
3
|
+
|
|
4
|
+
# AI Team local foundation (downloaded by `ai-team local`)
|
|
5
|
+
.ai-team-local/
|
|
6
|
+
|
|
7
|
+
# AI Team cache
|
|
8
|
+
.ai-team-cache/
|
|
9
|
+
|
|
10
|
+
# Task memory (optional - uncomment if you don't want to track tasks)
|
|
11
|
+
# tasks/issue-*/
|
|
12
|
+
|
|
13
|
+
# Memory files (optional - uncomment if you don't want to track memory)
|
|
14
|
+
# .ai-team/memory/**/*.md
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://opencode.ai/schema.json",
|
|
3
|
+
"version": "{{AI_TEAM_VERSION}}",
|
|
4
|
+
"project": {
|
|
5
|
+
"name": "{{PROJECT_NAME}}",
|
|
6
|
+
"description": "{{PROJECT_DESCRIPTION}}",
|
|
7
|
+
"language": "{{LANGUAGE}}",
|
|
8
|
+
"framework": "{{FRAMEWORK}}"
|
|
9
|
+
},
|
|
10
|
+
"agents": {
|
|
11
|
+
"planner": {
|
|
12
|
+
"description": "Decomposes tasks and coordinates workflow progression",
|
|
13
|
+
"model": "default",
|
|
14
|
+
"skills": ["task-breakdown-and-dispatch"],
|
|
15
|
+
"commands": [],
|
|
16
|
+
"memory": {
|
|
17
|
+
"read": ["docs/", "AGENTS.md", ".ai-team/memory/planner/", ".ai-team/memory/architect/", ".ai-team/memory/triage/", ".ai-team/memory/failures/", "tasks/"],
|
|
18
|
+
"write": [".ai-team/memory/planner/", "tasks/{task_id}/task.yaml"]
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"architect": {
|
|
22
|
+
"description": "Analyzes requirements and designs solutions",
|
|
23
|
+
"model": "default",
|
|
24
|
+
"skills": ["repo-architecture-reader"],
|
|
25
|
+
"commands": ["/design"],
|
|
26
|
+
"memory": {
|
|
27
|
+
"read": ["docs/", "AGENTS.md", ".ai-team/memory/planner/", ".ai-team/memory/architect/", ".ai-team/memory/developer/", ".ai-team/memory/failures/", "tasks/"],
|
|
28
|
+
"write": [".ai-team/memory/architect/", "tasks/{task_id}/analysis.md", "tasks/{task_id}/design.md"]
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"developer": {
|
|
32
|
+
"description": "Implements features and fixes bugs",
|
|
33
|
+
"model": "default",
|
|
34
|
+
"skills": ["test-first-feature-dev", "bugfix-playbook"],
|
|
35
|
+
"commands": ["/implement"],
|
|
36
|
+
"memory": {
|
|
37
|
+
"read": ["docs/", "AGENTS.md", ".ai-team/memory/planner/", ".ai-team/memory/architect/", ".ai-team/memory/developer/", ".ai-team/memory/failures/", "tasks/{task_id}/"],
|
|
38
|
+
"write": [".ai-team/memory/developer/", "tasks/{task_id}/implementation.md", "src/", "tests/"]
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"qa": {
|
|
42
|
+
"description": "Validates implementations and ensures quality",
|
|
43
|
+
"model": "default",
|
|
44
|
+
"skills": ["test-first-feature-dev", "regression-checklist"],
|
|
45
|
+
"commands": ["/test"],
|
|
46
|
+
"memory": {
|
|
47
|
+
"read": ["docs/", "AGENTS.md", ".ai-team/memory/planner/", ".ai-team/memory/architect/", ".ai-team/memory/qa/", ".ai-team/memory/failures/", "tasks/{task_id}/"],
|
|
48
|
+
"write": [".ai-team/memory/qa/", "tasks/{task_id}/validation.md", "tests/"]
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"reviewer": {
|
|
52
|
+
"description": "Reviews code for quality and correctness",
|
|
53
|
+
"model": "default",
|
|
54
|
+
"skills": ["safe-refactor-checklist", "regression-checklist", "release-readiness-check"],
|
|
55
|
+
"commands": ["/review", "/release-check"],
|
|
56
|
+
"memory": {
|
|
57
|
+
"read": ["docs/", "AGENTS.md", ".ai-team/memory/", ".ai-team/memory/failures/", "tasks/{task_id}/"],
|
|
58
|
+
"write": [".ai-team/memory/reviewer/", "tasks/{task_id}/review.md", "tasks/{task_id}/release.md"]
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"triage": {
|
|
62
|
+
"description": "Classifies issues and performs first-pass debug analysis",
|
|
63
|
+
"model": "default",
|
|
64
|
+
"skills": ["issue-triage", "bugfix-playbook"],
|
|
65
|
+
"commands": ["/triage"],
|
|
66
|
+
"memory": {
|
|
67
|
+
"read": ["docs/", "AGENTS.md", ".ai-team/memory/triage/", ".ai-team/memory/failures/", "tasks/{task_id}/"],
|
|
68
|
+
"write": [".ai-team/memory/triage/", "tasks/{task_id}/"]
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"ci-analyst": {
|
|
72
|
+
"description": "Investigates CI failures and documents patterns",
|
|
73
|
+
"model": "default",
|
|
74
|
+
"skills": ["ci-failure-analysis", "bugfix-playbook"],
|
|
75
|
+
"commands": ["/ci-analyze"],
|
|
76
|
+
"memory": {
|
|
77
|
+
"read": ["docs/", "AGENTS.md", ".ai-team/memory/ci-analyst/", ".ai-team/memory/failures/", "tasks/{task_id}/", "docs/runbooks/ci/"],
|
|
78
|
+
"write": [".ai-team/memory/ci-analyst/", ".ai-team/memory/failures/", "tasks/{task_id}/"]
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"skills": {
|
|
83
|
+
"repo-architecture-reader": {
|
|
84
|
+
"path": "{{FOUNDATION_PATH}}/.opencode/skills/repo-architecture-reader/SKILL.md"
|
|
85
|
+
},
|
|
86
|
+
"bugfix-playbook": {
|
|
87
|
+
"path": "{{FOUNDATION_PATH}}/.opencode/skills/bugfix-playbook/SKILL.md"
|
|
88
|
+
},
|
|
89
|
+
"test-first-feature-dev": {
|
|
90
|
+
"path": "{{FOUNDATION_PATH}}/.opencode/skills/test-first-feature-dev/SKILL.md"
|
|
91
|
+
},
|
|
92
|
+
"safe-refactor-checklist": {
|
|
93
|
+
"path": "{{FOUNDATION_PATH}}/.opencode/skills/safe-refactor-checklist/SKILL.md"
|
|
94
|
+
},
|
|
95
|
+
"task-breakdown-and-dispatch": {
|
|
96
|
+
"path": "{{FOUNDATION_PATH}}/.opencode/skills/task-breakdown-and-dispatch/SKILL.md"
|
|
97
|
+
},
|
|
98
|
+
"issue-triage": {
|
|
99
|
+
"path": "{{FOUNDATION_PATH}}/.opencode/skills/issue-triage/SKILL.md"
|
|
100
|
+
},
|
|
101
|
+
"ci-failure-analysis": {
|
|
102
|
+
"path": "{{FOUNDATION_PATH}}/.opencode/skills/ci-failure-analysis/SKILL.md"
|
|
103
|
+
},
|
|
104
|
+
"regression-checklist": {
|
|
105
|
+
"path": "{{FOUNDATION_PATH}}/.opencode/skills/regression-checklist/SKILL.md"
|
|
106
|
+
},
|
|
107
|
+
"release-readiness-check": {
|
|
108
|
+
"path": "{{FOUNDATION_PATH}}/.opencode/skills/release-readiness-check/SKILL.md"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"commands": {
|
|
112
|
+
"/triage": {
|
|
113
|
+
"path": "{{FOUNDATION_PATH}}/.ai-team/commands/triage.md",
|
|
114
|
+
"agent": "triage"
|
|
115
|
+
},
|
|
116
|
+
"/design": {
|
|
117
|
+
"path": "{{FOUNDATION_PATH}}/.ai-team/commands/design.md",
|
|
118
|
+
"agent": "architect"
|
|
119
|
+
},
|
|
120
|
+
"/implement": {
|
|
121
|
+
"path": "{{FOUNDATION_PATH}}/.ai-team/commands/implement.md",
|
|
122
|
+
"agent": "developer"
|
|
123
|
+
},
|
|
124
|
+
"/test": {
|
|
125
|
+
"path": "{{FOUNDATION_PATH}}/.ai-team/commands/test.md",
|
|
126
|
+
"agent": "qa"
|
|
127
|
+
},
|
|
128
|
+
"/review": {
|
|
129
|
+
"path": "{{FOUNDATION_PATH}}/.ai-team/commands/review.md",
|
|
130
|
+
"agent": "reviewer"
|
|
131
|
+
},
|
|
132
|
+
"/ci-analyze": {
|
|
133
|
+
"path": "{{FOUNDATION_PATH}}/.ai-team/commands/ci-analyze.md",
|
|
134
|
+
"agent": "ci-analyst"
|
|
135
|
+
},
|
|
136
|
+
"/release-check": {
|
|
137
|
+
"path": "{{FOUNDATION_PATH}}/.ai-team/commands/release-check.md",
|
|
138
|
+
"agent": "reviewer"
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"workflows": {
|
|
142
|
+
"feature": ["planner", "architect", "developer", "qa", "reviewer"],
|
|
143
|
+
"bugfix": ["triage", "architect", "developer", "qa", "reviewer"],
|
|
144
|
+
"refactor": ["architect", "developer", "reviewer"],
|
|
145
|
+
"ci-failure": ["ci-analyst", "developer", "qa"],
|
|
146
|
+
"release": ["reviewer"]
|
|
147
|
+
},
|
|
148
|
+
"memory": {
|
|
149
|
+
"global": {
|
|
150
|
+
"locations": ["docs/", "AGENTS.md"],
|
|
151
|
+
"writeRequiresApproval": true
|
|
152
|
+
},
|
|
153
|
+
"role": {
|
|
154
|
+
"base_path": ".ai-team/memory",
|
|
155
|
+
"roles": {
|
|
156
|
+
"planner": {
|
|
157
|
+
"files": ["decomposition_notes.md", "flow_rules.md", "github_issue_patterns.md"]
|
|
158
|
+
},
|
|
159
|
+
"architect": {
|
|
160
|
+
"files": ["architecture_notes.md", "module_map.md", "design_rationale.md"]
|
|
161
|
+
},
|
|
162
|
+
"developer": {
|
|
163
|
+
"files": ["implementation_notes.md", "bug_investigation.md", "build_issues.md"]
|
|
164
|
+
},
|
|
165
|
+
"qa": {
|
|
166
|
+
"files": ["test_strategy.md", "regression_cases.md", "validation_notes.md"]
|
|
167
|
+
},
|
|
168
|
+
"reviewer": {
|
|
169
|
+
"files": ["review_notes.md", "quality_rules.md", "recurring_risks.md"]
|
|
170
|
+
},
|
|
171
|
+
"triage": {
|
|
172
|
+
"files": ["classification_heuristics.md", "debug_notes.md"]
|
|
173
|
+
},
|
|
174
|
+
"ci-analyst": {
|
|
175
|
+
"files": ["failure_patterns.md", "runbook_references.md"]
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
"failures": {
|
|
180
|
+
"path": ".ai-team/memory/failures",
|
|
181
|
+
"files": ["failure_library.md"],
|
|
182
|
+
"writableBy": ["ci-analyst"]
|
|
183
|
+
},
|
|
184
|
+
"task": {
|
|
185
|
+
"base_path": "tasks",
|
|
186
|
+
"naming": "issue-{issue_id}",
|
|
187
|
+
"files": ["task.yaml", "analysis.md", "design.md", "implementation.md", "validation.md", "review.md", "release.md"],
|
|
188
|
+
"autoCreate": true,
|
|
189
|
+
"preserveAfterCompletion": true
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"rules": {
|
|
193
|
+
"maxChangesPerCommit": 10,
|
|
194
|
+
"requireTests": true,
|
|
195
|
+
"requireReview": true,
|
|
196
|
+
"autoMerge": false,
|
|
197
|
+
"memoryIsolation": true,
|
|
198
|
+
"protectedPaths": ["docs/architecture/", "docs/decisions/"],
|
|
199
|
+
"humanApprovalRequired": ["architecture changes", "release operations", "breaking changes"]
|
|
200
|
+
},
|
|
201
|
+
"integrations": {
|
|
202
|
+
"github": {
|
|
203
|
+
"enabled": true,
|
|
204
|
+
"autoLabel": true,
|
|
205
|
+
"autoAssign": true
|
|
206
|
+
},
|
|
207
|
+
"ci": {
|
|
208
|
+
"enabled": true,
|
|
209
|
+
"requirePassing": true,
|
|
210
|
+
"failureAnalysis": {
|
|
211
|
+
"enabled": true,
|
|
212
|
+
"agent": "ci-analyst"
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|