ai-core-framework 0.1.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 (103) hide show
  1. package/.claude-plugin/plugin.json +21 -0
  2. package/.codex-plugin/plugin.json +35 -0
  3. package/.cursor-plugin/plugin.json +22 -0
  4. package/README.md +173 -0
  5. package/bin/ai-core-framework.js +110 -0
  6. package/core/README.md +162 -0
  7. package/core/agents/README.md +32 -0
  8. package/core/agents/business-analyst.md +269 -0
  9. package/core/agents/developer.md +375 -0
  10. package/core/agents/qa-tester.md +477 -0
  11. package/core/agents/scrum-master.md +136 -0
  12. package/core/agents/tech-lead.md +345 -0
  13. package/core/config/backlog.schema.json +38 -0
  14. package/core/config/docs-policy.default.json +37 -0
  15. package/core/config/release.schema.json +120 -0
  16. package/core/config/ticket.schema.json +253 -0
  17. package/core/rules/00-global-rules.md +373 -0
  18. package/core/rules/01-git-workflow.md +388 -0
  19. package/core/rules/02-code-quality.md +77 -0
  20. package/core/rules/03-security.md +78 -0
  21. package/core/rules/04-documentation.md +72 -0
  22. package/core/rules/05-testing-mandatory.md +374 -0
  23. package/core/rules/06-approval-gates.md +388 -0
  24. package/core/rules/07-definition-of-ready.md +112 -0
  25. package/core/rules/08-definition-of-done.md +149 -0
  26. package/core/scripts/ai-core.sh +456 -0
  27. package/core/scripts/generate-views.sh +210 -0
  28. package/core/scripts/install-codex-prompts.sh +127 -0
  29. package/core/scripts/log-user-request.sh +113 -0
  30. package/core/scripts/setup-project.sh +183 -0
  31. package/core/scripts/sync-platforms.sh +322 -0
  32. package/core/scripts/validate-audit-log.sh +73 -0
  33. package/core/scripts/validate-docs.sh +365 -0
  34. package/core/scripts/validate-permissions.sh +132 -0
  35. package/core/scripts/validate-state.sh +611 -0
  36. package/core/scripts/workflow.sh +513 -0
  37. package/core/skills/README.md +21 -0
  38. package/core/skills/ai-core-commands/SKILL.md +86 -0
  39. package/core/skills/brainstorming/SKILL.md +40 -0
  40. package/core/skills/development-implement-task/SKILL.md +308 -0
  41. package/core/skills/executing-ticket/SKILL.md +28 -0
  42. package/core/skills/git-branch-status/SKILL.md +56 -0
  43. package/core/skills/git-cleanup-branches/SKILL.md +57 -0
  44. package/core/skills/git-scan-untracked/SKILL.md +50 -0
  45. package/core/skills/meta-generate-views/SKILL.md +54 -0
  46. package/core/skills/meta-request-log/SKILL.md +61 -0
  47. package/core/skills/meta-sprint-report/SKILL.md +59 -0
  48. package/core/skills/meta-sync-platforms/SKILL.md +53 -0
  49. package/core/skills/meta-ticket-health/SKILL.md +61 -0
  50. package/core/skills/meta-validate-audit-log/SKILL.md +42 -0
  51. package/core/skills/meta-validate-docs/SKILL.md +58 -0
  52. package/core/skills/meta-validate-permissions/SKILL.md +53 -0
  53. package/core/skills/meta-validate-state/SKILL.md +58 -0
  54. package/core/skills/planning-analyze-requirements/SKILL.md +471 -0
  55. package/core/skills/planning-backlog-status/SKILL.md +57 -0
  56. package/core/skills/planning-document-existing-requirements/SKILL.md +246 -0
  57. package/core/skills/planning-estimate-task/SKILL.md +60 -0
  58. package/core/skills/planning-groom-ticket/SKILL.md +442 -0
  59. package/core/skills/planning-mark-ready/SKILL.md +111 -0
  60. package/core/skills/planning-plan-refactor/SKILL.md +66 -0
  61. package/core/skills/planning-plan-sprint/SKILL.md +112 -0
  62. package/core/skills/planning-prioritize-backlog/SKILL.md +62 -0
  63. package/core/skills/planning-write-plan/SKILL.md +68 -0
  64. package/core/skills/project-detect-stack/SKILL.md +71 -0
  65. package/core/skills/project-discover-codebase/SKILL.md +74 -0
  66. package/core/skills/project-setup-project/SKILL.md +113 -0
  67. package/core/skills/qa-bug-status/SKILL.md +52 -0
  68. package/core/skills/qa-report-bug/SKILL.md +518 -0
  69. package/core/skills/qa-smoke-test/SKILL.md +387 -0
  70. package/core/skills/qa-triage-bug/SKILL.md +62 -0
  71. package/core/skills/qa-verify-fix/SKILL.md +446 -0
  72. package/core/skills/release-hotfix/SKILL.md +117 -0
  73. package/core/skills/release-release/SKILL.md +123 -0
  74. package/core/skills/release-rollback/SKILL.md +62 -0
  75. package/core/skills/review-create-pr/SKILL.md +418 -0
  76. package/core/skills/review-merge-pr/SKILL.md +425 -0
  77. package/core/skills/review-techlead-review/SKILL.md +547 -0
  78. package/core/skills/using-ai-core/SKILL.md +72 -0
  79. package/core/skills/verification-before-done/SKILL.md +35 -0
  80. package/core/skills/writing-implementation-plan/SKILL.md +45 -0
  81. package/core/templates/ci/ai-core-governance.yml +112 -0
  82. package/core/templates/ci/node-pnpm.yml +35 -0
  83. package/core/templates/pm/retrospective-template.md +47 -0
  84. package/core/templates/pm/sprint-plan-template.md +45 -0
  85. package/core/templates/pr/pull-request-template.md +247 -0
  86. package/core/templates/project/CODEOWNERS +11 -0
  87. package/core/templates/project/docs-policy.json +3 -0
  88. package/core/templates/project/project-config.yaml +137 -0
  89. package/core/templates/project/project-structure.yaml +76 -0
  90. package/core/templates/qa/bug-report-template.md +371 -0
  91. package/core/templates/qa/test-plan-template.md +57 -0
  92. package/core/templates/release/release-record-template.json +67 -0
  93. package/core/templates/requirements/PRD-template.md +58 -0
  94. package/core/templates/requirements/user-story-template.md +381 -0
  95. package/core/templates/technical/ADR-template.md +46 -0
  96. package/core/templates/technical/refactor-plan-template.md +84 -0
  97. package/core/templates/technical/tech-design-template.md +71 -0
  98. package/core/workflows/bug-lifecycle.md +56 -0
  99. package/core/workflows/feature-lifecycle.md +347 -0
  100. package/core/workflows/hotfix-lifecycle.md +65 -0
  101. package/core/workflows/sprint-lifecycle.md +56 -0
  102. package/lib/install-codex.js +85 -0
  103. package/package.json +36 -0
@@ -0,0 +1,112 @@
1
+ name: AI Core Governance
2
+
3
+ on:
4
+ pull_request:
5
+ paths:
6
+ - "core/**"
7
+ - "config/**"
8
+ - "project/**"
9
+ - "docs/**"
10
+ - "scripts/**"
11
+ - ".github/workflows/ai-core-governance.yml"
12
+ push:
13
+ branches: [main, develop, "release/**"]
14
+ paths:
15
+ - "core/**"
16
+ - "config/**"
17
+ - "project/**"
18
+ - "docs/**"
19
+ - "scripts/**"
20
+ - ".github/workflows/ai-core-governance.yml"
21
+
22
+ concurrency:
23
+ group: ${{ github.workflow }}-${{ github.ref }}
24
+ cancel-in-progress: true
25
+
26
+ jobs:
27
+ governance:
28
+ name: Governance Gates
29
+ runs-on: ubuntu-latest
30
+ timeout-minutes: 8
31
+ steps:
32
+ - uses: actions/checkout@v4
33
+ with:
34
+ fetch-depth: 0
35
+
36
+ - name: Install dependencies
37
+ run: |
38
+ sudo apt-get update -qq
39
+ sudo apt-get install -y jq
40
+ npm install -g ajv-cli@5
41
+
42
+ - name: Make scripts executable
43
+ run: chmod +x core/scripts/*.sh
44
+
45
+ - name: Validate ticket schemas
46
+ run: |
47
+ set -e
48
+ for ticket in project/tickets/*.json; do
49
+ if [ ! -f "$ticket" ]; then continue; fi
50
+ ajv validate -s core/config/ticket.schema.json -d "$ticket"
51
+ done
52
+
53
+ - name: Validate backlog schema
54
+ run: |
55
+ if [ ! -f "project/backlog/backlog.json" ]; then
56
+ echo "No backlog file, skipping"
57
+ exit 0
58
+ fi
59
+ ajv validate -s core/config/backlog.schema.json -d project/backlog/backlog.json
60
+
61
+ - name: Validate release schemas
62
+ run: |
63
+ set -e
64
+ for release in project/releases/*.json; do
65
+ if [ ! -f "$release" ]; then continue; fi
66
+ ajv validate -s core/config/release.schema.json -d "$release"
67
+ done
68
+
69
+ - name: Validate state
70
+ run: bash core/scripts/validate-state.sh
71
+
72
+ - name: Validate docs
73
+ if: github.event_name == 'pull_request'
74
+ run: bash core/scripts/validate-docs.sh --base origin/${{ github.base_ref }}
75
+
76
+ - name: Validate permissions
77
+ run: bash core/scripts/validate-permissions.sh
78
+
79
+ - name: Validate audit log
80
+ run: bash core/scripts/validate-audit-log.sh
81
+
82
+ - name: Generate views smoke test
83
+ run: bash core/scripts/generate-views.sh
84
+
85
+ - name: Check state history immutability
86
+ if: github.event_name == 'pull_request'
87
+ run: |
88
+ CHANGED=$(git diff --name-only origin/${{ github.base_ref }}...HEAD -- 'project/tickets/*.json' || true)
89
+ if [ -z "$CHANGED" ]; then
90
+ echo "No ticket changes"
91
+ exit 0
92
+ fi
93
+
94
+ ERRORS=0
95
+ for ticket in $CHANGED; do
96
+ if [ ! -f "$ticket" ]; then
97
+ echo "::warning::Ticket deleted: $ticket"
98
+ continue
99
+ fi
100
+
101
+ BASE_HISTORY_COUNT=$(git show origin/${{ github.base_ref }}:"$ticket" 2>/dev/null | jq '.state_history | length' || echo "0")
102
+ HEAD_HISTORY_COUNT=$(jq '.state_history | length' "$ticket")
103
+
104
+ if [ "$HEAD_HISTORY_COUNT" -lt "$BASE_HISTORY_COUNT" ]; then
105
+ echo "::error file=$ticket::State history entries removed"
106
+ ERRORS=$((ERRORS + 1))
107
+ fi
108
+ done
109
+
110
+ if [ "$ERRORS" -gt 0 ]; then
111
+ exit 1
112
+ fi
@@ -0,0 +1,35 @@
1
+ name: Node PNPM CI
2
+
3
+ on:
4
+ pull_request:
5
+ branches: [develop, main, "release/**"]
6
+ push:
7
+ branches: [develop, main]
8
+
9
+ env:
10
+ NODE_VERSION: "20"
11
+ PNPM_VERSION: "9"
12
+
13
+ jobs:
14
+ node-ci:
15
+ name: Lint, Typecheck, Test
16
+ runs-on: ubuntu-latest
17
+ timeout-minutes: 15
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ with:
21
+ fetch-depth: 0
22
+
23
+ - uses: pnpm/action-setup@v3
24
+ with:
25
+ version: ${{ env.PNPM_VERSION }}
26
+
27
+ - uses: actions/setup-node@v4
28
+ with:
29
+ node-version: ${{ env.NODE_VERSION }}
30
+ cache: pnpm
31
+
32
+ - run: pnpm install --frozen-lockfile
33
+ - run: pnpm run lint
34
+ - run: pnpm run typecheck
35
+ - run: pnpm run test:unit --coverage
@@ -0,0 +1,47 @@
1
+ # Retrospective Template
2
+
3
+ ## Sprint
4
+
5
+ - Sprint ID:
6
+ - Date:
7
+ - Facilitator:
8
+ - Attendees:
9
+
10
+ ## Metrics Snapshot
11
+
12
+ - Committed points:
13
+ - Completed points:
14
+ - Carryover points:
15
+ - Escaped defects:
16
+ - Average cycle time:
17
+ - Blocked ticket count:
18
+
19
+ ## What Went Well
20
+
21
+ -
22
+
23
+ ## What Did Not Go Well
24
+
25
+ -
26
+
27
+ ## Root Causes
28
+
29
+ | Issue | Root cause | Evidence |
30
+ |-------|------------|----------|
31
+ | | | |
32
+
33
+ ## Action Items
34
+
35
+ | Action | Owner | Due date | Success signal |
36
+ |--------|-------|----------|----------------|
37
+ | | | | |
38
+
39
+ ## Process Rule Changes
40
+
41
+ - Rule or workflow to update:
42
+ - Reason:
43
+ - Owner:
44
+
45
+ ## Follow-up Tickets
46
+
47
+ -
@@ -0,0 +1,45 @@
1
+ # Sprint Plan Template
2
+
3
+ ## Sprint Metadata
4
+
5
+ - Sprint ID:
6
+ - Sprint name:
7
+ - Start date:
8
+ - End date:
9
+ - Scrum Master:
10
+ - Sprint goal:
11
+
12
+ ## Capacity
13
+
14
+ | Role | Available days | Notes |
15
+ |------|----------------|-------|
16
+ | Developer | | |
17
+ | Tech Lead | | |
18
+ | QA | | |
19
+
20
+ - Configured capacity points:
21
+ - Reserved bug/support capacity:
22
+ - Committed feature capacity:
23
+
24
+ ## Committed Tickets
25
+
26
+ | Ticket | Title | Points | Owner | Dependencies | Risk |
27
+ |--------|-------|--------|-------|--------------|------|
28
+ | | | | | | |
29
+
30
+ ## Sprint Risks
31
+
32
+ | Risk | Probability | Impact | Mitigation | Owner |
33
+ |------|-------------|--------|------------|-------|
34
+ | | | | | |
35
+
36
+ ## Out of Scope
37
+
38
+ -
39
+
40
+ ## Approval
41
+
42
+ - Scrum Master:
43
+ - Tech Lead:
44
+ - BA/PM:
45
+ - QA:
@@ -0,0 +1,247 @@
1
+ <!--
2
+ Pull Request Template
3
+ Instructions for developer:
4
+ - Fill all required sections (marked with *)
5
+ - Delete sections not applicable
6
+ - Keep it concise but informative
7
+ - Reviewer will use this as their guide
8
+ -->
9
+
10
+ ## 📝 Summary *
11
+
12
+ <!-- 1-3 sentences: what does this PR do and why? -->
13
+
14
+ **Ticket**: [TICKET-XXX](./project/tickets/TICKET-XXX.json) <!-- Auto-filled by /create-pr -->
15
+
16
+ **Type**: <!-- feature | bugfix | hotfix | refactor | chore | docs -->
17
+
18
+ ---
19
+
20
+ ## 🎯 What changed *
21
+
22
+ <!-- Bullet list of the main changes -->
23
+
24
+ -
25
+ -
26
+ -
27
+
28
+ ---
29
+
30
+ ## 🧪 How to test *
31
+
32
+ <!-- Reviewer should be able to manually verify with these steps -->
33
+
34
+ ### Acceptance Criteria Coverage
35
+
36
+ <!-- List each AC scenario and how it's tested -->
37
+
38
+ - [ ] **Scenario 1**: [Happy path description]
39
+ - Test: `tests/path/to/test.spec.ts:lineNumber`
40
+ - Manual: `[steps to reproduce]`
41
+
42
+ - [ ] **Scenario 2**: [Edge case description]
43
+ - Test: `tests/path/to/test.spec.ts:lineNumber`
44
+ - Manual: `[steps]`
45
+
46
+ - [ ] **Scenario 3**: [Error case description]
47
+ - Test: `tests/path/to/test.spec.ts:lineNumber`
48
+
49
+ ### Additional testing
50
+
51
+ <!-- Anything beyond AC that reviewer should check -->
52
+
53
+ -
54
+
55
+ ---
56
+
57
+ ## 📸 Screenshots / Recordings
58
+
59
+ <!-- REQUIRED if UI changes. Delete section otherwise. -->
60
+
61
+ ### Before
62
+ <!-- [screenshot or "N/A - new feature"] -->
63
+
64
+ ### After
65
+ <!-- [screenshot] -->
66
+
67
+ ### Mobile (if applicable)
68
+ <!-- [screenshot] -->
69
+
70
+ ---
71
+
72
+ ## 🔧 Technical Notes
73
+
74
+ <!-- Reviewer's mental model - what did you decide and why -->
75
+
76
+ ### Approach
77
+
78
+ <!-- 2-3 sentences about technical approach -->
79
+
80
+ ### Key decisions
81
+
82
+ - **Decision 1**: [what] - [why]
83
+ - **Decision 2**: [what] - [why]
84
+
85
+ ### Trade-offs considered
86
+
87
+ <!-- What alternatives did you consider? Why didn't you choose them? -->
88
+
89
+ -
90
+
91
+ ### Follow-up work
92
+
93
+ <!-- Not blocking this PR, but related work -->
94
+
95
+ - [ ] TICKET-YYY: [description]
96
+
97
+ ---
98
+
99
+ ## 📋 Self-Review Checklist *
100
+
101
+ <!-- Developer: check each item before requesting review -->
102
+
103
+ ### Functionality
104
+ - [ ] All acceptance criteria scenarios implemented
105
+ - [ ] Manual testing completed on local/staging
106
+ - [ ] No regressions in related features (spot-checked)
107
+
108
+ ### Code Quality
109
+ - [ ] Code follows project style guide
110
+ - [ ] Names are descriptive (no `x`, `tmp`, `data`)
111
+ - [ ] Functions < 50 lines, files < 500 lines
112
+ - [ ] No commented-out code
113
+ - [ ] No `console.log` / `print` debug statements
114
+ - [ ] No TODO/FIXME without linked ticket
115
+
116
+ ### Testing
117
+ - [ ] Unit tests for new logic
118
+ - [ ] Integration tests for API/DB changes
119
+ - [ ] Edge cases covered (null, empty, boundary, error)
120
+ - [ ] Diff coverage ≥ 80%
121
+ - [ ] No disabled/skipped tests (or justified with ticket)
122
+ - [ ] All tests pass locally
123
+
124
+ ### Security
125
+ - [ ] No secrets committed (keys, passwords, tokens)
126
+ - [ ] Input validation on all user inputs
127
+ - [ ] Authorization checks (if applicable)
128
+ - [ ] Output encoding (if rendering user content)
129
+ - [ ] SQL/NoSQL queries parameterized
130
+ - [ ] No new dependencies with known vulnerabilities
131
+
132
+ ### Documentation
133
+ - [ ] API docs updated (if endpoint changed)
134
+ - [ ] README updated (if setup changed)
135
+ - [ ] CHANGELOG entry added
136
+ - [ ] ADR created (if architecture decision)
137
+ - [ ] Complex logic has explaining comments
138
+
139
+ ### Git Hygiene
140
+ - [ ] Branch name follows convention (`type/TICKET-XXX-slug`)
141
+ - [ ] Commits follow Conventional Commits format
142
+ - [ ] Atomic commits (one logical change each)
143
+ - [ ] TDD pattern visible (test commits before feature commits)
144
+ - [ ] No "WIP" or debug commits
145
+ - [ ] Branch up-to-date with develop
146
+
147
+ ---
148
+
149
+ ## 🚨 Breaking Changes
150
+
151
+ <!-- Any? Describe migration path. Delete section if none. -->
152
+
153
+ - [ ] This PR contains breaking changes
154
+
155
+ ### What breaks
156
+ -
157
+
158
+ ### Migration path
159
+ -
160
+
161
+ ### Affected consumers
162
+ -
163
+
164
+ ---
165
+
166
+ ## 🔗 Related
167
+
168
+ <!-- Links to relevant context -->
169
+
170
+ - **ADR**: [ADR-XXXX](./docs/runtime/adr/XXXX-title.md) <!-- if applicable -->
171
+ - **Design**: [Figma link] <!-- if applicable -->
172
+ - **Spec**: [Doc link] <!-- if applicable -->
173
+ - **Previous PRs**: #XXX, #YYY <!-- related/dependency -->
174
+ - **Follow-up PRs**: (planned) <!-- if applicable -->
175
+
176
+ ---
177
+
178
+ ## 📊 Impact Assessment
179
+
180
+ ### Performance
181
+ <!-- Expected impact on performance. Benchmarks if significant. -->
182
+
183
+ - [ ] No performance regression expected
184
+ - [ ] Performance improvement: [details]
185
+ - [ ] Performance impact acceptable: [details + justification]
186
+
187
+ ### Database
188
+ <!-- Migration? Schema change? Indexes? -->
189
+
190
+ - [ ] No database changes
191
+ - [ ] Migration included: `migrations/YYYYMMDD_description.sql`
192
+ - [ ] Backward compatible migration
193
+ - [ ] Requires maintenance window
194
+
195
+ ### Deployment
196
+ <!-- Any special considerations? -->
197
+
198
+ - [ ] Standard deployment (no special steps)
199
+ - [ ] Requires env variable: `NEW_VAR_NAME` (documented in `.env.example`)
200
+ - [ ] Requires infra change (see: [ticket/doc])
201
+ - [ ] Feature flag: `flag_name` (default: off)
202
+ - [ ] Rollback plan: [describe]
203
+
204
+ ---
205
+
206
+ ## ✅ Reviewer Instructions
207
+
208
+ ### Suggested review order
209
+ 1. Read this description (you're doing it ✓)
210
+ 2. Review [TICKET-XXX acceptance criteria](./ticket-link)
211
+ 3. Look at [files changed](./files-link)
212
+ 4. Run tests locally (optional)
213
+ 5. Test manually: [specific scenario]
214
+
215
+ ### Particularly important to review
216
+ <!-- Point reviewer to areas needing extra attention -->
217
+
218
+ -
219
+
220
+ ### Questions for reviewer
221
+ <!-- Anything you're uncertain about -->
222
+
223
+ -
224
+
225
+ ---
226
+
227
+ ## 📦 Metadata (auto-populated by /create-pr)
228
+
229
+ <!-- Don't edit these - /create-pr fills them -->
230
+
231
+ - **Branch**: `<branch_name>`
232
+ - **Base**: `develop`
233
+ - **Commits**: `<count>`
234
+ - **Lines**: `+<added> / -<removed>`
235
+ - **Files changed**: `<count>`
236
+ - **Coverage**: diff `<pct>%` / overall `<pct>%`
237
+ - **CI status**: <!-- check GitHub -->
238
+
239
+ ---
240
+
241
+ <!--
242
+ DO NOT EDIT BELOW THIS LINE - auto-generated by /create-pr
243
+ -->
244
+
245
+ <!-- TICKET_REF: TICKET-XXX -->
246
+ <!-- AGENT: developer -->
247
+ <!-- TEMPLATE_VERSION: 1.0.0 -->
@@ -0,0 +1,11 @@
1
+ # AI Core governance ownership.
2
+ #
3
+ # Replace placeholder teams/users for each consuming repo.
4
+ /core/ @tech-leads
5
+ /config/ @scrum-masters @tech-leads
6
+ /project/ @scrum-masters @tech-leads
7
+ /docs/runtime/adr/ @tech-leads
8
+ /docs/project/specs/ @product-owners @tech-leads
9
+ /docs/project/plans/ @tech-leads
10
+ /docs/runtime/runbooks/ @tech-leads @qa-leads
11
+ /.github/workflows/ @tech-leads
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "core/config/docs-policy.default.json"
3
+ }
@@ -0,0 +1,137 @@
1
+ # ====================================================================
2
+ # PROJECT CONFIGURATION
3
+ # Single source of truth for project settings.
4
+ # Every agent and command reads from here.
5
+ # ====================================================================
6
+
7
+ project:
8
+ name: "My Awesome Project"
9
+ description: ""
10
+ repo_url: ""
11
+ team_size: "small" # solo | small | medium | enterprise
12
+
13
+ # --- Tech stack (auto-detect or manual set) ---
14
+ stack:
15
+ language: "typescript" # typescript | python | java | go | ...
16
+ runtime: "node" # node | deno | bun | python | jvm | ...
17
+ framework: "nextjs" # nextjs | express | django | spring | ...
18
+ database: "postgres"
19
+ test_runner: "vitest" # vitest | jest | pytest | junit | ...
20
+ package_manager: "pnpm" # npm | yarn | pnpm | pip | poetry | ...
21
+
22
+ # --- Git workflow ---
23
+ git:
24
+ main_branch: "main"
25
+ develop_branch: "develop"
26
+ protected_branches:
27
+ - "main"
28
+ - "develop"
29
+ - "release/*"
30
+ - "staging"
31
+ branch_prefix:
32
+ feature: "feature/"
33
+ bugfix: "bugfix/"
34
+ hotfix: "hotfix/"
35
+ chore: "chore/"
36
+ refactor: "refactor/"
37
+ commit_convention: "conventional" # conventional | gitmoji | custom
38
+ allowed_commit_types:
39
+ - feat
40
+ - fix
41
+ - docs
42
+ - style
43
+ - refactor
44
+ - perf
45
+ - test
46
+ - chore
47
+ - build
48
+ - ci
49
+ - revert
50
+
51
+ # --- Quality gates ---
52
+ quality:
53
+ coverage_threshold:
54
+ diff: 80 # % coverage on new code in PR
55
+ overall: 70 # % total coverage
56
+ lint:
57
+ blocking: true # Lint errors block merge
58
+ warnings_allowed: true
59
+ max_complexity: 10 # Cyclomatic complexity per function
60
+ max_file_lines: 500
61
+ max_function_lines: 50
62
+
63
+ # --- Scrum configuration ---
64
+ scrum:
65
+ sprint_length_days: 14
66
+ sprint_capacity_points: 30 # Total story points per sprint for team 2-5
67
+ velocity_tracking: true
68
+ ceremonies:
69
+ planning: true
70
+ daily_standup: true
71
+ review: true
72
+ retrospective: true
73
+ story_point_scale: "fibonacci" # fibonacci | tshirt | linear
74
+ fibonacci_values: [1, 2, 3, 5, 8, 13, 21]
75
+
76
+ # --- Ticket states ---
77
+ ticket_states:
78
+ - DRAFT # Just created, needs grooming
79
+ - GROOMED # BA + Tech Lead reviewed
80
+ - READY # Passed DoR, ready for sprint
81
+ - IN_PROGRESS # Being worked on
82
+ - IN_REVIEW # PR created, awaiting review
83
+ - QA # Merged, being tested
84
+ - DONE # Passed QA
85
+ - BLOCKED # Blocked (can be from any state)
86
+ - CANCELLED # Won't do
87
+
88
+ # --- Agents registry ---
89
+ agents:
90
+ business-analyst:
91
+ enabled: true
92
+ model: opus
93
+ max_tokens_per_session: 100000
94
+ tech-lead:
95
+ enabled: true
96
+ model: opus
97
+ max_tokens_per_session: 150000
98
+ developer:
99
+ enabled: true
100
+ model: sonnet
101
+ max_tokens_per_session: 200000
102
+ qa-tester:
103
+ enabled: true
104
+ model: sonnet
105
+ max_tokens_per_session: 100000
106
+ scrum-master:
107
+ enabled: true
108
+ model: sonnet
109
+ max_tokens_per_session: 80000
110
+
111
+ # --- Platform sync ---
112
+ platforms:
113
+ claude_code:
114
+ enabled: true
115
+ output_dir: ".claude"
116
+ cursor:
117
+ enabled: true
118
+ output_dir: ".cursor/rules"
119
+ format: "mdc"
120
+ windsurf:
121
+ enabled: true
122
+ output_file: ".windsurfrules"
123
+
124
+ # --- Notifications (optional integrations) ---
125
+ notifications:
126
+ slack_webhook: ""
127
+ github_issues: true
128
+ email: ""
129
+
130
+ # --- Feature flags ---
131
+ features:
132
+ auto_create_adr: true # Automatically create ADR when there is an architecture decision
133
+ enforce_tdd: true # Block code without test first
134
+ require_pr_template: true
135
+ require_handoff_protocol: true
136
+ metric_tracking: true
137
+ ai_suggested_reviewers: true