@torus-engineering/tas-kit 1.13.0 → 1.14.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/README.md +11 -3
- package/lib/install.js +3 -0
- package/package.json +2 -2
- package/.tas/README.md +0 -334
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# TAS Kit
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
TAS Kit - Turbo Agentic SDLC toolkit for modern AI-first software teams.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -329,6 +329,14 @@ tas.yaml Flow configuration template (edit this for your project)
|
|
|
329
329
|
|
|
330
330
|
---
|
|
331
331
|
|
|
332
|
-
##
|
|
332
|
+
## Changelog
|
|
333
333
|
|
|
334
|
-
|
|
334
|
+
### v1.14.0
|
|
335
|
+
- Support 4 Agentic Coding Platforms: Claude Code, Cursor, Codex, Antigravity
|
|
336
|
+
- Compress kit size — refactor commands, skills, rules to only include what's truly necessary
|
|
337
|
+
- Remove legacy agent and skill files
|
|
338
|
+
|
|
339
|
+
### v1.11.x
|
|
340
|
+
- Drop Claude Code branding from kit artifacts
|
|
341
|
+
- Set real Azure DevOps project_id in config
|
|
342
|
+
- Translate all documentation to English
|
package/lib/install.js
CHANGED
|
@@ -83,6 +83,7 @@ const TAS_ROOT_EXCLUDE = new Set([
|
|
|
83
83
|
'agents',
|
|
84
84
|
'commands',
|
|
85
85
|
'skills',
|
|
86
|
+
'README.md',
|
|
86
87
|
]);
|
|
87
88
|
|
|
88
89
|
async function copyTasDir(src, dest) {
|
|
@@ -412,6 +413,7 @@ export async function update({ directory, yes, securityHook, platforms: forcedPl
|
|
|
412
413
|
const tasDest = path.join(target, '.tas');
|
|
413
414
|
if (path.resolve(TAS_SRC) !== path.resolve(tasDest)) {
|
|
414
415
|
await copyTasDir(TAS_SRC, tasDest);
|
|
416
|
+
await fs.copyFile(path.join(PACKAGE_DIR, 'README.md'), path.join(tasDest, 'README.md'));
|
|
415
417
|
}
|
|
416
418
|
console.log(' [ok] .tas/ (updated)');
|
|
417
419
|
|
|
@@ -471,6 +473,7 @@ export async function install({ directory, yes, securityHook, platforms: forcedP
|
|
|
471
473
|
const tasDest = path.join(target, '.tas');
|
|
472
474
|
if (path.resolve(TAS_SRC) !== path.resolve(tasDest)) {
|
|
473
475
|
await copyTasDir(TAS_SRC, tasDest);
|
|
476
|
+
await fs.copyFile(path.join(PACKAGE_DIR, 'README.md'), path.join(tasDest, 'README.md'));
|
|
474
477
|
console.log(' [ok] .tas/');
|
|
475
478
|
} else {
|
|
476
479
|
console.log(' [--] .tas/ (source = destination, skipped)');
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@torus-engineering/tas-kit",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.14.0",
|
|
4
|
+
"description": "TAS Kit - Turbo Agentic SDLC toolkit for modern AI-first software teams.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"tas-kit": "bin/cli.js"
|
package/.tas/README.md
DELETED
|
@@ -1,334 +0,0 @@
|
|
|
1
|
-
# TAS Kit
|
|
2
|
-
|
|
3
|
-
Turbo AI-first toolkit for modern agentic SDLC teams.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Purpose
|
|
8
|
-
|
|
9
|
-
TAS Kit helps software development teams:
|
|
10
|
-
- **Standardize SDLC process** with clear artifacts (PRD, SAD, ADR, Epic, Feature, Story)
|
|
11
|
-
- **Optimize token usage** through Context Layer — invest in design phase, save in code phase
|
|
12
|
-
- **Support multiple workflows**: from solo developer to full team with PE/SE/DSE roles
|
|
13
|
-
- **Automate** with Hybrid and Autonomous agents operating 24/7
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Design Philosophy
|
|
18
|
-
|
|
19
|
-
### Spec-Driven Development
|
|
20
|
-
All code starts from spec. Story.md is "context digest" that has absorbed all information from PRD, SAD, ADR, Feature. Each implementation session only needs to read CLAUDE.md + Story.md — no need to reload all artifacts.
|
|
21
|
-
|
|
22
|
-
### Human-Led, AI-Powered
|
|
23
|
-
- **Human-led**: Architecture decisions, design approval, code review
|
|
24
|
-
- **AI-assisted**: Draft creation, implementation per spec, test execution, bug detection
|
|
25
|
-
|
|
26
|
-
### Dual Mode Operation
|
|
27
|
-
- **Hybrid Mode**: Developer and AI work together in session
|
|
28
|
-
- **Autonomous Mode**: AI automatically develops 24/7, reports results when done
|
|
29
|
-
|
|
30
|
-
### Lightweight & Context-Aware
|
|
31
|
-
- Each skill < 3KB, total kit < 50KB
|
|
32
|
-
- Context Layer: invest tokens in design phase to save many times in code phase
|
|
33
|
-
- When coding: MUST start new session (don't reuse old session that loaded PRD/SAD to avoid Window Context bloat)
|
|
34
|
-
|
|
35
|
-
### Role-Based & Template-Driven
|
|
36
|
-
- 3 roles: PE (Product Engineer), SE (Software Engineer), DSE (DevOps Engineer)
|
|
37
|
-
- Separate templates for PRD, SAD, ADR, Epic, Feature, Story per team standards
|
|
38
|
-
- Flow configurable via `tas.yaml` file
|
|
39
|
-
|
|
40
|
-
### Azure DevOps Compatible
|
|
41
|
-
- Markdown output compatible with Azure DevOps Wiki
|
|
42
|
-
- Mermaid diagrams don't use `()` characters (avoid conflict with ADO syntax)
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## SDLC Workflow
|
|
47
|
-
|
|
48
|
-
:::mermaid
|
|
49
|
-
graph TD
|
|
50
|
-
subgraph Phase1["Phase 1: Discovery"]
|
|
51
|
-
PRD["/tas-prd"]
|
|
52
|
-
SAD["/tas-sad"]
|
|
53
|
-
ADR["/tas-adr"]
|
|
54
|
-
DESIGN["/tas-design"]
|
|
55
|
-
PRD -->|Product Engineer| PRD_ARTIFACT["PRD.md"]
|
|
56
|
-
PRD_ARTIFACT -->|Software Engineer| SAD
|
|
57
|
-
PRD_ARTIFACT -->|Software Engineer| ADR
|
|
58
|
-
SAD --> SAD_ARTIFACT["SAD.md"]
|
|
59
|
-
ADR --> ADR_ARTIFACT["ADR-XXX.md"]
|
|
60
|
-
PRD_ARTIFACT -->|Product Engineer| DESIGN
|
|
61
|
-
DESIGN --> DESIGN_ARTIFACT["design-spec.md"]
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
subgraph Phase2["Phase 2: Planning"]
|
|
65
|
-
EPIC["/tas-epic"]
|
|
66
|
-
FEATURE["/tas-feature"]
|
|
67
|
-
STORY["/tas-story"]
|
|
68
|
-
PRD_ARTIFACT -->|Product Engineer| EPIC
|
|
69
|
-
EPIC --> EPIC_ARTIFACT["Epic-XXX/"]
|
|
70
|
-
EPIC_ARTIFACT -->|Product Engineer| FEATURE
|
|
71
|
-
FEATURE --> FEATURE_ARTIFACT["Feature-XXX/"]
|
|
72
|
-
SAD_ARTIFACT --> FEATURE
|
|
73
|
-
DESIGN_ARTIFACT --> FEATURE
|
|
74
|
-
FEATURE_ARTIFACT -->|Product Engineer| STORY
|
|
75
|
-
STORY --> STORY_ARTIFACT["Story-XXX.md"]
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
subgraph Phase3["Phase 3: Implementation"]
|
|
79
|
-
PLAN["/tas-plan"]
|
|
80
|
-
DEV["/tas-dev"]
|
|
81
|
-
FIX["/tas-fix"]
|
|
82
|
-
APItest["/tas-apitest"]
|
|
83
|
-
E2E["/tas-e2e"]
|
|
84
|
-
FUNCTEST_WEB["/tas-functest-web"]
|
|
85
|
-
FUNCTEST_MOBILE["/tas-functest-mobile"]
|
|
86
|
-
E2E_WEB["/tas-e2e-web"]
|
|
87
|
-
E2E_MOBILE["/tas-e2e-mobile"]
|
|
88
|
-
BUG["/tas-bug"]
|
|
89
|
-
REVIEW["/tas-review"]
|
|
90
|
-
FUNctest["/tas-functest"]
|
|
91
|
-
STORY_ARTIFACT -->|Software Engineer| PLAN
|
|
92
|
-
PLAN --> STORY_ARTIFACT
|
|
93
|
-
STORY_ARTIFACT -->|AI Agent| DEV
|
|
94
|
-
DEV --> CODE["Source Code"]
|
|
95
|
-
CODE -->|Bug found| FIX
|
|
96
|
-
FIX --> CODE
|
|
97
|
-
CODE -->|Software Engineer| REVIEW
|
|
98
|
-
REVIEW --> REVIEW_ARTIFACT["Code Review Report"]
|
|
99
|
-
STORY_ARTIFACT -->|Software Engineer| APItest
|
|
100
|
-
APItest --> APITEST_ARTIFACT["API Testing Script"]
|
|
101
|
-
FUNCTEST_ARTIFACT -->|Product Engineer| E2E
|
|
102
|
-
E2E --> E2E_ARTIFACT["E2E Test Scenarios"]
|
|
103
|
-
FUNCTEST_ARTIFACT -->|Software Engineer| FUNCTEST_WEB
|
|
104
|
-
FUNCTEST_WEB --> FUNCTEST_WEB_ARTIFACT["Functional Test Web Script"]
|
|
105
|
-
FUNCTEST_ARTIFACT -->|Software Engineer| FUNCTEST_MOBILE
|
|
106
|
-
FUNCTEST_MOBILE --> FUNCTEST_MOBILE_ARTIFACT["Functional Test Mobile Script"]
|
|
107
|
-
FUNCTEST_ARTIFACT -->|Product Engineer| E2E_WEB
|
|
108
|
-
E2E_WEB --> E2E_WEB_ARTIFACT["E2E Web Test Script"]
|
|
109
|
-
FUNCTEST_ARTIFACT -->|Product Engineer| E2E_MOBILE
|
|
110
|
-
E2E_MOBILE --> E2E_MOBILE_ARTIFACT["E2E Mobile Test Script"]
|
|
111
|
-
CODE -->|Bug found| BUG
|
|
112
|
-
BUG --> BUG_ARTIFACT["Bug Report"]
|
|
113
|
-
FEATURE_ARTIFACT -->|Product Engineer| FUNctest
|
|
114
|
-
FUNctest --> FUNCTEST_ARTIFACT["Functional-Testing-Spec-FeatureXXX.md"]
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
subgraph Phase4["Phase 4: Quality & Deploy"]
|
|
118
|
-
SECURITY["/tas-security"]
|
|
119
|
-
PIPELINE["Pipeline / CLI"]
|
|
120
|
-
CODE -->|DevOps Engineer| SECURITY
|
|
121
|
-
SECURITY --> SECURITY_ARTIFACT["Security Report"]
|
|
122
|
-
APITEST_ARTIFACT -->|Product Engineer| PIPELINE
|
|
123
|
-
FUNCTEST_WEB_ARTIFACT --> PIPELINE
|
|
124
|
-
FUNCTEST_MOBILE_ARTIFACT --> PIPELINE
|
|
125
|
-
E2E_WEB_ARTIFACT --> PIPELINE
|
|
126
|
-
E2E_MOBILE_ARTIFACT --> PIPELINE
|
|
127
|
-
PIPELINE --> TEST_REPORT["Test Report"]
|
|
128
|
-
SECURITY_ARTIFACT -->|DevOps Engineer| DEPLOY["Production"]
|
|
129
|
-
TEST_REPORT --> DEPLOY
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
STATUS["/tas-status"] -.->|Track| PRD_ARTIFACT
|
|
133
|
-
STATUS -.->|Track| SAD_ARTIFACT
|
|
134
|
-
STATUS -.->|Track| STORY_ARTIFACT
|
|
135
|
-
STATUS -.->|Track| DEPLOY
|
|
136
|
-
|
|
137
|
-
style PRD_ARTIFACT fill:#e1f5ff
|
|
138
|
-
style SAD_ARTIFACT fill:#fff4e1
|
|
139
|
-
style DESIGN_ARTIFACT fill:#f3e5f5
|
|
140
|
-
style STORY_ARTIFACT fill:#e8f5e9
|
|
141
|
-
style CODE fill:#f3e5f5
|
|
142
|
-
style TEST_REPORT fill:#c8e6c9
|
|
143
|
-
style DEPLOY fill:#c8e6c9
|
|
144
|
-
:::
|
|
145
|
-
|
|
146
|
-
### Phase Summary
|
|
147
|
-
|
|
148
|
-
| Phase | Role | Commands | Artifacts |
|
|
149
|
-
|-------|------|----------|-----------|
|
|
150
|
-
| **Phase 1: Discovery** | PE, SE | `/tas-prd`, `/tas-sad`, `/tas-adr`, `/tas-design` | PRD.md, SAD.md, ADR-XXX.md, design-spec.md |
|
|
151
|
-
| **Phase 2: Planning** | SE | `/tas-epic`, `/tas-feature`, `/tas-story`, `/tas-functest` | Epic-XXX/, Feature-XXX/, Story-XXX.md, Functional-Testing-Spec-FeatureXXX.md |
|
|
152
|
-
| **Phase 3: Implementation** | PE, SE, AI | `/tas-plan`, `/tas-dev`, `/tas-fix`, `/tas-apitest`, `/tas-e2e`, `/tas-functest-web`, `/tas-functest-mobile`, `/tas-e2e-web`, `/tas-e2e-mobile`, `/tas-bug`, `/tas-review` | Plan.md, Source Code, API Testing Script, E2E Test Scenarios, Functional Test Scripts, Bug Report, Code Review Report |
|
|
153
|
-
| **Phase 4: Quality & Deploy** | PE, DSE | `/tas-security`, Pipeline/CLI | Security Report, Test Report, Production |
|
|
154
|
-
|
|
155
|
-
### Phase Details
|
|
156
|
-
|
|
157
|
-
#### Phase 1: Discovery
|
|
158
|
-
- **PE**: Create PRD with `/tas-prd`, create design-spec with `/tas-design`
|
|
159
|
-
- **SE**: Create SAD with `/tas-sad`, create ADR with `/tas-adr`
|
|
160
|
-
|
|
161
|
-
#### Phase 2: Planning
|
|
162
|
-
- **PE**: Breakdown Epic with `/tas-epic`, Feature with `/tas-feature`, Story with `/tas-story`
|
|
163
|
-
|
|
164
|
-
#### Phase 3: Implementation
|
|
165
|
-
- **SE**: Create Plan with `/tas-plan`, Implement with `/tas-dev`, Fix bug with `/tas-fix`
|
|
166
|
-
- **SE**: Review code with `/tas-review`
|
|
167
|
-
- **PE**: Create Functional Testing Spec with `/tas-functest`
|
|
168
|
-
- **SE**: Create API Testing Script with `/tas-apitest`
|
|
169
|
-
- **PE**: Create E2E Test Scenarios with `/tas-e2e`
|
|
170
|
-
- **SE**: Create Functional Test Scripts with `/tas-functest-web`, `/tas-functest-mobile`
|
|
171
|
-
- **PE**: Create E2E Test Scripts with `/tas-e2e-web`, `/tas-e2e-mobile`
|
|
172
|
-
- **PE**: Create Bug Report with `/tas-bug`
|
|
173
|
-
|
|
174
|
-
#### Phase 4: Quality & Deploy
|
|
175
|
-
- **DSE**: Security Review with `/tas-security`
|
|
176
|
-
- **PE**: Run Pipeline/CLI to execute Automation Tests
|
|
177
|
-
- **DSE**: Deploy to Production
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
## Quick Start
|
|
182
|
-
|
|
183
|
-
```bash
|
|
184
|
-
npx @torus-engineering/tas-kit install
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
### Options
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
npx @torus-engineering/tas-kit install --directory /path/to/my-project
|
|
191
|
-
npx @torus-engineering/tas-kit install --yes # skip confirmation prompts
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
---
|
|
195
|
-
|
|
196
|
-
## Important Setup
|
|
197
|
-
|
|
198
|
-
### CLAUDE.md
|
|
199
|
-
|
|
200
|
-
Most important configuration file — Claude reads this file first in every session.
|
|
201
|
-
|
|
202
|
-
**Structure:**
|
|
203
|
-
```markdown
|
|
204
|
-
# Project Name
|
|
205
|
-
|
|
206
|
-
## Tech Stack
|
|
207
|
-
- Backend: .NET / Node.js / Python
|
|
208
|
-
- Frontend: React / Next.js
|
|
209
|
-
- Database: PostgreSQL / MySQL
|
|
210
|
-
- Infrastructure: AWS / Azure
|
|
211
|
-
|
|
212
|
-
## Conventions
|
|
213
|
-
- Coding standards
|
|
214
|
-
- Architecture patterns
|
|
215
|
-
- Testing requirements
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
### tas.yaml
|
|
219
|
-
|
|
220
|
-
Controls TAS Kit flow per project.
|
|
221
|
-
|
|
222
|
-
**Structure:**
|
|
223
|
-
```yaml
|
|
224
|
-
project:
|
|
225
|
-
name: "My Project"
|
|
226
|
-
team: "Team Name"
|
|
227
|
-
|
|
228
|
-
azure_devops:
|
|
229
|
-
enabled: true
|
|
230
|
-
organization: "org"
|
|
231
|
-
project: "project"
|
|
232
|
-
|
|
233
|
-
flow:
|
|
234
|
-
mode: "greenfield" # or "brownfield"
|
|
235
|
-
use_tdd: true
|
|
236
|
-
auto_review: true
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
### project-status.yaml
|
|
240
|
-
|
|
241
|
-
Project status index — automatically updated after each artifact change.
|
|
242
|
-
|
|
243
|
-
**Structure:**
|
|
244
|
-
```yaml
|
|
245
|
-
last_updated: 2025-01-15
|
|
246
|
-
|
|
247
|
-
artifacts:
|
|
248
|
-
prd:
|
|
249
|
-
file: docs/prd.md
|
|
250
|
-
status: Approved
|
|
251
|
-
version: "1.0"
|
|
252
|
-
|
|
253
|
-
epics:
|
|
254
|
-
Epic-001:
|
|
255
|
-
status: Active
|
|
256
|
-
features:
|
|
257
|
-
Feature-001:
|
|
258
|
-
stories:
|
|
259
|
-
Story-001:
|
|
260
|
-
status: In Progress
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
### .env
|
|
264
|
-
|
|
265
|
-
Environment variables for Azure DevOps integration.
|
|
266
|
-
|
|
267
|
-
```bash
|
|
268
|
-
AZURE_DEVOPS_PAT=your_pat_here
|
|
269
|
-
AZURE_DEVOPS_ORG=your_org
|
|
270
|
-
AZURE_DEVOPS_PROJECT=your_project
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
## What gets installed
|
|
276
|
-
|
|
277
|
-
```
|
|
278
|
-
.claude/
|
|
279
|
-
commands/ 22 slash commands (/tas-*, /ado-*)
|
|
280
|
-
skills/ 3 auto-invoked skills
|
|
281
|
-
agents/ 29 specialized subagents
|
|
282
|
-
.tas/
|
|
283
|
-
templates/ Markdown templates (PRD, SAD, ADR, Epic, Feature, Story...)
|
|
284
|
-
rules/ Coding standards + workflow rules (code-review, story-done, security...)
|
|
285
|
-
tools/ ADO integration script (tas-ado.py)
|
|
286
|
-
CLAUDE.md Project context template (edit this for your project)
|
|
287
|
-
tas.yaml Flow configuration template (edit this for your project)
|
|
288
|
-
.env.example Environment variable template
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
---
|
|
292
|
-
|
|
293
|
-
## Commands Reference
|
|
294
|
-
|
|
295
|
-
| Command | Description | Role |
|
|
296
|
-
|---------|-------------|------|
|
|
297
|
-
| `/tas-init` | Initialize TAS for new project | All |
|
|
298
|
-
| `/tas-status` | Display current project status | All |
|
|
299
|
-
| `/tas-prd` | Create/update Product Requirements Document | PE |
|
|
300
|
-
| `/tas-sad` | Create/update Solution Architecture Document | SE |
|
|
301
|
-
| `/tas-adr` | Create Architecture Decision Record | SE |
|
|
302
|
-
| `/tas-design` | Create Design Specification | SE |
|
|
303
|
-
| `/tas-epic` | Create/update Epic | SE |
|
|
304
|
-
| `/tas-feature` | Create/update Feature | SE |
|
|
305
|
-
| `/tas-story` | Create/update Story | SE |
|
|
306
|
-
| `/tas-functest` | Create Functional Testing Specification | SE |
|
|
307
|
-
| `/tas-spec` | Lightweight spec (solo / prototype) | SE |
|
|
308
|
-
| `/tas-plan` | Create technical implementation plan | SE |
|
|
309
|
-
| `/tas-dev` | Implement story (agentic) | AI |
|
|
310
|
-
| `/tas-fix` | Quick fix without full story flow | SE |
|
|
311
|
-
| `/tas-apitest` | Create API Testing Script automatically | SE |
|
|
312
|
-
| `/tas-e2e` | Create E2E Test Scenarios | PE |
|
|
313
|
-
| `/tas-functest-web` | Create Functional Test Script for Web | SE |
|
|
314
|
-
| `/tas-functest-mobile` | Create Functional Test Script for Mobile | SE |
|
|
315
|
-
| `/tas-e2e-web` | Create E2E Test Script for Web | PE |
|
|
316
|
-
| `/tas-e2e-mobile` | Create E2E Test Script for Mobile | PE |
|
|
317
|
-
| `/tas-bug` | Create Bug Report | PE |
|
|
318
|
-
| `/tas-review` | Code Review with checklist | SE |
|
|
319
|
-
| `/tas-brainstorm` | Brainstorm solutions | All |
|
|
320
|
-
| `/tas-security` | Security Review | DSE |
|
|
321
|
-
| `/ado-*` | Azure DevOps integration | All |
|
|
322
|
-
|
|
323
|
-
---
|
|
324
|
-
|
|
325
|
-
## Requirements
|
|
326
|
-
|
|
327
|
-
- Node.js 18+
|
|
328
|
-
- [Claude Code](https://claude.ai/code)
|
|
329
|
-
|
|
330
|
-
---
|
|
331
|
-
|
|
332
|
-
## Documentation
|
|
333
|
-
|
|
334
|
-
See `.tas/README.md` after install for detailed documentation.
|