@torus-engineering/tas-kit 1.14.0 → 2.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.
- package/.tas/_platform/claude-code/settings.json +58 -46
- package/.tas/_platform/hooks/code-quality.js +127 -127
- package/.tas/_platform/hooks/session-end.js +111 -111
- package/.tas/agents/architect.md +53 -53
- package/.tas/agents/aws-reviewer.md +71 -71
- package/.tas/agents/build-resolver.md +89 -59
- package/.tas/agents/code-explorer.md +63 -63
- package/.tas/agents/csharp-reviewer.md +62 -62
- package/.tas/agents/database-reviewer.md +73 -73
- package/.tas/agents/doc-updater.md +68 -66
- package/.tas/agents/python-reviewer.md +67 -67
- package/.tas/agents/security-reviewer.md +79 -79
- package/.tas/agents/software-engineer.md +53 -0
- package/.tas/agents/typescript-reviewer.md +65 -65
- package/.tas/commands/ado-create.md +33 -28
- package/.tas/commands/ado-delete.md +26 -22
- package/.tas/commands/ado-get.md +24 -20
- package/.tas/commands/ado-status.md +22 -18
- package/.tas/commands/ado-update.md +31 -27
- package/.tas/commands/tas-adr.md +37 -33
- package/.tas/commands/tas-apitest-plan.md +177 -173
- package/.tas/commands/tas-apitest.md +147 -143
- package/.tas/commands/tas-brainstorm.md +23 -19
- package/.tas/commands/tas-brd.md +50 -0
- package/.tas/commands/tas-bug.md +127 -113
- package/.tas/commands/tas-checklist.md +180 -0
- package/.tas/commands/tas-debug.md +103 -0
- package/.tas/commands/tas-design.md +41 -37
- package/.tas/commands/tas-dev.md +225 -125
- package/.tas/commands/tas-e2e-mobile.md +146 -155
- package/.tas/commands/tas-e2e-web.md +150 -163
- package/.tas/commands/tas-e2e.md +289 -102
- package/.tas/commands/tas-feature.md +181 -47
- package/.tas/commands/tas-fix.md +72 -51
- package/.tas/commands/tas-functest-mobile.md +138 -144
- package/.tas/commands/tas-functest-web.md +176 -192
- package/.tas/commands/tas-functest.md +225 -76
- package/.tas/commands/tas-init.md +22 -17
- package/.tas/commands/tas-master-plan.md +300 -0
- package/.tas/commands/tas-orchestrate.md +159 -0
- package/.tas/commands/tas-plan.md +152 -117
- package/.tas/commands/tas-prd.md +57 -37
- package/.tas/commands/tas-review-pr.md +174 -0
- package/.tas/commands/tas-review.md +115 -113
- package/.tas/commands/tas-sad.md +47 -43
- package/.tas/commands/tas-security.md +91 -87
- package/.tas/commands/tas-spec.md +54 -50
- package/.tas/commands/tas-status.md +25 -16
- package/.tas/project-status-example.yaml +3 -1
- package/.tas/rules/ado-integration.md +67 -65
- package/.tas/rules/common/api-design.md +517 -517
- package/.tas/rules/common/build-debug-loop.md +233 -0
- package/.tas/rules/common/code-review.md +4 -0
- package/.tas/rules/common/feature-done.md +42 -0
- package/.tas/rules/common/post-implementation-review.md +4 -0
- package/.tas/rules/common/project-status.md +33 -16
- package/.tas/rules/common/sad-impact.md +81 -0
- package/.tas/rules/common/tdd.md +104 -89
- package/.tas/rules/csharp/api-testing.md +2 -2
- package/.tas/rules/csharp/torus-core-framework.md +128 -0
- package/.tas/tas-example.yaml +9 -32
- package/.tas/templates/AGENTS.md +13 -0
- package/.tas/templates/API-Test-Spec.md +5 -4
- package/.tas/templates/BRD.md +133 -0
- package/.tas/templates/Bug.md +15 -0
- package/.tas/templates/E2E-Execution-Report.md +8 -8
- package/.tas/templates/E2E-Mobile-Spec.md +6 -8
- package/.tas/templates/E2E-Report.md +2 -2
- package/.tas/templates/E2E-Scenario.md +22 -22
- package/.tas/templates/E2E-Test-Spec.md +274 -0
- package/.tas/templates/E2E-Web-Spec.md +4 -4
- package/.tas/templates/Feature-Technical-Part.md +69 -0
- package/.tas/templates/Feature-Technical-Stack.md +74 -0
- package/.tas/templates/Feature-Technical.md +329 -0
- package/.tas/templates/Feature.md +50 -26
- package/.tas/templates/Func-Test-Script.md +29 -56
- package/.tas/templates/Func-Test-Spec.md +144 -142
- package/.tas/templates/PRD.md +173 -142
- package/.tas/templates/TestChecklist.md +96 -0
- package/.tas/templates/torus-dotnet-bootstrap.md +223 -0
- package/.tas/tools/tas-ado-readme.md +24 -27
- package/.tas/tools/tas-ado.py +328 -25
- package/.tas/tools/tas-github.py +339 -0
- package/README.md +131 -54
- package/bin/cli.js +90 -90
- package/lib/adapters/antigravity.js +131 -131
- package/lib/adapters/claude-code.js +71 -35
- package/lib/adapters/codex.js +157 -157
- package/lib/adapters/cursor.js +80 -80
- package/lib/adapters/index.js +20 -20
- package/lib/adapters/utils.js +81 -81
- package/lib/deleted-files.json +7 -0
- package/lib/install.js +546 -546
- package/package.json +1 -1
- package/.tas/commands/tas-epic.md +0 -35
- package/.tas/commands/tas-story.md +0 -91
- package/.tas/rules/common/story-done.md +0 -30
- package/.tas/templates/Epic.md +0 -46
- package/.tas/templates/Story.md +0 -90
package/package.json
CHANGED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# /tas-epic $ARGUMENTS
|
|
2
|
-
|
|
3
|
-
Role: PE - Product Engineer
|
|
4
|
-
Create or update Epic document.
|
|
5
|
-
|
|
6
|
-
## Prerequisite
|
|
7
|
-
- docs/prd.md must exist
|
|
8
|
-
|
|
9
|
-
## Actions
|
|
10
|
-
1. Need context from root/tas.yaml and docs/prd.md
|
|
11
|
-
2. Need context from .tas/templates/Epic.md
|
|
12
|
-
3. Determine mode based on $ARGUMENTS:
|
|
13
|
-
|
|
14
|
-
### CREATE mode ($ARGUMENTS is new Epic description, or no $ARGUMENTS):
|
|
15
|
-
4. If no $ARGUMENTS, ask user for Epic description.
|
|
16
|
-
5. Read project.code from root/tas.yaml. Scan docs/epics/ to determine sequence number.
|
|
17
|
-
6. Create directory docs/epics/{code}-Epic-{NNN}-{slug}/
|
|
18
|
-
7. Create file docs/epics/{code}-Epic-{NNN}-{slug}/{code}-Epic-{NNN}-{slug}.md
|
|
19
|
-
8. Update `project-status.yaml` per `.tas/rules/common/project-status.md` — add entry to `epics`.
|
|
20
|
-
|
|
21
|
-
### UPDATE mode ($ARGUMENTS is Epic ID, e.g., "Epic-001"):
|
|
22
|
-
4. Find directory docs/epics/{code}-Epic-001-*/
|
|
23
|
-
5. Need context from current Epic file
|
|
24
|
-
6. Ask user what needs changing (update scope, add feature, change status...)
|
|
25
|
-
7. Update file, add changelog
|
|
26
|
-
8. Update `project-status.yaml` per `.tas/rules/common/project-status.md` — update `epics.{EPIC_ID}.status`.
|
|
27
|
-
|
|
28
|
-
## Principles
|
|
29
|
-
- Each Epic maps to one business capability in PRD
|
|
30
|
-
- Epic does NOT contain technical details, only business value
|
|
31
|
-
- Effort estimation at T-shirt size level: S/M/L/XL
|
|
32
|
-
|
|
33
|
-
## Final Step — Token Log
|
|
34
|
-
|
|
35
|
-
Follow `.tas/rules/common/token-logging.md`: write AI Usage Log to working Epic file.
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
# /tas-story $ARGUMENTS
|
|
2
|
-
|
|
3
|
-
Role: PE - Product Engineer
|
|
4
|
-
Create or update User Story document.
|
|
5
|
-
|
|
6
|
-
**Scope:** Business logic, user experience, acceptance criteria, test cases.
|
|
7
|
-
**Out of scope:** Technical implementation, files to modify, database schema — that's `/tas-plan`'s job.
|
|
8
|
-
|
|
9
|
-
## Always / Ask / Never
|
|
10
|
-
|
|
11
|
-
| | Action |
|
|
12
|
-
|---|---|
|
|
13
|
-
| **Always** | Write AC in Given/When/Then format |
|
|
14
|
-
| **Always** | Set `plan_status: pending` for new Story |
|
|
15
|
-
| **Ask** | When Story > 8h — suggest splitting |
|
|
16
|
-
| **Never** | Read SAD, ADR — technical is `/tas-plan`'s job |
|
|
17
|
-
|
|
18
|
-
## Prerequisite
|
|
19
|
-
- At least one Feature must exist
|
|
20
|
-
|
|
21
|
-
## Actions
|
|
22
|
-
|
|
23
|
-
### CREATE mode ($ARGUMENTS is new Story description, or no $ARGUMENTS)
|
|
24
|
-
|
|
25
|
-
**Step 1 — Identify Feature**
|
|
26
|
-
- Read `project.code` from root/`tas.yaml`
|
|
27
|
-
- Prioritize in order:
|
|
28
|
-
1. If `$ARGUMENTS` contains Feature ID → use it
|
|
29
|
-
2. If context has `parent_id` → use it
|
|
30
|
-
3. Ask user: "Which Feature does this Story belong to?" — no directory scan
|
|
31
|
-
|
|
32
|
-
**Step 2 — Gather business context**
|
|
33
|
-
- Read identified Feature file (get business context, scope, existing Stories list)
|
|
34
|
-
- Read PRD (if exists) — only business requirements, user goals
|
|
35
|
-
|
|
36
|
-
**Step 3 — Determine Story ID**
|
|
37
|
-
- Read Stories section in Feature file → determine next index from that list
|
|
38
|
-
- DO NOT scan directory
|
|
39
|
-
|
|
40
|
-
**Step 4 — Draft Story with user**
|
|
41
|
-
|
|
42
|
-
Discuss to fill in:
|
|
43
|
-
|
|
44
|
-
a) **User Story**: "As a [role], I want [goal], so that [benefit]"
|
|
45
|
-
|
|
46
|
-
b) **Business Requirements** (if any): specific business rules, stakeholder constraints
|
|
47
|
-
|
|
48
|
-
c) **Design Notes** (if any): UI/UX specs, mockup links, flow diagrams
|
|
49
|
-
|
|
50
|
-
d) **Prerequisites** (if any): other Stories that must be done first
|
|
51
|
-
|
|
52
|
-
e) **Acceptance Criteria**: each AC is a clear Given/When/Then scenario
|
|
53
|
-
|
|
54
|
-
**Step 5 — Test Case Prompting**
|
|
55
|
-
|
|
56
|
-
After AC confirmed, ask more:
|
|
57
|
-
- "Besides happy path, any edge cases to test?" (empty input, boundary values, concurrent)
|
|
58
|
-
- "Any negative cases to cover?" (unauthorized, invalid data, timeout, not found)
|
|
59
|
-
- "Any external dependencies to mock when testing?" (external APIs, database state)
|
|
60
|
-
|
|
61
|
-
Write all to `## Unit Test Cases` section.
|
|
62
|
-
|
|
63
|
-
**Step 6 — Create file**
|
|
64
|
-
- Read `.tas/templates/Story.md` for format
|
|
65
|
-
- Create `docs/epics/{code}-Epic-{NNN}-{slug}/{code}-Feature-{NNN}-{slug}/{code}-Story-{NNN}-{slug}.md`
|
|
66
|
-
- Frontmatter: `plan_status: pending`, `plan_date:` left empty
|
|
67
|
-
|
|
68
|
-
**Step 7 — Update project-status.yaml**
|
|
69
|
-
Per `.tas/rules/common/project-status.md` — add entry to `epics.{EPIC_ID}.features.{FEATURE_ID}.stories`.
|
|
70
|
-
|
|
71
|
-
**Step 8 — Notify next step**
|
|
72
|
-
> "Story created. Before SE starts coding, run `/tas-plan {Story-ID}` for technical planning."
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
### UPDATE mode ($ARGUMENTS is Story ID, e.g., "Story-005")
|
|
77
|
-
|
|
78
|
-
1. Find file via glob `docs/epics/**/{code}-Story-{ID}-*.md`
|
|
79
|
-
2. Read current Story file
|
|
80
|
-
3. Ask user what needs changing (update AC, change status, add test cases, fix business rule...)
|
|
81
|
-
4. Update file, add entry to Changelog
|
|
82
|
-
5. Update `project-status.yaml` per `.tas/rules/common/project-status.md`.
|
|
83
|
-
|
|
84
|
-
## Principles
|
|
85
|
-
- Story must be small enough to complete in **4-8 hours**; if larger → split into multiple Stories
|
|
86
|
-
- Story file = **product artifact**: describes *what* and *why*, not *how*
|
|
87
|
-
- Story status: New → Committed → In Progress → Deploy Test → Verify Test → Deploy Stag → Verify Stag → Deploy Prod → Verify Prod → Done
|
|
88
|
-
|
|
89
|
-
## Final Step — Token Log
|
|
90
|
-
|
|
91
|
-
Follow `.tas/rules/common/token-logging.md`: write AI Usage Log to working Story file.
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# Definition of Done
|
|
2
|
-
|
|
3
|
-
Workflow gate used by `/tas-dev` Step 5 — verify each item before marking Story complete.
|
|
4
|
-
|
|
5
|
-
## Code
|
|
6
|
-
|
|
7
|
-
- [ ] Code implemented per acceptance criteria
|
|
8
|
-
- [ ] Follows conventions in CLAUDE.md
|
|
9
|
-
- [ ] Each public method has doc comment (XML doc / JSDoc / docstring)
|
|
10
|
-
|
|
11
|
-
## Testing
|
|
12
|
-
|
|
13
|
-
- [ ] Unit tests pass (happy path + edge cases + negative cases)
|
|
14
|
-
- [ ] No regression on existing tests
|
|
15
|
-
|
|
16
|
-
## Review
|
|
17
|
-
|
|
18
|
-
- [ ] Code review passed (per `.tas/rules/common/code-review.md`)
|
|
19
|
-
- [ ] If `auto_review = true`, passed automated review
|
|
20
|
-
|
|
21
|
-
## Documentation
|
|
22
|
-
|
|
23
|
-
- [ ] Technical notes in Story updated
|
|
24
|
-
- [ ] If API changes, corresponding docs updated
|
|
25
|
-
|
|
26
|
-
## Status
|
|
27
|
-
|
|
28
|
-
- [ ] Story status updated in Story file
|
|
29
|
-
- [ ] `project-status.yaml` updated
|
|
30
|
-
- [ ] Commit message follows correct format
|
package/.tas/templates/Epic.md
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
ado_id:
|
|
3
|
-
ado_type: Epic
|
|
4
|
-
ado_title: "{Title}"
|
|
5
|
-
ado_state: New
|
|
6
|
-
ado_assigned_to:
|
|
7
|
-
ado_created:
|
|
8
|
-
last_ado_sync:
|
|
9
|
-
---
|
|
10
|
-
# Epic-{NNN}: {Title}
|
|
11
|
-
|
|
12
|
-
> **Status:** New | Pending | In Design | In Progress | In Monitoring | In Closing | Done | Removed
|
|
13
|
-
> **Owner:** {PE name}
|
|
14
|
-
> **Created:** {Date}
|
|
15
|
-
> **PRD Reference:** {link to PRD section}
|
|
16
|
-
|
|
17
|
-
## Business Value
|
|
18
|
-
{Business value description}
|
|
19
|
-
|
|
20
|
-
## Scope
|
|
21
|
-
### In Scope
|
|
22
|
-
- Item 1
|
|
23
|
-
- Item 2
|
|
24
|
-
|
|
25
|
-
### Out of Scope
|
|
26
|
-
- Item 1
|
|
27
|
-
|
|
28
|
-
## Acceptance Criteria (High-level)
|
|
29
|
-
- [ ] Criteria 1
|
|
30
|
-
- [ ] Criteria 2
|
|
31
|
-
|
|
32
|
-
## Features
|
|
33
|
-
| ID | Feature | Priority | Estimate |
|
|
34
|
-
|----|---------|----------|----------|
|
|
35
|
-
| Feature-001 | {name} | Must | M |
|
|
36
|
-
| Feature-002 | {name} | Should | L |
|
|
37
|
-
|
|
38
|
-
## Dependencies
|
|
39
|
-
- {dependency 1}
|
|
40
|
-
|
|
41
|
-
## Risks
|
|
42
|
-
- {risk 1}
|
|
43
|
-
|
|
44
|
-
## Changelog
|
|
45
|
-
| Date | Changes | Author |
|
|
46
|
-
|------|---------|--------|
|
package/.tas/templates/Story.md
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
ado_id:
|
|
3
|
-
ado_type: User Story
|
|
4
|
-
ado_title: "{Title}"
|
|
5
|
-
ado_state: New
|
|
6
|
-
ado_assigned_to:
|
|
7
|
-
ado_created:
|
|
8
|
-
last_ado_sync:
|
|
9
|
-
parent_ado_id:
|
|
10
|
-
plan_status: pending
|
|
11
|
-
plan_date:
|
|
12
|
-
---
|
|
13
|
-
# Story-{NNN}: {Title}
|
|
14
|
-
|
|
15
|
-
> **Status:** New | Committed | In Progress | Deploy Test | Verify Test | Deploy Stag | Verify Stag | Deploy Prod | Verify Prod | Done
|
|
16
|
-
> **Feature:** Feature-{NNN}
|
|
17
|
-
> **Assigned to:** {SE name}
|
|
18
|
-
> **Estimate:** {S/M/L}
|
|
19
|
-
> **Created:** {Date}
|
|
20
|
-
|
|
21
|
-
## User Story
|
|
22
|
-
As a {role}, I want {goal}, so that {benefit}.
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
## Business Requirements (if any)
|
|
26
|
-
*(Special business requirements, business rules, constraints from stakeholders — add only when needed)*
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
## Design Notes (if any)
|
|
30
|
-
*(UI/UX specs, mockup links, design decisions, flow diagrams — add only when needed)*
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
## Prerequisites (if any)
|
|
34
|
-
*(Dependencies from other Stories or required conditions — add only when needed)*
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
## Acceptance Criteria
|
|
38
|
-
|
|
39
|
-
### AC-1: {title}
|
|
40
|
-
- **Given** {precondition}
|
|
41
|
-
- **When** {action}
|
|
42
|
-
- **Then** {expected result}
|
|
43
|
-
- **Functional Tests**: *(fill FT IDs after running `/tas-functest` — e.g.: `{PROJECT}_E{EPIC}_F{FEATURE}_S{STORY}_FT_001_H`, `FT_002_N`)*
|
|
44
|
-
|
|
45
|
-
### AC-2: {title}
|
|
46
|
-
- **Given** {precondition}
|
|
47
|
-
- **When** {action}
|
|
48
|
-
- **Then** {expected result}
|
|
49
|
-
- **Functional Tests**: *(fill FT IDs after running `/tas-functest`)*
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
## Unit Test Cases
|
|
53
|
-
*(PE designs happy path + edge cases + negative cases. SE implements in code.)*
|
|
54
|
-
|
|
55
|
-
### Happy Path
|
|
56
|
-
| ID | AC Ref | Description | Input | Expected Output |
|
|
57
|
-
|----|--------|-------------|-------|-----------------|
|
|
58
|
-
| UT-1 | AC-1 | {description} | {input} | {expected} |
|
|
59
|
-
|
|
60
|
-
### Edge Cases
|
|
61
|
-
| ID | AC Ref | Description | Input | Expected Output |
|
|
62
|
-
|----|--------|-------------|-------|-----------------|
|
|
63
|
-
| UT-E1 | AC-1 | {description} | {input} | {expected} |
|
|
64
|
-
|
|
65
|
-
### Negative Cases
|
|
66
|
-
| ID | AC Ref | Description | Input | Expected Output |
|
|
67
|
-
|----|--------|-------------|-------|-----------------|
|
|
68
|
-
| UT-N1 | AC-1 | {description} | {input} | {expected} |
|
|
69
|
-
|
|
70
|
-
### Dependencies to Mock
|
|
71
|
-
- {external API, database state, third-party service...}
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
<!-- ═══════════════════════════════════════════════════════════════════
|
|
75
|
-
TECHNICAL PLAN — generated by /tas-plan, do not edit manually
|
|
76
|
-
═══════════════════════════════════════════════════════════════════ -->
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
## Definition of Done
|
|
80
|
-
- [ ] Technical plan completed (`/tas-plan`)
|
|
81
|
-
- [ ] Code implemented
|
|
82
|
-
- [ ] Unit tests pass
|
|
83
|
-
- [ ] Code review passed
|
|
84
|
-
- [ ] Acceptance criteria verified
|
|
85
|
-
- [ ] No regression
|
|
86
|
-
- [ ] Documentation updated (if needed)
|
|
87
|
-
|
|
88
|
-
## Changelog
|
|
89
|
-
| Date | Changes | Author |
|
|
90
|
-
|------|---------|--------|
|