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,161 @@
|
|
|
1
|
+
# AmazingTeam Foundation - Default Configuration Preset
|
|
2
|
+
# This is the base configuration that all other presets extend from.
|
|
3
|
+
|
|
4
|
+
version: "1.0"
|
|
5
|
+
|
|
6
|
+
project:
|
|
7
|
+
name: ""
|
|
8
|
+
description: ""
|
|
9
|
+
language: "typescript"
|
|
10
|
+
framework: "node"
|
|
11
|
+
|
|
12
|
+
ai_team:
|
|
13
|
+
version: "3.0.0"
|
|
14
|
+
|
|
15
|
+
agents:
|
|
16
|
+
planner:
|
|
17
|
+
enabled: true
|
|
18
|
+
description: "Decomposes tasks and coordinates workflow progression"
|
|
19
|
+
skills: ["task-breakdown-and-dispatch"]
|
|
20
|
+
memory:
|
|
21
|
+
read: ["docs/", "AGENTS.md", ".amazingteam/memory/planner/", ".amazingteam/memory/architect/", ".amazingteam/memory/triage/", ".amazingteam/memory/failures/", "tasks/"]
|
|
22
|
+
write: [".amazingteam/memory/planner/", "tasks/{task_id}/task.yaml"]
|
|
23
|
+
|
|
24
|
+
architect:
|
|
25
|
+
enabled: true
|
|
26
|
+
description: "Analyzes requirements and designs solutions"
|
|
27
|
+
skills: ["repo-architecture-reader"]
|
|
28
|
+
memory:
|
|
29
|
+
read: ["docs/", "AGENTS.md", ".amazingteam/memory/planner/", ".amazingteam/memory/architect/", ".amazingteam/memory/developer/", ".amazingteam/memory/failures/", "tasks/"]
|
|
30
|
+
write: [".amazingteam/memory/architect/", "tasks/{task_id}/analysis.md", "tasks/{task_id}/design.md"]
|
|
31
|
+
|
|
32
|
+
developer:
|
|
33
|
+
enabled: true
|
|
34
|
+
description: "Implements features and fixes bugs"
|
|
35
|
+
skills: ["test-first-feature-dev", "bugfix-playbook"]
|
|
36
|
+
memory:
|
|
37
|
+
read: ["docs/", "AGENTS.md", ".amazingteam/memory/planner/", ".amazingteam/memory/architect/", ".amazingteam/memory/developer/", ".amazingteam/memory/failures/", "tasks/{task_id}/"]
|
|
38
|
+
write: [".amazingteam/memory/developer/", "tasks/{task_id}/implementation.md", "src/", "tests/"]
|
|
39
|
+
|
|
40
|
+
qa:
|
|
41
|
+
enabled: true
|
|
42
|
+
description: "Validates implementations and ensures quality"
|
|
43
|
+
skills: ["test-first-feature-dev", "regression-checklist"]
|
|
44
|
+
memory:
|
|
45
|
+
read: ["docs/", "AGENTS.md", ".amazingteam/memory/planner/", ".amazingteam/memory/architect/", ".amazingteam/memory/qa/", ".amazingteam/memory/failures/", "tasks/{task_id}/"]
|
|
46
|
+
write: [".amazingteam/memory/qa/", "tasks/{task_id}/validation.md", "tests/"]
|
|
47
|
+
|
|
48
|
+
reviewer:
|
|
49
|
+
enabled: true
|
|
50
|
+
description: "Reviews code for quality and correctness"
|
|
51
|
+
skills: ["safe-refactor-checklist", "regression-checklist", "release-readiness-check"]
|
|
52
|
+
memory:
|
|
53
|
+
read: ["docs/", "AGENTS.md", ".amazingteam/memory/", ".amazingteam/memory/failures/", "tasks/{task_id}/"]
|
|
54
|
+
write: [".amazingteam/memory/reviewer/", "tasks/{task_id}/review.md", "tasks/{task_id}/release.md"]
|
|
55
|
+
|
|
56
|
+
triage:
|
|
57
|
+
enabled: true
|
|
58
|
+
description: "Classifies issues and performs first-pass debug analysis"
|
|
59
|
+
skills: ["issue-triage", "bugfix-playbook"]
|
|
60
|
+
memory:
|
|
61
|
+
read: ["docs/", "AGENTS.md", ".amazingteam/memory/triage/", ".amazingteam/memory/failures/", "tasks/{task_id}/"]
|
|
62
|
+
write: [".amazingteam/memory/triage/", "tasks/{task_id}/"]
|
|
63
|
+
|
|
64
|
+
ci_analyst:
|
|
65
|
+
enabled: true
|
|
66
|
+
description: "Investigates CI failures and documents patterns"
|
|
67
|
+
skills: ["ci-failure-analysis", "bugfix-playbook"]
|
|
68
|
+
memory:
|
|
69
|
+
read: ["docs/", "AGENTS.md", ".amazingteam/memory/ci-analyst/", ".amazingteam/memory/failures/", "tasks/{task_id}/", "docs/runbooks/ci/"]
|
|
70
|
+
write: [".amazingteam/memory/ci-analyst/", ".amazingteam/memory/failures/", "tasks/{task_id}/"]
|
|
71
|
+
|
|
72
|
+
workflows:
|
|
73
|
+
feature:
|
|
74
|
+
sequence: ["planner", "architect", "developer", "qa", "reviewer"]
|
|
75
|
+
description: "Feature development workflow"
|
|
76
|
+
|
|
77
|
+
bugfix:
|
|
78
|
+
sequence: ["triage", "architect", "developer", "qa", "reviewer"]
|
|
79
|
+
description: "Bug fix workflow"
|
|
80
|
+
|
|
81
|
+
refactor:
|
|
82
|
+
sequence: ["architect", "developer", "reviewer"]
|
|
83
|
+
description: "Refactoring workflow"
|
|
84
|
+
|
|
85
|
+
ci_failure:
|
|
86
|
+
sequence: ["ci_analyst", "developer", "qa"]
|
|
87
|
+
description: "CI failure resolution workflow"
|
|
88
|
+
|
|
89
|
+
release:
|
|
90
|
+
sequence: ["reviewer"]
|
|
91
|
+
description: "Release validation workflow"
|
|
92
|
+
|
|
93
|
+
memory:
|
|
94
|
+
global:
|
|
95
|
+
locations: ["docs/", "AGENTS.md"]
|
|
96
|
+
write_requires_approval: true
|
|
97
|
+
|
|
98
|
+
role:
|
|
99
|
+
base_path: ".amazingteam/memory"
|
|
100
|
+
roles:
|
|
101
|
+
planner:
|
|
102
|
+
files: ["decomposition_notes.md", "flow_rules.md", "github_issue_patterns.md"]
|
|
103
|
+
architect:
|
|
104
|
+
files: ["architecture_notes.md", "module_map.md", "design_rationale.md"]
|
|
105
|
+
developer:
|
|
106
|
+
files: ["implementation_notes.md", "bug_investigation.md", "build_issues.md"]
|
|
107
|
+
qa:
|
|
108
|
+
files: ["test_strategy.md", "regression_cases.md", "validation_notes.md"]
|
|
109
|
+
reviewer:
|
|
110
|
+
files: ["review_notes.md", "quality_rules.md", "recurring_risks.md"]
|
|
111
|
+
triage:
|
|
112
|
+
files: ["classification_heuristics.md", "debug_notes.md"]
|
|
113
|
+
ci_analyst:
|
|
114
|
+
files: ["failure_patterns.md", "runbook_references.md"]
|
|
115
|
+
|
|
116
|
+
failures:
|
|
117
|
+
path: ".amazingteam/memory/failures"
|
|
118
|
+
files: ["failure_library.md"]
|
|
119
|
+
writable_by: ["ci_analyst"]
|
|
120
|
+
|
|
121
|
+
task:
|
|
122
|
+
base_path: "tasks"
|
|
123
|
+
naming: "issue-{issue_id}"
|
|
124
|
+
files: ["task.yaml", "analysis.md", "design.md", "implementation.md", "validation.md", "review.md", "release.md"]
|
|
125
|
+
auto_create: true
|
|
126
|
+
preserve_after_completion: true
|
|
127
|
+
|
|
128
|
+
rules:
|
|
129
|
+
max_changes_per_commit: 10
|
|
130
|
+
require_tests: true
|
|
131
|
+
require_review: true
|
|
132
|
+
auto_merge: false
|
|
133
|
+
memory_isolation: true
|
|
134
|
+
protected_paths:
|
|
135
|
+
- "docs/architecture/"
|
|
136
|
+
- "docs/decisions/"
|
|
137
|
+
human_approval_required:
|
|
138
|
+
- "architecture changes"
|
|
139
|
+
- "release operations"
|
|
140
|
+
- "breaking changes"
|
|
141
|
+
|
|
142
|
+
integrations:
|
|
143
|
+
github:
|
|
144
|
+
enabled: true
|
|
145
|
+
auto_label: true
|
|
146
|
+
auto_assign: true
|
|
147
|
+
|
|
148
|
+
ci:
|
|
149
|
+
enabled: true
|
|
150
|
+
require_passing: true
|
|
151
|
+
failure_analysis:
|
|
152
|
+
enabled: true
|
|
153
|
+
agent: "ci_analyst"
|
|
154
|
+
|
|
155
|
+
build:
|
|
156
|
+
command: ""
|
|
157
|
+
test: ""
|
|
158
|
+
lint: ""
|
|
159
|
+
typecheck: ""
|
|
160
|
+
|
|
161
|
+
overlay: null
|
package/presets/go.yaml
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Go Configuration Preset
|
|
2
|
+
# For Go microservices and backend projects
|
|
3
|
+
|
|
4
|
+
$preset: "default"
|
|
5
|
+
|
|
6
|
+
project:
|
|
7
|
+
language: "go"
|
|
8
|
+
framework: "gin"
|
|
9
|
+
|
|
10
|
+
build:
|
|
11
|
+
command: "go build ./..."
|
|
12
|
+
test: "go test ./..."
|
|
13
|
+
lint: "golangci-lint run"
|
|
14
|
+
typecheck: ""
|
|
15
|
+
|
|
16
|
+
rules:
|
|
17
|
+
test_coverage_threshold: 70
|
|
18
|
+
max_function_lines: 40
|
|
19
|
+
commit_convention: "conventional"
|
|
20
|
+
go:
|
|
21
|
+
max_file_lines: 500
|
|
22
|
+
error_handling: "explicit"
|
|
23
|
+
|
|
24
|
+
agents:
|
|
25
|
+
developer:
|
|
26
|
+
skills: ["test-first-feature-dev", "bugfix-playbook"]
|
|
27
|
+
memory:
|
|
28
|
+
write: [".amazingteam/memory/developer/", "tasks/{task_id}/implementation.md", "pkg/", "internal/", "tests/"]
|
|
29
|
+
|
|
30
|
+
qa:
|
|
31
|
+
skills: ["test-first-feature-dev", "regression-checklist"]
|
|
32
|
+
memory:
|
|
33
|
+
write: [".amazingteam/memory/qa/", "tasks/{task_id}/validation.md", "tests/"]
|
|
34
|
+
|
|
35
|
+
integrations:
|
|
36
|
+
ci:
|
|
37
|
+
enabled: true
|
|
38
|
+
require_passing: true
|
|
39
|
+
commands:
|
|
40
|
+
install: "go mod download"
|
|
41
|
+
build: "go build ./..."
|
|
42
|
+
test: "go test -v -race -coverprofile=coverage.out ./..."
|
|
43
|
+
lint: "golangci-lint run"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Python Configuration Preset
|
|
2
|
+
# For Python backend projects
|
|
3
|
+
|
|
4
|
+
$preset: "default"
|
|
5
|
+
|
|
6
|
+
project:
|
|
7
|
+
language: "python"
|
|
8
|
+
framework: "fastapi"
|
|
9
|
+
|
|
10
|
+
build:
|
|
11
|
+
command: "python -m build"
|
|
12
|
+
test: "pytest"
|
|
13
|
+
lint: "ruff check ."
|
|
14
|
+
typecheck: "mypy ."
|
|
15
|
+
|
|
16
|
+
rules:
|
|
17
|
+
test_coverage_threshold: 80
|
|
18
|
+
max_function_lines: 30
|
|
19
|
+
commit_convention: "conventional"
|
|
20
|
+
python:
|
|
21
|
+
max_line_length: 88
|
|
22
|
+
docstring_style: "google"
|
|
23
|
+
|
|
24
|
+
agents:
|
|
25
|
+
developer:
|
|
26
|
+
skills: ["test-first-feature-dev", "bugfix-playbook"]
|
|
27
|
+
memory:
|
|
28
|
+
write: [".amazingteam/memory/developer/", "tasks/{task_id}/implementation.md", "src/", "tests/"]
|
|
29
|
+
|
|
30
|
+
qa:
|
|
31
|
+
skills: ["test-first-feature-dev", "regression-checklist"]
|
|
32
|
+
memory:
|
|
33
|
+
write: [".amazingteam/memory/qa/", "tasks/{task_id}/validation.md", "tests/"]
|
|
34
|
+
|
|
35
|
+
integrations:
|
|
36
|
+
ci:
|
|
37
|
+
enabled: true
|
|
38
|
+
require_passing: true
|
|
39
|
+
commands:
|
|
40
|
+
install: "pip install -r requirements.txt"
|
|
41
|
+
build: "python -m build"
|
|
42
|
+
test: "pytest --cov"
|
|
43
|
+
lint: "ruff check . && mypy ."
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# TypeScript/Node.js Configuration Preset
|
|
2
|
+
# Extends default.yaml with TypeScript-specific settings
|
|
3
|
+
|
|
4
|
+
$preset: "default"
|
|
5
|
+
|
|
6
|
+
project:
|
|
7
|
+
language: "typescript"
|
|
8
|
+
framework: "node"
|
|
9
|
+
|
|
10
|
+
build:
|
|
11
|
+
command: "npm run build"
|
|
12
|
+
test: "npm test"
|
|
13
|
+
lint: "npm run lint"
|
|
14
|
+
typecheck: "npm run typecheck"
|
|
15
|
+
|
|
16
|
+
rules:
|
|
17
|
+
test_coverage_threshold: 80
|
|
18
|
+
max_function_lines: 30
|
|
19
|
+
commit_convention: "conventional"
|
|
20
|
+
|
|
21
|
+
agents:
|
|
22
|
+
developer:
|
|
23
|
+
skills: ["test-first-feature-dev", "bugfix-playbook"]
|
|
24
|
+
memory:
|
|
25
|
+
write: [".amazingteam/memory/developer/", "tasks/{task_id}/implementation.md", "src/", "tests/"]
|
|
26
|
+
|
|
27
|
+
qa:
|
|
28
|
+
skills: ["test-first-feature-dev", "regression-checklist"]
|
|
29
|
+
memory:
|
|
30
|
+
write: [".amazingteam/memory/qa/", "tasks/{task_id}/validation.md", "tests/"]
|
|
31
|
+
|
|
32
|
+
integrations:
|
|
33
|
+
ci:
|
|
34
|
+
enabled: true
|
|
35
|
+
require_passing: true
|
|
36
|
+
commands:
|
|
37
|
+
install: "npm ci"
|
|
38
|
+
build: "npm run build"
|
|
39
|
+
test: "npm test"
|
|
40
|
+
lint: "npm run lint"
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://amazingteam.dev/schemas/config.schema.json",
|
|
4
|
+
"title": "AmazingTeam Configuration",
|
|
5
|
+
"description": "Configuration schema for AmazingTeam Foundation v3",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["version", "project"],
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"version": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
13
|
+
"description": "Configuration file version (semver)"
|
|
14
|
+
},
|
|
15
|
+
"$preset": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Base preset to extend (default, typescript, python, go)"
|
|
18
|
+
},
|
|
19
|
+
"project": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"required": ["name", "language"],
|
|
22
|
+
"properties": {
|
|
23
|
+
"name": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"minLength": 1,
|
|
26
|
+
"description": "Project name"
|
|
27
|
+
},
|
|
28
|
+
"description": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "Project description"
|
|
31
|
+
},
|
|
32
|
+
"language": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"enum": ["typescript", "javascript", "python", "go", "java", "cpp", "c", "rust", "ruby"],
|
|
35
|
+
"description": "Primary programming language"
|
|
36
|
+
},
|
|
37
|
+
"framework": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "Primary framework (e.g., node, react, fastapi, gin)"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"ai_team": {
|
|
44
|
+
"type": "object",
|
|
45
|
+
"properties": {
|
|
46
|
+
"version": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
49
|
+
"description": "AmazingTeam Foundation version"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"agents": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"description": "Agent configuration overrides",
|
|
56
|
+
"properties": {
|
|
57
|
+
"planner": { "$ref": "#/definitions/agent" },
|
|
58
|
+
"architect": { "$ref": "#/definitions/agent" },
|
|
59
|
+
"developer": { "$ref": "#/definitions/agent" },
|
|
60
|
+
"qa": { "$ref": "#/definitions/agent" },
|
|
61
|
+
"reviewer": { "$ref": "#/definitions/agent" },
|
|
62
|
+
"triage": { "$ref": "#/definitions/agent" },
|
|
63
|
+
"ci_analyst": { "$ref": "#/definitions/agent" }
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"workflows": {
|
|
67
|
+
"type": "object",
|
|
68
|
+
"description": "Workflow definitions",
|
|
69
|
+
"additionalProperties": {
|
|
70
|
+
"type": "object",
|
|
71
|
+
"required": ["sequence"],
|
|
72
|
+
"properties": {
|
|
73
|
+
"sequence": {
|
|
74
|
+
"type": "array",
|
|
75
|
+
"items": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"enum": ["planner", "architect", "developer", "qa", "reviewer", "triage", "ci_analyst"]
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"description": {
|
|
81
|
+
"type": "string"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"memory": {
|
|
87
|
+
"type": "object",
|
|
88
|
+
"properties": {
|
|
89
|
+
"global": {
|
|
90
|
+
"type": "object",
|
|
91
|
+
"properties": {
|
|
92
|
+
"locations": {
|
|
93
|
+
"type": "array",
|
|
94
|
+
"items": { "type": "string" }
|
|
95
|
+
},
|
|
96
|
+
"write_requires_approval": {
|
|
97
|
+
"type": "boolean"
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"role": {
|
|
102
|
+
"type": "object",
|
|
103
|
+
"properties": {
|
|
104
|
+
"base_path": { "type": "string" }
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"failures": {
|
|
108
|
+
"type": "object",
|
|
109
|
+
"properties": {
|
|
110
|
+
"path": { "type": "string" },
|
|
111
|
+
"writable_by": {
|
|
112
|
+
"type": "array",
|
|
113
|
+
"items": { "type": "string" }
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"task": {
|
|
118
|
+
"type": "object",
|
|
119
|
+
"properties": {
|
|
120
|
+
"base_path": { "type": "string" },
|
|
121
|
+
"naming": { "type": "string" },
|
|
122
|
+
"auto_create": { "type": "boolean" },
|
|
123
|
+
"preserve_after_completion": { "type": "boolean" }
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"rules": {
|
|
129
|
+
"type": "object",
|
|
130
|
+
"properties": {
|
|
131
|
+
"max_changes_per_commit": {
|
|
132
|
+
"type": "integer",
|
|
133
|
+
"minimum": 1
|
|
134
|
+
},
|
|
135
|
+
"require_tests": { "type": "boolean" },
|
|
136
|
+
"require_review": { "type": "boolean" },
|
|
137
|
+
"auto_merge": { "type": "boolean" },
|
|
138
|
+
"memory_isolation": { "type": "boolean" },
|
|
139
|
+
"test_coverage_threshold": {
|
|
140
|
+
"type": "integer",
|
|
141
|
+
"minimum": 0,
|
|
142
|
+
"maximum": 100
|
|
143
|
+
},
|
|
144
|
+
"max_function_lines": {
|
|
145
|
+
"type": "integer",
|
|
146
|
+
"minimum": 1
|
|
147
|
+
},
|
|
148
|
+
"commit_convention": {
|
|
149
|
+
"type": "string",
|
|
150
|
+
"enum": ["conventional", "none"]
|
|
151
|
+
},
|
|
152
|
+
"protected_paths": {
|
|
153
|
+
"type": "array",
|
|
154
|
+
"items": { "type": "string" }
|
|
155
|
+
},
|
|
156
|
+
"human_approval_required": {
|
|
157
|
+
"type": "array",
|
|
158
|
+
"items": { "type": "string" }
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"build": {
|
|
163
|
+
"type": "object",
|
|
164
|
+
"description": "Build and test commands",
|
|
165
|
+
"properties": {
|
|
166
|
+
"command": { "type": "string" },
|
|
167
|
+
"test": { "type": "string" },
|
|
168
|
+
"lint": { "type": "string" },
|
|
169
|
+
"typecheck": { "type": "string" }
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
"integrations": {
|
|
173
|
+
"type": "object",
|
|
174
|
+
"properties": {
|
|
175
|
+
"github": {
|
|
176
|
+
"type": "object",
|
|
177
|
+
"properties": {
|
|
178
|
+
"enabled": { "type": "boolean" },
|
|
179
|
+
"auto_label": { "type": "boolean" },
|
|
180
|
+
"auto_assign": { "type": "boolean" }
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"ci": {
|
|
184
|
+
"type": "object",
|
|
185
|
+
"properties": {
|
|
186
|
+
"enabled": { "type": "boolean" },
|
|
187
|
+
"require_passing": { "type": "boolean" },
|
|
188
|
+
"commands": {
|
|
189
|
+
"type": "object",
|
|
190
|
+
"properties": {
|
|
191
|
+
"install": { "type": "string" },
|
|
192
|
+
"build": { "type": "string" },
|
|
193
|
+
"test": { "type": "string" },
|
|
194
|
+
"lint": { "type": "string" }
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
"overlay": {
|
|
202
|
+
"type": ["string", "null"],
|
|
203
|
+
"description": "Technology overlay to apply (e.g., python-backend, web-fullstack)"
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
"definitions": {
|
|
207
|
+
"agent": {
|
|
208
|
+
"type": "object",
|
|
209
|
+
"properties": {
|
|
210
|
+
"enabled": {
|
|
211
|
+
"type": "boolean",
|
|
212
|
+
"description": "Enable or disable this agent"
|
|
213
|
+
},
|
|
214
|
+
"description": {
|
|
215
|
+
"type": "string",
|
|
216
|
+
"description": "Agent description override"
|
|
217
|
+
},
|
|
218
|
+
"skills": {
|
|
219
|
+
"type": "array",
|
|
220
|
+
"items": { "type": "string" },
|
|
221
|
+
"description": "Skills assigned to this agent"
|
|
222
|
+
},
|
|
223
|
+
"memory": {
|
|
224
|
+
"type": "object",
|
|
225
|
+
"properties": {
|
|
226
|
+
"read": {
|
|
227
|
+
"type": "array",
|
|
228
|
+
"items": { "type": "string" }
|
|
229
|
+
},
|
|
230
|
+
"write": {
|
|
231
|
+
"type": "array",
|
|
232
|
+
"items": { "type": "string" }
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# diff_foundation_vs_project.sh
|
|
3
|
+
# Compare foundation and project files
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
8
|
+
FOUNDATION_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
9
|
+
PROJECT_ROOT="${1:-.}"
|
|
10
|
+
|
|
11
|
+
# Colors
|
|
12
|
+
RED='\033[0;31m'
|
|
13
|
+
GREEN='\033[0;32m'
|
|
14
|
+
YELLOW='\033[1;33m'
|
|
15
|
+
BLUE='\033[0;34m'
|
|
16
|
+
CYAN='\033[0;36m'
|
|
17
|
+
NC='\033[0m'
|
|
18
|
+
|
|
19
|
+
usage() {
|
|
20
|
+
echo "Usage: $0 [project-path] [file-pattern]"
|
|
21
|
+
echo ""
|
|
22
|
+
echo "Compare foundation and project files."
|
|
23
|
+
echo ""
|
|
24
|
+
echo "Options:"
|
|
25
|
+
echo " -h, --help Show this help message"
|
|
26
|
+
echo ""
|
|
27
|
+
echo "Examples:"
|
|
28
|
+
echo " $0 ./my-project"
|
|
29
|
+
echo " $0 ./my-project .ai-team/agents/planner.md"
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
# Resolve to absolute path
|
|
33
|
+
if [[ "${PROJECT_ROOT:0:1}" != "/" ]]; then
|
|
34
|
+
PROJECT_ROOT="$(pwd)/$PROJECT_ROOT"
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
FILE_PATTERN="${2:-}"
|
|
38
|
+
|
|
39
|
+
echo -e "${CYAN}══════════════════════════════════════════════════${NC}"
|
|
40
|
+
echo -e "${CYAN} Foundation vs Project Diff${NC}"
|
|
41
|
+
echo -e "${CYAN}══════════════════════════════════════════════════${NC}"
|
|
42
|
+
echo ""
|
|
43
|
+
|
|
44
|
+
echo -e "${CYAN}Foundation:${NC} $FOUNDATION_ROOT"
|
|
45
|
+
echo -e "${CYAN}Project:${NC} $PROJECT_ROOT"
|
|
46
|
+
echo ""
|
|
47
|
+
|
|
48
|
+
# Classify a file
|
|
49
|
+
classify_file() {
|
|
50
|
+
local file="$1"
|
|
51
|
+
|
|
52
|
+
# Class C (Protected)
|
|
53
|
+
if [[ "$file" == docs/architecture/* ]] || [[ "$file" == docs/decisions/* ]]; then
|
|
54
|
+
echo -e "${RED}[Class C - Protected]${NC}"
|
|
55
|
+
return
|
|
56
|
+
fi
|
|
57
|
+
|
|
58
|
+
# Class B (Review required)
|
|
59
|
+
if [[ "$file" == .ai-team/agents/* ]] || \
|
|
60
|
+
[[ "$file" == .ai-team/skills/* ]] || \
|
|
61
|
+
[[ "$file" == .ai-team/commands/* ]] || \
|
|
62
|
+
[[ "$file" == .github/workflows/* ]] || \
|
|
63
|
+
[[ "$file" == AGENTS.md ]]; then
|
|
64
|
+
echo -e "${YELLOW}[Class B - Review Required]${NC}"
|
|
65
|
+
return
|
|
66
|
+
fi
|
|
67
|
+
|
|
68
|
+
# Class A (Auto-generatable)
|
|
69
|
+
echo -e "${GREEN}[Class A - Auto-generatable]${NC}"
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
# Compare a single file
|
|
73
|
+
compare_file() {
|
|
74
|
+
local relative_path="$1"
|
|
75
|
+
local foundation_file="$FOUNDATION_ROOT/$relative_path"
|
|
76
|
+
local project_file="$PROJECT_ROOT/$relative_path"
|
|
77
|
+
|
|
78
|
+
echo -e "${CYAN}────────────────────────────────────────────────${NC}"
|
|
79
|
+
echo -e "File: $relative_path"
|
|
80
|
+
classify_file "$relative_path"
|
|
81
|
+
echo ""
|
|
82
|
+
|
|
83
|
+
if [[ ! -f "$foundation_file" ]]; then
|
|
84
|
+
echo -e "${YELLOW}Not in foundation (project-specific)${NC}"
|
|
85
|
+
return
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
if [[ ! -f "$project_file" ]]; then
|
|
89
|
+
echo -e "${YELLOW}Not in project (missing)${NC}"
|
|
90
|
+
return
|
|
91
|
+
fi
|
|
92
|
+
|
|
93
|
+
if diff -q "$foundation_file" "$project_file" > /dev/null 2>&1; then
|
|
94
|
+
echo -e "${GREEN}Identical${NC}"
|
|
95
|
+
else
|
|
96
|
+
echo -e "${YELLOW}Different:${NC}"
|
|
97
|
+
echo ""
|
|
98
|
+
diff -u "$foundation_file" "$project_file" | head -50
|
|
99
|
+
echo ""
|
|
100
|
+
fi
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
# Compare all files or specific file
|
|
104
|
+
if [[ -n "$FILE_PATTERN" ]]; then
|
|
105
|
+
compare_file "$FILE_PATTERN"
|
|
106
|
+
else
|
|
107
|
+
# Compare key files
|
|
108
|
+
FILES_TO_COMPARE=(
|
|
109
|
+
"AGENTS.md"
|
|
110
|
+
".ai-team/agents/planner.md"
|
|
111
|
+
".ai-team/agents/architect.md"
|
|
112
|
+
".ai-team/agents/developer.md"
|
|
113
|
+
".ai-team/agents/qa.md"
|
|
114
|
+
".ai-team/agents/reviewer.md"
|
|
115
|
+
".ai-team/agents/triage.md"
|
|
116
|
+
".ai-team/agents/ci-analyst.md"
|
|
117
|
+
".github/workflows/opencode.yml"
|
|
118
|
+
".github/workflows/ci.yml"
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
for file in "${FILES_TO_COMPARE[@]}"; do
|
|
122
|
+
compare_file "$file"
|
|
123
|
+
done
|
|
124
|
+
fi
|
|
125
|
+
|
|
126
|
+
echo ""
|
|
127
|
+
echo -e "${CYAN}══════════════════════════════════════════════════${NC}"
|
|
128
|
+
echo -e "${CYAN}Classification Legend${NC}"
|
|
129
|
+
echo -e "${CYAN}══════════════════════════════════════════════════${NC}"
|
|
130
|
+
echo ""
|
|
131
|
+
echo -e " ${GREEN}[Class A]${NC} Auto-generatable - Safe to create/replace"
|
|
132
|
+
echo -e " ${YELLOW}[Class B]${NC} Review required - Generate diff, human reviews"
|
|
133
|
+
echo -e " ${RED}[Class C]${NC} Protected - Human approval mandatory"
|
|
134
|
+
echo ""
|