teamspec 3.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.
- package/LICENSE +21 -0
- package/README.md +252 -0
- package/bin/teamspec-init.js +10 -0
- package/extensions/teamspec-0.1.0.vsix +0 -0
- package/lib/cli.js +1174 -0
- package/lib/extension-installer.js +236 -0
- package/lib/linter.js +1184 -0
- package/lib/prompt-generator.js +409 -0
- package/package.json +51 -0
- package/teamspec-core/agents/AGENT_BA.md +486 -0
- package/teamspec-core/agents/AGENT_BOOTSTRAP.md +447 -0
- package/teamspec-core/agents/AGENT_DES.md +623 -0
- package/teamspec-core/agents/AGENT_DEV.md +611 -0
- package/teamspec-core/agents/AGENT_FA.md +736 -0
- package/teamspec-core/agents/AGENT_FEEDBACK.md +202 -0
- package/teamspec-core/agents/AGENT_FIX.md +380 -0
- package/teamspec-core/agents/AGENT_QA.md +756 -0
- package/teamspec-core/agents/AGENT_SA.md +581 -0
- package/teamspec-core/agents/AGENT_SM.md +771 -0
- package/teamspec-core/agents/README.md +383 -0
- package/teamspec-core/context/_schema.yml +222 -0
- package/teamspec-core/copilot-instructions.md +356 -0
- package/teamspec-core/definitions/definition-of-done.md +129 -0
- package/teamspec-core/definitions/definition-of-ready.md +104 -0
- package/teamspec-core/profiles/enterprise.yml +127 -0
- package/teamspec-core/profiles/platform-team.yml +104 -0
- package/teamspec-core/profiles/regulated.yml +97 -0
- package/teamspec-core/profiles/startup.yml +85 -0
- package/teamspec-core/teamspec.yml +69 -0
- package/teamspec-core/templates/README.md +211 -0
- package/teamspec-core/templates/active-sprint-template.md +98 -0
- package/teamspec-core/templates/adr-template.md +194 -0
- package/teamspec-core/templates/bug-report-template.md +188 -0
- package/teamspec-core/templates/business-analysis-template.md +164 -0
- package/teamspec-core/templates/decision-log-template.md +216 -0
- package/teamspec-core/templates/feature-template.md +269 -0
- package/teamspec-core/templates/functional-spec-template.md +161 -0
- package/teamspec-core/templates/refinement-notes-template.md +133 -0
- package/teamspec-core/templates/sprint-goal-template.md +129 -0
- package/teamspec-core/templates/sprint-template.md +175 -0
- package/teamspec-core/templates/sprints-index-template.md +67 -0
- package/teamspec-core/templates/story-template.md +244 -0
- package/teamspec-core/templates/storymap-template.md +204 -0
- package/teamspec-core/templates/testcases-template.md +147 -0
- package/teamspec-core/templates/uat-pack-template.md +161 -0
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
# TeamSpec 2.0 Agent Prompts
|
|
2
|
+
|
|
3
|
+
> **Version:** 2.0
|
|
4
|
+
> **Purpose:** Predefined AI agents for TeamSpec-driven software delivery
|
|
5
|
+
> **Last Updated:** 2026-01-07
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
This folder contains agent prompt definitions for creating AI assistants that operate within the TeamSpec 2.0 framework. These agents can be loaded into platforms like GitHub Copilot, Claude, ChatGPT, or other AI assistants.
|
|
12
|
+
|
|
13
|
+
Each agent:
|
|
14
|
+
- Understands their role boundaries
|
|
15
|
+
- Enforces the Feature Canon model
|
|
16
|
+
- Knows when to refuse (and why)
|
|
17
|
+
- Can escalate to appropriate roles
|
|
18
|
+
- Follows quality gates
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Agent Architecture
|
|
23
|
+
|
|
24
|
+
```mermaid
|
|
25
|
+
flowchart TD
|
|
26
|
+
BOOT[AGENT_BOOTSTRAP.md<br/>Core Operating Model]
|
|
27
|
+
|
|
28
|
+
BOOT --> BA[AGENT_BA.md<br/>Business Analyst]
|
|
29
|
+
BOOT --> FA[AGENT_FA.md<br/>Functional Analyst]
|
|
30
|
+
BOOT --> SA[AGENT_SA.md<br/>Solution Architect]
|
|
31
|
+
BOOT --> DEV[AGENT_DEV.md<br/>Developer]
|
|
32
|
+
BOOT --> QA[AGENT_QA.md<br/>QA Engineer]
|
|
33
|
+
BOOT --> SM[AGENT_SM.md<br/>Scrum Master]
|
|
34
|
+
BOOT --> DES[AGENT_DES.md<br/>Designer]
|
|
35
|
+
|
|
36
|
+
style BOOT fill:#ffd43b,stroke:#fab005,stroke-width:3px
|
|
37
|
+
style BA fill:#e7f5ff,stroke:#1971c2
|
|
38
|
+
style FA fill:#e7f5ff,stroke:#1971c2
|
|
39
|
+
style SA fill:#e7f5ff,stroke:#1971c2
|
|
40
|
+
style DEV fill:#d3f9d8,stroke:#2f9e44
|
|
41
|
+
style QA fill:#d3f9d8,stroke:#2f9e44
|
|
42
|
+
style SM fill:#fff3bf,stroke:#f08c00
|
|
43
|
+
style DES fill:#fff3bf,stroke:#f08c00
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
All agents inherit from **AGENT_BOOTSTRAP.md** which defines:
|
|
47
|
+
- Feature Canon model
|
|
48
|
+
- Role boundary philosophy
|
|
49
|
+
- Escalation principles
|
|
50
|
+
- Quality gates
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Quick Reference
|
|
55
|
+
|
|
56
|
+
| Agent | Role | Primary Responsibility | Key Commands |
|
|
57
|
+
|-------|------|------------------------|--------------|
|
|
58
|
+
| [AGENT_BOOTSTRAP](./AGENT_BOOTSTRAP.md) | Core | Operating model foundation | — |
|
|
59
|
+
| [AGENT_BA](./AGENT_BA.md) | Business Analyst | Problems, goals, scope, business value | `ts:ba` |
|
|
60
|
+
| [AGENT_FA](./AGENT_FA.md) | Functional Analyst | Feature Canon, story slicing, behavior | `ts:fa` |
|
|
61
|
+
| [AGENT_SA](./AGENT_SA.md) | Solution Architect | Technical design, ADRs | `ts:arch` |
|
|
62
|
+
| [AGENT_DEV](./AGENT_DEV.md) | Developer | Implementation, dev plans | `ts:dev` |
|
|
63
|
+
| [AGENT_QA](./AGENT_QA.md) | QA Engineer | Testing, validation, bug classification | `ts:qa` |
|
|
64
|
+
| [AGENT_SM](./AGENT_SM.md) | Scrum Master | Sprint operations, ceremonies | `ts:sm` |
|
|
65
|
+
| [AGENT_DES](./AGENT_DES.md) | Designer | UX design, design artifacts | `ts:des` |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Which Agent Do I Need?
|
|
70
|
+
|
|
71
|
+
### By Question Type
|
|
72
|
+
|
|
73
|
+
| If you're asking about... | Use Agent |
|
|
74
|
+
|---------------------------|-----------|
|
|
75
|
+
| "Why are we building this?" | BA |
|
|
76
|
+
| "What should the system do?" | FA |
|
|
77
|
+
| "How should we build this?" | SA |
|
|
78
|
+
| "How do I implement this?" | DEV |
|
|
79
|
+
| "Does this work correctly?" | QA |
|
|
80
|
+
| "What's in this sprint?" | SM |
|
|
81
|
+
| "What should this look like?" | DES |
|
|
82
|
+
|
|
83
|
+
### By Activity
|
|
84
|
+
|
|
85
|
+
| Activity | Agent |
|
|
86
|
+
|----------|-------|
|
|
87
|
+
| Starting a new project/epic/feature | BA |
|
|
88
|
+
| Writing user stories | FA |
|
|
89
|
+
| Creating ADRs | SA |
|
|
90
|
+
| Planning implementation | DEV |
|
|
91
|
+
| Writing test cases | QA |
|
|
92
|
+
| Running sprint planning | SM |
|
|
93
|
+
| Creating wireframes/flows | DES |
|
|
94
|
+
|
|
95
|
+
### By Artifact
|
|
96
|
+
|
|
97
|
+
| If you're creating... | Use Agent |
|
|
98
|
+
|-----------------------|-----------|
|
|
99
|
+
| BA docs, epics, features (structure) | BA |
|
|
100
|
+
| Feature Canon files, stories | FA |
|
|
101
|
+
| ADRs, architecture docs | SA |
|
|
102
|
+
| Dev plans, code | DEV |
|
|
103
|
+
| Test cases, bug reports | QA |
|
|
104
|
+
| Sprint goals, retros | SM |
|
|
105
|
+
| Designs, prototypes | DES |
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Usage Instructions
|
|
110
|
+
|
|
111
|
+
### GitHub Copilot
|
|
112
|
+
|
|
113
|
+
1. **Custom Instructions:** Copy the agent content into your GitHub Copilot custom instructions
|
|
114
|
+
2. **Chat:** Use the agent as context when asking questions
|
|
115
|
+
3. **Commands:** Use `ts:` prefixed commands for structured workflows
|
|
116
|
+
|
|
117
|
+
### Claude / ChatGPT
|
|
118
|
+
|
|
119
|
+
1. **System Prompt:** Paste the agent content as the system prompt
|
|
120
|
+
2. **Bootstrap First:** Always include AGENT_BOOTSTRAP.md with your chosen role agent
|
|
121
|
+
3. **Combine:** For best results: `AGENT_BOOTSTRAP.md + AGENT_[ROLE].md`
|
|
122
|
+
|
|
123
|
+
### Example Setup
|
|
124
|
+
|
|
125
|
+
```markdown
|
|
126
|
+
# System Prompt Setup
|
|
127
|
+
|
|
128
|
+
## Include Base:
|
|
129
|
+
[Paste contents of AGENT_BOOTSTRAP.md]
|
|
130
|
+
|
|
131
|
+
## Include Role:
|
|
132
|
+
[Paste contents of AGENT_FA.md] # or whichever role you need
|
|
133
|
+
|
|
134
|
+
## Your Context:
|
|
135
|
+
- Working in repository: [your-repo]
|
|
136
|
+
- Current sprint: Sprint 5
|
|
137
|
+
- Active feature: F-042 User Dashboard
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Agent Capabilities Summary
|
|
143
|
+
|
|
144
|
+
### AGENT_BOOTSTRAP (Foundation)
|
|
145
|
+
|
|
146
|
+
**What it provides:**
|
|
147
|
+
- Feature Canon model explanation
|
|
148
|
+
- Feature Canon Ownership Model (BA owns purpose/scope, FA owns behavior)
|
|
149
|
+
- Canon rules (CANON-001 to CANON-006)
|
|
150
|
+
- Story-as-delta philosophy
|
|
151
|
+
- Role boundaries
|
|
152
|
+
- Escalation principles (including Read-Only Mode)
|
|
153
|
+
- When to Ask Questions vs Refuse decision table
|
|
154
|
+
- Minimal Output Bias rule
|
|
155
|
+
- Quality gates
|
|
156
|
+
- Command structure
|
|
157
|
+
|
|
158
|
+
### AGENT_BA (Business Analyst)
|
|
159
|
+
|
|
160
|
+
**Owns:** Problems, goals, purpose, business value, scope
|
|
161
|
+
**Creates:** BA docs, project/epic/feature structures
|
|
162
|
+
**Enforces:** Business rationale, value justification
|
|
163
|
+
**Refuses:** Technical decisions, implementation details
|
|
164
|
+
**New:** Approves all Feature Canon purpose/scope changes (even if FA edits text)
|
|
165
|
+
|
|
166
|
+
### AGENT_FA (Functional Analyst)
|
|
167
|
+
|
|
168
|
+
**Owns:** Feature Canon, story slicing, current behavior
|
|
169
|
+
**Creates:** Feature files, user stories, Canon updates
|
|
170
|
+
**Enforces:** Delta stories, Canon sync (most critical!)
|
|
171
|
+
**Refuses:** Story creation without feature link
|
|
172
|
+
**New:** May delegate Canon updates but remains accountable for correctness
|
|
173
|
+
|
|
174
|
+
### AGENT_SA (Solution Architect)
|
|
175
|
+
|
|
176
|
+
**Owns:** Technical design, technology choices
|
|
177
|
+
**Creates:** ADRs, architecture docs
|
|
178
|
+
**Enforces:** Design alignment, ADR before coding
|
|
179
|
+
**Refuses:** Implementation without ADR for significant changes
|
|
180
|
+
**New:** Does NOT update Feature Canon directly - ADRs inform FA
|
|
181
|
+
|
|
182
|
+
### AGENT_DEV (Developer)
|
|
183
|
+
|
|
184
|
+
**Owns:** Implementation, task breakdown
|
|
185
|
+
**Creates:** Dev plans, code, commits
|
|
186
|
+
**Enforces:** Plan before code, tests with implementation
|
|
187
|
+
**Refuses:** Coding without dev plan, changing scope
|
|
188
|
+
**New:** May PROPOSE Feature Canon wording, FA must APPROVE
|
|
189
|
+
|
|
190
|
+
### AGENT_QA (QA Engineer)
|
|
191
|
+
|
|
192
|
+
**Owns:** Testing, validation, quality
|
|
193
|
+
**Creates:** Test cases, bug reports, UAT scripts
|
|
194
|
+
**Enforces:** Bug classification, Definition of Done
|
|
195
|
+
**Refuses:** Signing off without Canon alignment
|
|
196
|
+
|
|
197
|
+
### AGENT_SM (Scrum Master)
|
|
198
|
+
|
|
199
|
+
**Owns:** Sprint operations, process facilitation
|
|
200
|
+
**Creates:** Sprint artifacts, metrics, retro outputs
|
|
201
|
+
**Enforces:** Sprint integrity, neutrality, process
|
|
202
|
+
**Refuses:** Making priority decisions (facilitates, doesn't decide)
|
|
203
|
+
**New:** Enforces gates by ESCALATION, not by unilateral blocking
|
|
204
|
+
|
|
205
|
+
### AGENT_DES (Designer)
|
|
206
|
+
|
|
207
|
+
**Owns:** UX design, design artifacts
|
|
208
|
+
**Creates:** Feature-level designs, flows, specs
|
|
209
|
+
**New:** Design decisions affecting behavior MUST go through FA
|
|
210
|
+
**Enforces:** Design at feature level (not story)
|
|
211
|
+
**Refuses:** Designing without clear scope or personas
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Key Principles
|
|
216
|
+
|
|
217
|
+
### 1. Feature Canon is Truth
|
|
218
|
+
|
|
219
|
+
The Feature Canon (`/features/`) is the authoritative source for system behavior. All agents reference it, and FA is responsible for keeping it updated.
|
|
220
|
+
|
|
221
|
+
### 2. Feature Canon Ownership Model
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
BA owns: PURPOSE, VALUE, and SCOPE sections
|
|
225
|
+
FA owns: BEHAVIOR, FLOW, and BUSINESS RULES sections
|
|
226
|
+
Conflicts: Resolved by BA decision, logged in /decisions/
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
This prevents both scope drift and ownership confusion.
|
|
230
|
+
|
|
231
|
+
### 3. Stories are Deltas
|
|
232
|
+
|
|
233
|
+
Stories describe CHANGES to behavior, not complete behavior. They must link to features and say "Feature F-XXX currently does X, this story changes it to Y."
|
|
234
|
+
|
|
235
|
+
### 4. Strict Role Boundaries
|
|
236
|
+
|
|
237
|
+
Each agent stays in their lane. They know what they own, what they don't, and when to escalate. This prevents scope creep and maintains quality.
|
|
238
|
+
|
|
239
|
+
### 5. Quality Gates
|
|
240
|
+
|
|
241
|
+
Agents enforce Definition of Ready (before development) and Definition of Done (after completion). No shortcuts allowed.
|
|
242
|
+
|
|
243
|
+
### 6. Escalation Over Assumption
|
|
244
|
+
|
|
245
|
+
When an agent encounters something outside their domain, they escalate to the appropriate role rather than guessing.
|
|
246
|
+
|
|
247
|
+
### 7. Escalation, Not Blocking
|
|
248
|
+
|
|
249
|
+
SM and other roles enforce gates by **escalation**, not by unilateral blocking. The correct role decides resolution; SM tracks and reports.
|
|
250
|
+
|
|
251
|
+
### 8. Read-Only Mode
|
|
252
|
+
|
|
253
|
+
Agents can explain, review, and summarize without triggering execution workflows. Questions about process don't require creating artifacts.
|
|
254
|
+
|
|
255
|
+
### 9. Minimal Output Bias
|
|
256
|
+
|
|
257
|
+
Default to the minimum output needed to progress to the next gate. Don't over-document.
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Command Reference
|
|
262
|
+
|
|
263
|
+
### BA Commands (`ts:ba`)
|
|
264
|
+
|
|
265
|
+
| Command | Description |
|
|
266
|
+
|---------|-------------|
|
|
267
|
+
| `ts:ba create` | Draft BA document |
|
|
268
|
+
| `ts:ba review` | Review BA document |
|
|
269
|
+
| `ts:ba project` | Create/manage project |
|
|
270
|
+
| `ts:ba epic` | Create/manage epic |
|
|
271
|
+
| `ts:ba feature` | Create/manage feature |
|
|
272
|
+
| `ts:ba sync` | Validate business attributes |
|
|
273
|
+
|
|
274
|
+
### FA Commands (`ts:fa`)
|
|
275
|
+
|
|
276
|
+
| Command | Description |
|
|
277
|
+
|---------|-------------|
|
|
278
|
+
| `ts:fa create` | Draft functional spec |
|
|
279
|
+
| `ts:fa slice` | Break into stories |
|
|
280
|
+
| `ts:fa story` | Create story in backlog |
|
|
281
|
+
| `ts:fa story refine <id>` | Move story to ready-to-refine |
|
|
282
|
+
| `ts:fa sync` | Update Feature Canon |
|
|
283
|
+
| `ts:fa storymap` | Story mapping workshop |
|
|
284
|
+
|
|
285
|
+
### ARCH Commands (`ts:arch`)
|
|
286
|
+
|
|
287
|
+
| Command | Description |
|
|
288
|
+
|---------|-------------|
|
|
289
|
+
| `ts:arch adr` | Draft ADR |
|
|
290
|
+
| `ts:arch review` | Review technical design |
|
|
291
|
+
| `ts:arch sync` | Sync design to stories |
|
|
292
|
+
|
|
293
|
+
### DEV Commands (`ts:dev`)
|
|
294
|
+
|
|
295
|
+
| Command | Description |
|
|
296
|
+
|---------|-------------|
|
|
297
|
+
| `ts:dev plan` | Create task breakdown |
|
|
298
|
+
| `ts:dev implement <id>` | Execute implementation |
|
|
299
|
+
| `ts:dev commit` | Generate commit message |
|
|
300
|
+
| `ts:dev branch <id>` | Create branch |
|
|
301
|
+
| `ts:dev story ready <id>` | Move to ready-for-dev |
|
|
302
|
+
|
|
303
|
+
### QA Commands (`ts:qa`)
|
|
304
|
+
|
|
305
|
+
| Command | Description |
|
|
306
|
+
|---------|-------------|
|
|
307
|
+
| `ts:qa test` | Design test cases |
|
|
308
|
+
| `ts:qa bug` | File bug report |
|
|
309
|
+
| `ts:qa uat` | Create UAT instructions |
|
|
310
|
+
| `ts:qa dor-check <id>` | DoR checklist |
|
|
311
|
+
| `ts:qa execute` | Execute test run |
|
|
312
|
+
|
|
313
|
+
### SM Commands (`ts:sm`)
|
|
314
|
+
|
|
315
|
+
| Command | Description |
|
|
316
|
+
|---------|-------------|
|
|
317
|
+
| `ts:sm` | Open SM menu |
|
|
318
|
+
| `ts:sm sprint create` | Create sprint |
|
|
319
|
+
| `ts:sm sprint plan` | Sprint planning |
|
|
320
|
+
| `ts:sm sprint add <id>` | Add story to sprint |
|
|
321
|
+
| `ts:sm sprint status` | Sprint status |
|
|
322
|
+
| `ts:sm sprint close` | Close sprint |
|
|
323
|
+
| `ts:sm standup` | Standup agenda |
|
|
324
|
+
| `ts:sm retro` | Retrospective |
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## Linter Rules
|
|
329
|
+
|
|
330
|
+
Agents enforce these linter rules:
|
|
331
|
+
|
|
332
|
+
| Category | Rules | Agent |
|
|
333
|
+
|----------|-------|-------|
|
|
334
|
+
| TS-PROJ-* | Project validation | BA |
|
|
335
|
+
| TS-FEAT-* | Feature validation | FA |
|
|
336
|
+
| TS-STORY-* | Story validation | FA, DEV |
|
|
337
|
+
| TS-ADR-* | ADR validation | SA |
|
|
338
|
+
| TS-DEVPLAN-* | Dev plan validation | DEV |
|
|
339
|
+
| TS-QA-* | Test case validation | QA |
|
|
340
|
+
| TS-UAT-* | UAT validation | QA |
|
|
341
|
+
| TS-DOD-* | Definition of Done | All |
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## Troubleshooting
|
|
346
|
+
|
|
347
|
+
### Agent refuses to proceed
|
|
348
|
+
|
|
349
|
+
**Common causes:**
|
|
350
|
+
1. Missing prerequisite (e.g., no feature for story)
|
|
351
|
+
2. Role boundary violation
|
|
352
|
+
3. Incomplete information
|
|
353
|
+
|
|
354
|
+
**Solution:** Read the agent's refusal message - it explains what's missing and who to ask.
|
|
355
|
+
|
|
356
|
+
### Agent seems confused about context
|
|
357
|
+
|
|
358
|
+
**Solution:** Ensure you've included:
|
|
359
|
+
1. AGENT_BOOTSTRAP.md (always)
|
|
360
|
+
2. The specific role agent you need
|
|
361
|
+
3. Context about your repository structure
|
|
362
|
+
|
|
363
|
+
### Commands not recognized
|
|
364
|
+
|
|
365
|
+
**Solution:** Commands are `ts:<family> <subcommand>`. Check the command reference above for correct syntax.
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
## Version History
|
|
370
|
+
|
|
371
|
+
| Version | Date | Changes |
|
|
372
|
+
|---------|------|---------|
|
|
373
|
+
| 2.0.1 | 2026-01-07 | Added: Feature Canon Ownership Model, delegation authority for FA, escalation-vs-blocking clarification, read-only mode, minimal output bias, cross-role contribution rights |
|
|
374
|
+
| 2.0 | 2026-01-07 | Initial TeamSpec 2.0 agents |
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
## Contributing
|
|
379
|
+
|
|
380
|
+
To improve these agents:
|
|
381
|
+
1. Use `ts:feedback` to report issues
|
|
382
|
+
2. Propose changes via PR
|
|
383
|
+
3. Test with real workflows before merging
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# Team Context Schema
|
|
2
|
+
# Version: 2.0.0
|
|
3
|
+
#
|
|
4
|
+
# This schema defines the structure of team.yml files.
|
|
5
|
+
# Use this to validate your team configuration.
|
|
6
|
+
|
|
7
|
+
$schema: "http://json-schema.org/draft-07/schema#"
|
|
8
|
+
title: "TeamSpec Team Context Configuration"
|
|
9
|
+
description: "Configuration file for team-specific TeamSpec settings"
|
|
10
|
+
|
|
11
|
+
type: object
|
|
12
|
+
required:
|
|
13
|
+
- org
|
|
14
|
+
- team
|
|
15
|
+
|
|
16
|
+
properties:
|
|
17
|
+
# ===========================================================================
|
|
18
|
+
# Organization
|
|
19
|
+
# ===========================================================================
|
|
20
|
+
org:
|
|
21
|
+
type: object
|
|
22
|
+
required:
|
|
23
|
+
- name
|
|
24
|
+
properties:
|
|
25
|
+
name:
|
|
26
|
+
type: string
|
|
27
|
+
description: "Organization name"
|
|
28
|
+
examples: ["Acme Corp", "My Startup"]
|
|
29
|
+
|
|
30
|
+
department:
|
|
31
|
+
type: string
|
|
32
|
+
description: "Department or business unit"
|
|
33
|
+
examples: ["Engineering", "Product Development"]
|
|
34
|
+
|
|
35
|
+
industry:
|
|
36
|
+
type: string
|
|
37
|
+
description: "Industry sector"
|
|
38
|
+
enum:
|
|
39
|
+
- technology
|
|
40
|
+
- finance
|
|
41
|
+
- healthcare
|
|
42
|
+
- retail
|
|
43
|
+
- manufacturing
|
|
44
|
+
- government
|
|
45
|
+
- other
|
|
46
|
+
|
|
47
|
+
profile:
|
|
48
|
+
type: string
|
|
49
|
+
description: "Team profile for governance level"
|
|
50
|
+
enum:
|
|
51
|
+
- none
|
|
52
|
+
- startup
|
|
53
|
+
- platform-team
|
|
54
|
+
- enterprise
|
|
55
|
+
- regulated
|
|
56
|
+
default: none
|
|
57
|
+
|
|
58
|
+
compliance:
|
|
59
|
+
type: array
|
|
60
|
+
description: "Compliance frameworks"
|
|
61
|
+
items:
|
|
62
|
+
type: string
|
|
63
|
+
enum:
|
|
64
|
+
- SOX
|
|
65
|
+
- PCI-DSS
|
|
66
|
+
- HIPAA
|
|
67
|
+
- GDPR
|
|
68
|
+
- SOC2
|
|
69
|
+
- ISO27001
|
|
70
|
+
- FedRAMP
|
|
71
|
+
- POPIA
|
|
72
|
+
|
|
73
|
+
# ===========================================================================
|
|
74
|
+
# Team
|
|
75
|
+
# ===========================================================================
|
|
76
|
+
team:
|
|
77
|
+
type: object
|
|
78
|
+
required:
|
|
79
|
+
- name
|
|
80
|
+
- roles
|
|
81
|
+
properties:
|
|
82
|
+
name:
|
|
83
|
+
type: string
|
|
84
|
+
description: "Team name"
|
|
85
|
+
examples: ["Platform Team", "Web Squad"]
|
|
86
|
+
|
|
87
|
+
roles:
|
|
88
|
+
type: array
|
|
89
|
+
description: "Active roles in the team"
|
|
90
|
+
items:
|
|
91
|
+
type: string
|
|
92
|
+
enum:
|
|
93
|
+
- BA
|
|
94
|
+
- FA
|
|
95
|
+
- SA
|
|
96
|
+
- DEV
|
|
97
|
+
- QA
|
|
98
|
+
- SM
|
|
99
|
+
- DES
|
|
100
|
+
|
|
101
|
+
roster:
|
|
102
|
+
type: object
|
|
103
|
+
description: "Map of roles to team members"
|
|
104
|
+
additionalProperties:
|
|
105
|
+
type: array
|
|
106
|
+
items:
|
|
107
|
+
type: string
|
|
108
|
+
|
|
109
|
+
cadence:
|
|
110
|
+
type: object
|
|
111
|
+
properties:
|
|
112
|
+
type:
|
|
113
|
+
type: string
|
|
114
|
+
enum:
|
|
115
|
+
- scrum
|
|
116
|
+
- kanban
|
|
117
|
+
- scrumban
|
|
118
|
+
sprint_length_days:
|
|
119
|
+
type: integer
|
|
120
|
+
minimum: 1
|
|
121
|
+
maximum: 28
|
|
122
|
+
|
|
123
|
+
channels:
|
|
124
|
+
type: object
|
|
125
|
+
description: "Communication channels"
|
|
126
|
+
properties:
|
|
127
|
+
slack:
|
|
128
|
+
type: string
|
|
129
|
+
jira_project:
|
|
130
|
+
type: string
|
|
131
|
+
confluence_space:
|
|
132
|
+
type: string
|
|
133
|
+
|
|
134
|
+
# ===========================================================================
|
|
135
|
+
# Technology Stack
|
|
136
|
+
# ===========================================================================
|
|
137
|
+
tech:
|
|
138
|
+
type: object
|
|
139
|
+
properties:
|
|
140
|
+
stack:
|
|
141
|
+
type: array
|
|
142
|
+
description: "Technologies used"
|
|
143
|
+
items:
|
|
144
|
+
type: string
|
|
145
|
+
examples:
|
|
146
|
+
- ["Python", "React", "PostgreSQL"]
|
|
147
|
+
- ["Java", "Spring Boot", "MongoDB"]
|
|
148
|
+
|
|
149
|
+
architecture:
|
|
150
|
+
type: object
|
|
151
|
+
properties:
|
|
152
|
+
type:
|
|
153
|
+
type: string
|
|
154
|
+
enum:
|
|
155
|
+
- monolith
|
|
156
|
+
- microservices
|
|
157
|
+
- modular-monolith
|
|
158
|
+
- serverless
|
|
159
|
+
|
|
160
|
+
quality:
|
|
161
|
+
type: object
|
|
162
|
+
properties:
|
|
163
|
+
min_test_coverage:
|
|
164
|
+
type: integer
|
|
165
|
+
minimum: 0
|
|
166
|
+
maximum: 100
|
|
167
|
+
require_code_review:
|
|
168
|
+
type: boolean
|
|
169
|
+
|
|
170
|
+
# ===========================================================================
|
|
171
|
+
# Governance
|
|
172
|
+
# ===========================================================================
|
|
173
|
+
governance:
|
|
174
|
+
type: object
|
|
175
|
+
properties:
|
|
176
|
+
sign_off_required:
|
|
177
|
+
type: boolean
|
|
178
|
+
description: "Require explicit sign-off on deliverables"
|
|
179
|
+
default: false
|
|
180
|
+
|
|
181
|
+
audit_trail:
|
|
182
|
+
type: boolean
|
|
183
|
+
description: "Maintain detailed audit trail"
|
|
184
|
+
default: false
|
|
185
|
+
|
|
186
|
+
change_control_board:
|
|
187
|
+
type: boolean
|
|
188
|
+
description: "Require CCB approval for changes"
|
|
189
|
+
default: false
|
|
190
|
+
|
|
191
|
+
# ===========================================================================
|
|
192
|
+
# Feature Canon Configuration
|
|
193
|
+
# ===========================================================================
|
|
194
|
+
feature_canon:
|
|
195
|
+
type: object
|
|
196
|
+
properties:
|
|
197
|
+
ownership:
|
|
198
|
+
type: object
|
|
199
|
+
description: "Section ownership mapping"
|
|
200
|
+
properties:
|
|
201
|
+
purpose_and_scope:
|
|
202
|
+
type: string
|
|
203
|
+
enum: [BA, FA]
|
|
204
|
+
default: BA
|
|
205
|
+
behavior:
|
|
206
|
+
type: string
|
|
207
|
+
enum: [FA, BA]
|
|
208
|
+
default: FA
|
|
209
|
+
change_log:
|
|
210
|
+
type: string
|
|
211
|
+
enum: [FA, BA]
|
|
212
|
+
default: FA
|
|
213
|
+
|
|
214
|
+
require_feature_links:
|
|
215
|
+
type: boolean
|
|
216
|
+
description: "Require stories to link to features"
|
|
217
|
+
default: true
|
|
218
|
+
|
|
219
|
+
require_delta_format:
|
|
220
|
+
type: boolean
|
|
221
|
+
description: "Require before/after delta format in stories"
|
|
222
|
+
default: true
|