@kudusov.takhir/ba-toolkit 1.2.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 (59) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/COMMANDS.md +69 -0
  3. package/LICENSE +21 -0
  4. package/README.md +842 -0
  5. package/README.ru.md +846 -0
  6. package/bin/ba-toolkit.js +468 -0
  7. package/package.json +49 -0
  8. package/skills/ac/SKILL.md +88 -0
  9. package/skills/analyze/SKILL.md +126 -0
  10. package/skills/apicontract/SKILL.md +113 -0
  11. package/skills/brief/SKILL.md +120 -0
  12. package/skills/clarify/SKILL.md +96 -0
  13. package/skills/datadict/SKILL.md +98 -0
  14. package/skills/estimate/SKILL.md +124 -0
  15. package/skills/export/SKILL.md +215 -0
  16. package/skills/glossary/SKILL.md +145 -0
  17. package/skills/handoff/SKILL.md +146 -0
  18. package/skills/nfr/SKILL.md +85 -0
  19. package/skills/principles/SKILL.md +182 -0
  20. package/skills/references/closing-message.md +33 -0
  21. package/skills/references/domains/ecommerce.md +209 -0
  22. package/skills/references/domains/fintech.md +180 -0
  23. package/skills/references/domains/healthcare.md +223 -0
  24. package/skills/references/domains/igaming.md +183 -0
  25. package/skills/references/domains/logistics.md +221 -0
  26. package/skills/references/domains/on-demand.md +231 -0
  27. package/skills/references/domains/real-estate.md +241 -0
  28. package/skills/references/domains/saas.md +185 -0
  29. package/skills/references/domains/social-media.md +234 -0
  30. package/skills/references/environment.md +57 -0
  31. package/skills/references/prerequisites.md +191 -0
  32. package/skills/references/templates/README.md +35 -0
  33. package/skills/references/templates/ac-template.md +58 -0
  34. package/skills/references/templates/analyze-template.md +65 -0
  35. package/skills/references/templates/apicontract-template.md +183 -0
  36. package/skills/references/templates/brief-template.md +51 -0
  37. package/skills/references/templates/datadict-template.md +75 -0
  38. package/skills/references/templates/export-template.md +112 -0
  39. package/skills/references/templates/handoff-template.md +102 -0
  40. package/skills/references/templates/nfr-template.md +97 -0
  41. package/skills/references/templates/principles-template.md +118 -0
  42. package/skills/references/templates/research-template.md +99 -0
  43. package/skills/references/templates/risk-template.md +188 -0
  44. package/skills/references/templates/scenarios-template.md +93 -0
  45. package/skills/references/templates/sprint-template.md +158 -0
  46. package/skills/references/templates/srs-template.md +90 -0
  47. package/skills/references/templates/stories-template.md +60 -0
  48. package/skills/references/templates/trace-template.md +59 -0
  49. package/skills/references/templates/usecases-template.md +51 -0
  50. package/skills/references/templates/wireframes-template.md +96 -0
  51. package/skills/research/SKILL.md +136 -0
  52. package/skills/risk/SKILL.md +163 -0
  53. package/skills/scenarios/SKILL.md +113 -0
  54. package/skills/sprint/SKILL.md +174 -0
  55. package/skills/srs/SKILL.md +124 -0
  56. package/skills/stories/SKILL.md +85 -0
  57. package/skills/trace/SKILL.md +85 -0
  58. package/skills/usecases/SKILL.md +91 -0
  59. package/skills/wireframes/SKILL.md +107 -0
@@ -0,0 +1,118 @@
1
+ # Project Principles: [PROJECT_NAME]
2
+
3
+ **Version:** 1.0
4
+ **Date:** [DATE]
5
+ **Domain:** [DOMAIN]
6
+ **Slug:** [SLUG]
7
+
8
+ ## 1. Artifact Language
9
+
10
+ All artifacts are generated in: [LANGUAGE]
11
+
12
+ ## 2. ID Conventions
13
+
14
+ | Artifact | Format | Example |
15
+ |----------|--------|---------|
16
+ | Functional Requirements | FR-NNN | FR-001 |
17
+ | User Stories | US-NNN | US-001 |
18
+ | Use Cases | UC-NNN | UC-001 |
19
+ | Acceptance Criteria | AC-NNN-NN | AC-001-01 |
20
+ | Non-functional Requirements | NFR-NNN | NFR-001 |
21
+ | Architecture Decisions | ADR-NNN | ADR-001 |
22
+ | Data Entities | PascalCase (English) | UserAccount |
23
+ | API Endpoints | REST path | POST /users |
24
+ | Wireframes | WF-NNN | WF-001 |
25
+ | Validation Scenarios | SC-NNN | SC-001 |
26
+
27
+ ## 3. Traceability Requirements
28
+
29
+ Mandatory links — violations flagged as **CRITICAL** by `/analyze` and `/trace`:
30
+
31
+ - Every FR must have at least one linked US (after `/stories`).
32
+ - Every Must-priority US must have at least one AC (after `/ac`).
33
+ - Every NFR must have a measurable metric.
34
+ - Every WF must link to at least one US.
35
+
36
+ Recommended links — violations flagged as **HIGH**:
37
+
38
+ - Must-priority US should have a linked UC (or documented exception).
39
+ - Every Data Entity should link to at least one FR or US.
40
+ - Every API endpoint should link to at least one FR or US.
41
+
42
+ Optional links — violations flagged as **MEDIUM**:
43
+
44
+ - Should-priority US may skip UC.
45
+ - Could/Won't items may be undocumented in later artifacts.
46
+
47
+ ## 4. Definition of Ready
48
+
49
+ An artifact is ready to `/done` when all of the following are true:
50
+
51
+ ### Functional Requirement (FR)
52
+ - [ ] Description present and unambiguous.
53
+ - [ ] Actor identified (not "the system" or "the user" without role).
54
+ - [ ] Priority assigned (MoSCoW).
55
+ - [ ] Input/Output specified.
56
+
57
+ ### User Story (US)
58
+ - [ ] Role, Action, and Value filled.
59
+ - [ ] Priority assigned.
60
+ - [ ] Linked FR reference present.
61
+
62
+ ### Use Case (UC)
63
+ - [ ] Actor, Preconditions, Main Flow, and at least one Exceptional Flow present.
64
+ - [ ] Linked US reference present.
65
+
66
+ ### Acceptance Criterion (AC)
67
+ - [ ] Given / When / Then all present and specific.
68
+ - [ ] Type specified (positive / negative / boundary).
69
+ - [ ] Linked US reference present.
70
+
71
+ ### NFR
72
+ - [ ] Category specified.
73
+ - [ ] Measurable metric present (numeric target, not adjective).
74
+ - [ ] Verification method specified.
75
+
76
+ ### Data Entity
77
+ - [ ] All attributes have types and constraints.
78
+ - [ ] FK references point to existing entities.
79
+
80
+ ### API Endpoint
81
+ - [ ] Request and Response schemas present.
82
+ - [ ] At least one error code documented.
83
+ - [ ] Linked FR/US present.
84
+
85
+ ### Wireframe (WF)
86
+ - [ ] All four states present: default, loading, empty, error.
87
+ - [ ] Navigation links (from / to) specified.
88
+ - [ ] Linked US present.
89
+
90
+ ## 5. NFR Baseline
91
+
92
+ The following NFR categories are required regardless of domain:
93
+
94
+ - **Security:** authentication method, data encryption at rest and in transit.
95
+ - **Availability:** uptime SLA with a numeric target.
96
+ - **Compliance:** applicable laws and data retention policy.
97
+
98
+ [ADDITIONAL_NFR_CATEGORIES]
99
+
100
+ ## 6. Quality Gates
101
+
102
+ For `/analyze` findings:
103
+
104
+ - **CRITICAL:** must be resolved. `/done` is blocked.
105
+ - **HIGH:** [BLOCK_OR_WARN] — [PROJECT_DECISION].
106
+ - **MEDIUM:** documented and may be deferred.
107
+ - **LOW:** informational only.
108
+
109
+ ## 7. Output Folder Structure
110
+
111
+ **Mode:** [flat | subfolder]
112
+
113
+ - `flat` (default) — all artifacts saved directly in the output directory.
114
+ - `subfolder` — all artifacts saved under `{output_dir}/[SLUG]/`.
115
+
116
+ ## 8. Project-Specific Notes
117
+
118
+ [ADDITIONAL_CONVENTIONS]
@@ -0,0 +1,99 @@
1
+ # Technology Research & Architecture Decisions: [PROJECT_NAME]
2
+
3
+ **Domain:** [DOMAIN]
4
+ **Date:** [DATE]
5
+ **Slug:** [SLUG]
6
+ **References:** `02_srs_[SLUG].md`, `06_nfr_[SLUG].md`, `07_datadict_[SLUG].md`
7
+
8
+ ---
9
+
10
+ ## Architecture Decision Records (ADRs)
11
+
12
+ ### ADR-001: [Decision Title]
13
+
14
+ **Status:** Proposed | Accepted | Deprecated | Superseded by ADR-[NNN]
15
+ **Date:** [DATE]
16
+
17
+ **Context:**
18
+ [What situation or requirement forces us to make this decision? Reference specific NFRs or FRs.]
19
+
20
+ **Options Considered:**
21
+
22
+ | Option | Pros | Cons |
23
+ |--------|------|------|
24
+ | [Option A] | [pros] | [cons] |
25
+ | [Option B] | [pros] | [cons] |
26
+
27
+ **Decision:** [Option A / B / other], because [rationale].
28
+
29
+ **Consequences:**
30
+ - [Positive consequence]
31
+ - [Trade-off or risk]
32
+
33
+ **References:** NFR-[NNN], FR-[NNN]
34
+
35
+ ---
36
+
37
+ ### ADR-002: [Decision Title]
38
+
39
+ **Status:** Proposed | Accepted
40
+ **Date:** [DATE]
41
+
42
+ **Context:** [Context for this decision.]
43
+
44
+ **Options Considered:**
45
+
46
+ | Option | Pros | Cons |
47
+ |--------|------|------|
48
+ | [Option A] | [pros] | [cons] |
49
+ | [Option B] | [pros] | [cons] |
50
+
51
+ **Decision:** [Chosen option and rationale.]
52
+
53
+ **Consequences:**
54
+ - [Consequence]
55
+
56
+ <!-- Repeat ADR block for each major architectural decision. -->
57
+
58
+ ---
59
+
60
+ ## Integration Map
61
+
62
+ | Integration | Type | Protocol | Auth | Direction | Notes |
63
+ |-------------|------|----------|------|-----------|-------|
64
+ | [System name] | [REST / GraphQL / gRPC / Webhook / SDK] | [HTTPS / WSS] | [API key / OAuth / JWT] | Inbound / Outbound / Both | [notes] |
65
+
66
+ ---
67
+
68
+ ## Data Storage Decisions
69
+
70
+ | Data Type | Storage Technology | Rationale |
71
+ |-----------|-------------------|-----------|
72
+ | [e.g. User profiles] | [e.g. PostgreSQL] | [why] |
73
+ | [e.g. Session data] | [e.g. Redis] | [why] |
74
+ | [e.g. Media files] | [e.g. S3-compatible] | [why] |
75
+
76
+ ---
77
+
78
+ ## Real-time Strategy
79
+
80
+ **Requirement:** [What real-time feature needs this — e.g. live notifications, tracking]
81
+ **Approach:** [WebSocket / Server-Sent Events / Long-polling / None]
82
+ **Technology:** [e.g. Socket.io, native WebSocket, Pusher]
83
+ **Rationale:** [Why this approach over alternatives]
84
+
85
+ ---
86
+
87
+ ## Regulatory & Compliance Notes
88
+
89
+ | Requirement | Impact | Implementation Approach |
90
+ |-------------|--------|------------------------|
91
+ | [e.g. GDPR] | [what data is affected] | [how it will be addressed] |
92
+
93
+ ---
94
+
95
+ ## Open Questions
96
+
97
+ | # | Question | Owner | Target Date |
98
+ |---|---------|-------|-------------|
99
+ | 1 | [Unresolved technical question] | [Role] | [Date] |
@@ -0,0 +1,188 @@
1
+ # Risk Register: {PROJECT_NAME}
2
+
3
+ **Domain:** {DOMAIN}
4
+ **Date:** {DATE}
5
+ **Slug:** {SLUG}
6
+ **Sources:** {list of artifacts scanned}
7
+
8
+ ---
9
+
10
+ ## Summary
11
+
12
+ | Priority | Count |
13
+ |---------|-------|
14
+ | 🔴 Critical | 1 |
15
+ | 🟡 High | 2 |
16
+ | 🟢 Medium | 3 |
17
+ | ⚪ Low | 1 |
18
+ | **Total** | **7** |
19
+
20
+ ---
21
+
22
+ ## Risk Register
23
+
24
+ | ID | Title | Category | Probability | Impact | Score | Priority | Status |
25
+ |----|-------|----------|:-----------:|:------:|:-----:|---------|--------|
26
+ | RISK-01 | Payment provider SLA not guaranteed | External | 4 | 5 | 20 | 🔴 Critical | Open |
27
+ | RISK-02 | Regulatory approval timeline unknown | Compliance | 3 | 4 | 12 | 🟡 High | Open |
28
+ | RISK-03 | Real-time leaderboard at scale unproven | Technical | 3 | 3 | 9 | 🟡 High | Open |
29
+ | RISK-04 | Scope creep from stakeholder wish list | Business | 3 | 2 | 6 | 🟢 Medium | Open |
30
+ | RISK-05 | Telegram Mini App API breaking changes | External | 2 | 3 | 6 | 🟢 Medium | Open |
31
+ | RISK-06 | Data model changes after /datadict | Technical | 2 | 3 | 6 | 🟢 Medium | Open |
32
+ | RISK-07 | Development team unfamiliar with domain | Business | 2 | 1 | 2 | ⚪ Low | Open |
33
+
34
+ ---
35
+
36
+ ## Risk Details
37
+
38
+ ### RISK-01 — Payment provider SLA not guaranteed
39
+
40
+ **Category:** External
41
+ **Probability:** 4 / 5 — Likely
42
+ **Impact:** 5 / 5 — Critical
43
+ **Score:** 20 🔴 Critical
44
+ **Status:** Open
45
+ **Source:** `07a_research_{slug}.md`
46
+
47
+ **Description:**
48
+ The selected payment provider has not provided a written SLA. If the provider experiences downtime during peak traffic, transactions will fail and user funds may be delayed, directly impacting revenue and trust.
49
+
50
+ **Mitigation:**
51
+ Negotiate and sign an SLA before launch. Implement a fallback payment provider in the API contract. Add payment provider availability as a monitored NFR metric.
52
+
53
+ **Contingency:**
54
+ Enable the fallback provider automatically via feature flag if primary provider error rate exceeds 5% over a 5-minute window.
55
+
56
+ **Owner:** Tech Lead
57
+
58
+ ---
59
+
60
+ ### RISK-02 — Regulatory approval timeline unknown
61
+
62
+ **Category:** Compliance
63
+ **Probability:** 3 / 5 — Possible
64
+ **Impact:** 4 / 5 — Major
65
+ **Score:** 12 🟡 High
66
+ **Status:** Open
67
+ **Source:** `01_brief_{slug}.md`
68
+
69
+ **Description:**
70
+ The product operates in a regulated iGaming jurisdiction. The licensing timeline was listed as an assumption in the Brief. If approval is delayed, the launch date will slip regardless of development readiness.
71
+
72
+ **Mitigation:**
73
+ Engage legal counsel early to track approval status. Decouple development milestones from the licensing timeline so that technical readiness does not block on regulatory process.
74
+
75
+ **Contingency:**
76
+ Prepare a soft launch in an unregulated market while the primary jurisdiction approval is pending.
77
+
78
+ **Owner:** Product Manager
79
+
80
+ ---
81
+
82
+ ### RISK-03 — Real-time leaderboard at scale unproven
83
+
84
+ **Category:** Technical
85
+ **Probability:** 3 / 5 — Possible
86
+ **Impact:** 3 / 5 — Moderate
87
+ **Score:** 9 🟡 High
88
+ **Status:** Open
89
+ **Source:** `07a_research_{slug}.md`
90
+
91
+ **Description:**
92
+ The ADR for the leaderboard service chose Redis Sorted Sets as the primary data structure. This approach has not been load-tested for the projected 10,000 concurrent users. If throughput assumptions are wrong, real-time updates will lag and degrade UX.
93
+
94
+ **Mitigation:**
95
+ Conduct a load test spike in the first development sprint. Define a fallback to polling-based updates (every 5s) if WebSocket throughput targets are not met.
96
+
97
+ **Contingency:**
98
+ Switch to polling-based leaderboard refresh with a 10-second interval. Communicate the change as a phased rollout feature.
99
+
100
+ **Owner:** Tech Lead
101
+
102
+ ---
103
+
104
+ ### RISK-04 — Scope creep from stakeholder wish list
105
+
106
+ **Category:** Business
107
+ **Probability:** 3 / 5 — Possible
108
+ **Impact:** 2 / 5 — Minor
109
+ **Score:** 6 🟢 Medium
110
+ **Status:** Open
111
+ **Source:** `01_brief_{slug}.md`
112
+
113
+ **Description:**
114
+ Several features were marked out of scope during the Brief interview but stakeholders indicated they "might be needed later." Without a change control process, these may be re-introduced mid-development, inflating the MVP scope.
115
+
116
+ **Mitigation:**
117
+ Establish a formal change request process referenced in the Handoff document. All scope additions must go through `/stories` and be re-estimated.
118
+
119
+ **Contingency:**
120
+ Freeze scope at the start of each sprint. Defer any mid-sprint scope additions to the next sprint backlog.
121
+
122
+ **Owner:** Product Manager
123
+
124
+ ---
125
+
126
+ ### RISK-05 — Telegram Mini App API breaking changes
127
+
128
+ **Category:** External
129
+ **Probability:** 2 / 5 — Unlikely
130
+ **Impact:** 3 / 5 — Moderate
131
+ **Score:** 6 🟢 Medium
132
+ **Status:** Open
133
+ **Source:** `07a_research_{slug}.md`
134
+
135
+ **Description:**
136
+ The product is built as a Telegram Mini App. Telegram has released breaking changes to the Mini Apps API in previous versions. If the API changes after development, UI components and deep links may require rework.
137
+
138
+ **Mitigation:**
139
+ Pin the Telegram Web App SDK version used in development. Monitor the Telegram changelog and the `@twa-dev/sdk` release notes. Abstract SDK calls behind a thin adapter layer.
140
+
141
+ **Contingency:**
142
+ Allocate a 3-day buffer in the release plan for SDK compatibility fixes.
143
+
144
+ **Owner:** Frontend Lead
145
+
146
+ ---
147
+
148
+ ### RISK-06 — Data model changes after /datadict
149
+
150
+ **Category:** Technical
151
+ **Probability:** 2 / 5 — Unlikely
152
+ **Impact:** 3 / 5 — Moderate
153
+ **Score:** 6 🟢 Medium
154
+ **Status:** Open
155
+ **Source:** `07_datadict_{slug}.md`
156
+
157
+ **Description:**
158
+ The Data Dictionary was finalised before the API Contract was fully detailed. Late-stage entity or field changes discovered during API design may require cascading updates across the SRS, Stories, and AC artifacts.
159
+
160
+ **Mitigation:**
161
+ Run `/trace` after `/apicontract` to detect any new cross-artifact inconsistencies. Address CRITICAL gaps before handoff.
162
+
163
+ **Contingency:**
164
+ Use `/revise` on affected artifacts to propagate changes. Document the delta in the Handoff open items list.
165
+
166
+ **Owner:** Business Analyst
167
+
168
+ ---
169
+
170
+ ### RISK-07 — Development team unfamiliar with domain
171
+
172
+ **Category:** Business
173
+ **Probability:** 2 / 5 — Unlikely
174
+ **Impact:** 1 / 5 — Negligible
175
+ **Score:** 2 ⚪ Low
176
+ **Status:** Open
177
+ **Source:** `01_brief_{slug}.md`
178
+
179
+ **Description:**
180
+ The engineering team has limited prior experience with iGaming products. Domain-specific concepts (RTP, bonus wagering, KYC flows) may be misunderstood during implementation, leading to minor defects in edge cases.
181
+
182
+ **Mitigation:**
183
+ Include a domain onboarding session as part of sprint 0. Reference the iGaming domain glossary in the Handoff document.
184
+
185
+ **Contingency:**
186
+ Schedule a BA review checkpoint after the first feature is implemented end-to-end.
187
+
188
+ **Owner:** Product Manager
@@ -0,0 +1,93 @@
1
+ # Validation Scenarios: [PROJECT_NAME]
2
+
3
+ **Domain:** [DOMAIN]
4
+ **Date:** [DATE]
5
+ **Slug:** [SLUG]
6
+ **References:** `03_stories_[SLUG].md`, `05_ac_[SLUG].md`, `09_wireframes_[SLUG].md`, `08_apicontract_[SLUG].md`
7
+
8
+ ---
9
+
10
+ ## Scenario Index
11
+
12
+ | ID | Title | Persona | Priority | Type |
13
+ |----|-------|---------|---------|------|
14
+ | SC-001 | [Title] | [Persona] | P1 | Happy path |
15
+ | SC-002 | [Title] | [Persona] | P2 | Negative |
16
+ | SC-003 | [Title] | [Persona] | P1 | Edge case |
17
+
18
+ ---
19
+
20
+ ## SC-001: [Scenario Title]
21
+
22
+ **Persona:** [Name and role — e.g. "Alex, a returning customer"]
23
+ **Type:** Happy path | Negative | Edge case | Performance | Security
24
+ **Priority:** P1 (critical) | P2 (important) | P3 (nice to have)
25
+ **Entry point:** [Where the scenario starts — e.g. "Home screen, not logged in"]
26
+ **Platform:** Web | iOS | Android | API
27
+ **Linked Stories:** US-[NNN], US-[NNN]
28
+ **Linked AC:** US-[NNN] Scenario [N]
29
+
30
+ ### Steps
31
+
32
+ | # | Actor | Action | Expected Result | Ref |
33
+ |---|-------|--------|----------------|-----|
34
+ | 1 | [Persona] | [Does something] | [What happens] | WF-[NNN] |
35
+ | 2 | System | [Responds] | [State changes] | API: `POST /[endpoint]` |
36
+ | 3 | [Persona] | [Continues] | [UI updates] | AC: US-[NNN] S[N] |
37
+
38
+ ### Expected Outcome
39
+
40
+ [What the final state is when the scenario completes successfully.]
41
+
42
+ ### Failure Conditions
43
+
44
+ | Condition | Expected Behaviour |
45
+ |-----------|-------------------|
46
+ | [What could go wrong] | [How the system should handle it] |
47
+
48
+ ---
49
+
50
+ ## SC-002: [Scenario Title]
51
+
52
+ **Persona:** [Persona]
53
+ **Type:** Negative | Happy path | Edge case
54
+ **Priority:** P1 | P2 | P3
55
+ **Entry point:** [Start state]
56
+ **Platform:** [Platform]
57
+ **Linked Stories:** US-[NNN]
58
+ **Linked AC:** US-[NNN] Scenario [N]
59
+
60
+ ### Steps
61
+
62
+ | # | Actor | Action | Expected Result | Ref |
63
+ |---|-------|--------|----------------|-----|
64
+ | 1 | [Persona] | [Action] | [Result] | WF-[NNN] |
65
+ | 2 | System | [Response] | [State] | |
66
+
67
+ ### Expected Outcome
68
+
69
+ [Final state after scenario.]
70
+
71
+ ### Failure Conditions
72
+
73
+ | Condition | Expected Behaviour |
74
+ |-----------|-------------------|
75
+ | [Condition] | [Behaviour] |
76
+
77
+ <!-- Repeat SC block for each scenario. Numbering: SC-001, SC-002, ... -->
78
+
79
+ ---
80
+
81
+ ## Coverage Summary
82
+
83
+ | Artifact | Covered | Not Covered |
84
+ |---------|---------|------------|
85
+ | User Stories | [N] / [Total] | US-[NNN], … |
86
+ | Acceptance Criteria Scenarios | [N] / [Total] | |
87
+ | API Endpoints | [N] / [Total] | `[endpoint]`, … |
88
+ | Wireframe screens | [N] / [Total] | WF-[NNN], … |
89
+
90
+ **Happy path scenarios:** [N]
91
+ **Negative scenarios:** [N]
92
+ **Edge case scenarios:** [N]
93
+ **Total scenarios:** [N]
@@ -0,0 +1,158 @@
1
+ # Sprint Plan: Dragon Fortune
2
+
3
+ **Domain:** iGaming
4
+ **Date:** 2026-04-08
5
+ **Slug:** dragon-fortune
6
+ **Sprint length:** 2 weeks
7
+ **Team velocity:** 35 SP per sprint
8
+ **Sources:** `00_estimate_dragon-fortune.md`, `03_stories_dragon-fortune.md`, `00_risks_dragon-fortune.md`, `02_srs_dragon-fortune.md`
9
+
10
+ ---
11
+
12
+ ## Summary
13
+
14
+ | Sprint | Goal | Stories | Points | Capacity |
15
+ |--------|------|:-------:|:------:|:--------:|
16
+ | SP-00 | Setup: environment, CI/CD, Telegram Mini App scaffold | — | — | — |
17
+ | SP-01 | Players can register via Telegram and spin a slot for the first time | 6 | 34 SP | 97% |
18
+ | SP-02 | Players can deposit, withdraw, and view wallet balance | 5 | 32 SP | 91% |
19
+ | SP-03 | Referral programme and bonus mechanics are live | 5 | 30 SP | 86% |
20
+ | SP-04 | Admin panel: player management, game configuration, reporting | 4 | 28 SP | 80% |
21
+ | **Total** | | **20** | **124 SP** | |
22
+
23
+ **Planned:** 20 stories / 124 SP across 4 sprints (8 weeks)
24
+ **Unplanned backlog:** 4 stories / 18 SP (scope exceeds MVP capacity or marked Could/Won't)
25
+
26
+ ---
27
+
28
+ ## Sprint Details
29
+
30
+ ### SP-00 — Setup and environment
31
+
32
+ **Duration:** Week 0 (pre-sprint)
33
+ **Capacity:** Setup only — no story points assigned
34
+
35
+ **Tasks:**
36
+ - Configure CI/CD pipeline (GitHub Actions).
37
+ - Provision staging environment on cloud infrastructure.
38
+ - Scaffold Telegram Mini App project with base authentication stub.
39
+ - Establish database schema baseline from `/datadict`.
40
+ - Team domain onboarding session (iGaming concepts, RTP, KYC flow).
41
+
42
+ **Definition of Done for SP-00:**
43
+ - [ ] All developers can run the project locally.
44
+ - [ ] Staging environment is accessible via Telegram.
45
+ - [ ] Base CI pipeline runs lint + unit tests on every push.
46
+
47
+ ---
48
+
49
+ ### SP-01 — Players can register via Telegram and spin a slot for the first time
50
+
51
+ **Duration:** Weeks 1–2
52
+ **Capacity:** 35 SP
53
+
54
+ | US | Title | Epic | Priority | Risk | Estimate |
55
+ |----|-------|------|---------|------|---------|
56
+ | US-001 | Register via Telegram | E-01 Auth | Must | RISK-02 ↑ | 5 SP |
57
+ | US-002 | Launch slot game from Mini App | E-02 Gameplay | Must | — | 3 SP |
58
+ | US-003 | Execute a spin and see result | E-02 Gameplay | Must | RISK-03 ↑ | 13 SP |
59
+ | US-004 | View current wallet balance | E-03 Wallet | Must | — | 3 SP |
60
+ | US-005 | See responsible gambling session limit warning | E-05 Compliance | Must | — | 5 SP |
61
+ | US-006 | View game history (last 20 spins) | E-02 Gameplay | Should | — | 5 SP |
62
+
63
+ **Sprint total:** 34 SP / 35 SP capacity (97%)
64
+
65
+ **Definition of Done for SP-01:**
66
+ - [ ] All stories pass their Acceptance Criteria.
67
+ - [ ] Telegram login tested on iOS and Android Telegram clients.
68
+ - [ ] RNG certified spin result returned in under 200 ms at p95.
69
+ - [ ] No 🔴 Critical open items in `/analyze` for completed stories.
70
+
71
+ ---
72
+
73
+ ### SP-02 — Players can deposit, withdraw, and view wallet balance
74
+
75
+ **Duration:** Weeks 3–4
76
+ **Capacity:** 35 SP
77
+
78
+ | US | Title | Epic | Priority | Risk | Estimate |
79
+ |----|-------|------|---------|------|---------|
80
+ | US-007 | Deposit via cryptocurrency | E-03 Wallet | Must | RISK-01 ↑ | 8 SP |
81
+ | US-008 | Deposit via local payment system | E-03 Wallet | Must | RISK-01 ↑ | 8 SP |
82
+ | US-009 | Request withdrawal | E-03 Wallet | Must | — | 8 SP |
83
+ | US-010 | View full transaction history | E-03 Wallet | Should | — | 5 SP |
84
+ | US-011 | Complete KYC identity verification | E-04 Compliance | Must | — | 3 SP |
85
+
86
+ **Sprint total:** 32 SP / 35 SP capacity (91%)
87
+
88
+ **Definition of Done for SP-02:**
89
+ - [ ] All stories pass their Acceptance Criteria.
90
+ - [ ] Payment provider sandbox integration verified end-to-end.
91
+ - [ ] KYC flow tested with test credentials from the provider.
92
+ - [ ] Withdrawal processed within 24 h in staging environment.
93
+
94
+ ---
95
+
96
+ ### SP-03 — Referral programme and bonus mechanics are live
97
+
98
+ **Duration:** Weeks 5–6
99
+ **Capacity:** 35 SP
100
+
101
+ | US | Title | Epic | Priority | Risk | Estimate |
102
+ |----|-------|------|---------|------|---------|
103
+ | US-012 | Share referral link and earn bonus | E-06 Referrals | Must | RISK-04 ↑ | 8 SP |
104
+ | US-013 | Claim welcome bonus on first deposit | E-06 Referrals | Must | — | 5 SP |
105
+ | US-014 | View active bonuses and wagering progress | E-06 Referrals | Should | — | 5 SP |
106
+ | US-015 | Set self-exclusion period | E-05 Compliance | Must | — | 5 SP |
107
+ | US-016 | Configure deposit limits | E-05 Compliance | Should | — | 7 SP |
108
+
109
+ **Sprint total:** 30 SP / 35 SP capacity (86%)
110
+
111
+ **Definition of Done for SP-03:**
112
+ - [ ] All stories pass their Acceptance Criteria.
113
+ - [ ] Fraud scoring on referral payouts is active and logged.
114
+ - [ ] Self-exclusion blocks all game access within 5 minutes of activation.
115
+
116
+ ---
117
+
118
+ ### SP-04 — Admin panel: player management, game configuration, reporting
119
+
120
+ **Duration:** Weeks 7–8
121
+ **Capacity:** 35 SP
122
+
123
+ | US | Title | Epic | Priority | Risk | Estimate |
124
+ |----|-------|------|---------|------|---------|
125
+ | US-017 | Admin views player list and profile | E-07 Admin | Must | — | 5 SP |
126
+ | US-018 | Admin adjusts RTP and payline configuration | E-07 Admin | Must | — | 8 SP |
127
+ | US-019 | Admin views revenue and activity report | E-07 Admin | Should | — | 8 SP |
128
+ | US-020 | Admin flags a player account for review | E-07 Admin | Should | — | 7 SP |
129
+
130
+ **Sprint total:** 28 SP / 35 SP capacity (80%)
131
+
132
+ **Definition of Done for SP-04:**
133
+ - [ ] All stories pass their Acceptance Criteria.
134
+ - [ ] RTP configuration change takes effect within 1 spin cycle.
135
+ - [ ] Revenue report matches transaction ledger to within 0.01%.
136
+
137
+ ---
138
+
139
+ ## Unplanned Backlog
140
+
141
+ Stories not assigned to any sprint — below MVP capacity or marked Could/Won't:
142
+
143
+ | US | Title | Epic | Priority | Estimate | Reason |
144
+ |----|-------|------|---------|---------|--------|
145
+ | US-021 | Export transaction history as PDF | E-03 Wallet | Could | 5 SP | Capacity exceeded — defer to v1.1 |
146
+ | US-022 | Multi-language support (EN / RU / KZ) | E-01 Auth | Could | 8 SP | Deferred — requires i18n infrastructure |
147
+ | US-023 | Live chat support widget | E-08 Support | Could | 3 SP | Deferred — third-party integration |
148
+ | US-024 | Affiliate dashboard | E-06 Referrals | Won't | 2 SP | Out of MVP scope |
149
+
150
+ ---
151
+
152
+ ## Assumptions
153
+
154
+ - Sprint velocity: 35 SP based on a team of 4 full-stack developers (2 sprints of historical data from similar projects).
155
+ - SP-00 is a pre-sprint setup week; its effort is not tracked in Story Points.
156
+ - Frontend and backend are developed in parallel within each sprint.
157
+ - No hard release deadline was specified; the plan targets an 8-week MVP delivery window.
158
+ - Risk-elevated stories (RISK-01, RISK-02, RISK-03, RISK-04) were pulled into earlier sprints to validate mitigations sooner.