@torus-engineering/tas-kit 1.10.0 → 1.12.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 (162) hide show
  1. package/.tas/README.md +70 -70
  2. package/{.claude → .tas/_platform/claude-code}/settings.json +0 -12
  3. package/{.claude → .tas/_platform}/hooks/code-quality.js +1 -1
  4. package/{.claude → .tas/_platform}/hooks/session-end.js +20 -25
  5. package/.tas/commands/ado-create.md +28 -0
  6. package/.tas/commands/ado-delete.md +22 -0
  7. package/.tas/commands/ado-get.md +20 -0
  8. package/.tas/commands/ado-status.md +18 -0
  9. package/.tas/commands/ado-update.md +27 -0
  10. package/.tas/commands/tas-adr.md +33 -0
  11. package/.tas/commands/tas-apitest-plan.md +173 -0
  12. package/.tas/commands/tas-apitest.md +143 -0
  13. package/.tas/commands/tas-brainstorm.md +19 -0
  14. package/.tas/commands/tas-bug.md +113 -0
  15. package/.tas/commands/tas-design.md +37 -0
  16. package/.tas/commands/tas-dev.md +125 -0
  17. package/{.claude → .tas}/commands/tas-e2e-mobile.md +155 -155
  18. package/{.claude → .tas}/commands/tas-e2e-web.md +163 -163
  19. package/.tas/commands/tas-e2e.md +102 -0
  20. package/.tas/commands/tas-epic.md +35 -0
  21. package/.tas/commands/tas-feature.md +47 -0
  22. package/.tas/commands/tas-fix.md +51 -0
  23. package/.tas/commands/tas-functest-mobile.md +144 -0
  24. package/{.claude → .tas}/commands/tas-functest-web.md +192 -192
  25. package/.tas/commands/tas-functest.md +76 -0
  26. package/.tas/commands/tas-init.md +17 -0
  27. package/.tas/commands/tas-plan.md +198 -0
  28. package/.tas/commands/tas-prd.md +37 -0
  29. package/.tas/commands/tas-review.md +113 -0
  30. package/.tas/commands/tas-sad.md +43 -0
  31. package/.tas/commands/tas-security.md +87 -0
  32. package/.tas/commands/tas-spec.md +50 -0
  33. package/.tas/commands/tas-status.md +16 -0
  34. package/.tas/commands/tas-story.md +91 -0
  35. package/.tas/platforms.json +5 -0
  36. package/.tas/project-status-example.yaml +17 -17
  37. package/.tas/rules/ado-integration.md +65 -0
  38. package/{.claude/skills/api-design/SKILL.md → .tas/rules/common/api-design.md} +517 -530
  39. package/{.claude → .tas}/rules/common/code-review.md +30 -6
  40. package/.tas/rules/common/post-implementation-review.md +51 -0
  41. package/{.claude → .tas}/rules/common/project-status.md +80 -80
  42. package/.tas/rules/common/stack-detection.md +29 -0
  43. package/.tas/rules/common/story-done.md +30 -0
  44. package/.tas/rules/common/tdd.md +89 -0
  45. package/{.claude → .tas}/rules/common/testing.md +3 -8
  46. package/.tas/rules/common/token-logging.md +36 -0
  47. package/{.claude → .tas}/rules/csharp/api-testing.md +20 -20
  48. package/{.claude → .tas}/rules/csharp/coding-style.md +0 -2
  49. package/{.claude → .tas}/rules/csharp/security.md +10 -0
  50. package/{.claude → .tas}/rules/python/coding-style.md +0 -2
  51. package/{.claude → .tas}/rules/typescript/coding-style.md +0 -2
  52. package/.tas/rules/typescript/patterns.md +142 -0
  53. package/.tas/rules/typescript/security.md +88 -0
  54. package/{.claude → .tas}/rules/typescript/testing.md +0 -4
  55. package/{.claude → .tas}/rules/web/coding-style.md +0 -2
  56. package/.tas/tas-example.yaml +10 -11
  57. package/.tas/templates/ADR.md +47 -47
  58. package/.tas/templates/AGENTS.md +37 -0
  59. package/.tas/templates/API-Test-Spec.md +3 -3
  60. package/.tas/templates/Bug.md +67 -67
  61. package/.tas/templates/Design-Spec.md +36 -36
  62. package/.tas/templates/E2E-Execution-Report.md +1 -1
  63. package/.tas/templates/Epic.md +46 -46
  64. package/.tas/templates/Feature.md +10 -10
  65. package/.tas/templates/Func-Test-Spec.md +3 -3
  66. package/.tas/templates/SAD.md +106 -106
  67. package/.tas/templates/Security-Report.md +27 -27
  68. package/.tas/templates/Story.md +9 -9
  69. package/.tas/tools/tas-ado-readme.md +68 -68
  70. package/.tas/tools/tas-ado.py +621 -621
  71. package/README.md +78 -78
  72. package/bin/cli.js +91 -73
  73. package/lib/adapters/antigravity.js +137 -0
  74. package/lib/adapters/claude-code.js +35 -0
  75. package/lib/adapters/codex.js +163 -0
  76. package/lib/adapters/cursor.js +80 -0
  77. package/lib/adapters/index.js +20 -0
  78. package/lib/adapters/utils.js +81 -0
  79. package/lib/deleted-files.json +99 -0
  80. package/lib/install.js +403 -327
  81. package/package.json +4 -3
  82. package/.claude/agents/code-reviewer.md +0 -41
  83. package/.claude/agents/e2e-runner.md +0 -61
  84. package/.claude/agents/planner.md +0 -82
  85. package/.claude/agents/tdd-guide.md +0 -84
  86. package/.claude/commands/ado-create.md +0 -27
  87. package/.claude/commands/ado-delete.md +0 -21
  88. package/.claude/commands/ado-get.md +0 -20
  89. package/.claude/commands/ado-status.md +0 -18
  90. package/.claude/commands/ado-update.md +0 -26
  91. package/.claude/commands/tas-adr.md +0 -33
  92. package/.claude/commands/tas-apitest-plan.md +0 -173
  93. package/.claude/commands/tas-apitest.md +0 -143
  94. package/.claude/commands/tas-brainstorm.md +0 -19
  95. package/.claude/commands/tas-bug.md +0 -113
  96. package/.claude/commands/tas-design.md +0 -37
  97. package/.claude/commands/tas-dev.md +0 -128
  98. package/.claude/commands/tas-e2e.md +0 -102
  99. package/.claude/commands/tas-epic.md +0 -35
  100. package/.claude/commands/tas-feature.md +0 -47
  101. package/.claude/commands/tas-fix.md +0 -51
  102. package/.claude/commands/tas-functest-mobile.md +0 -144
  103. package/.claude/commands/tas-functest.md +0 -76
  104. package/.claude/commands/tas-init.md +0 -17
  105. package/.claude/commands/tas-plan.md +0 -200
  106. package/.claude/commands/tas-prd.md +0 -37
  107. package/.claude/commands/tas-review.md +0 -111
  108. package/.claude/commands/tas-sad.md +0 -43
  109. package/.claude/commands/tas-security.md +0 -87
  110. package/.claude/commands/tas-spec.md +0 -50
  111. package/.claude/commands/tas-status.md +0 -16
  112. package/.claude/commands/tas-story.md +0 -91
  113. package/.claude/commands/tas-verify.md +0 -51
  114. package/.claude/rules/common/post-review-agent.md +0 -49
  115. package/.claude/rules/common/stack-detection.md +0 -29
  116. package/.claude/rules/common/token-logging.md +0 -27
  117. package/.claude/rules/typescript/patterns.md +0 -62
  118. package/.claude/rules/typescript/security.md +0 -28
  119. package/.claude/settings.local.json +0 -38
  120. package/.claude/skills/ado-integration/SKILL.md +0 -75
  121. package/.claude/skills/ai-regression-testing/SKILL.md +0 -364
  122. package/.claude/skills/architecture-decision-records/SKILL.md +0 -184
  123. package/.claude/skills/benchmark/SKILL.md +0 -98
  124. package/.claude/skills/browser-qa/SKILL.md +0 -92
  125. package/.claude/skills/canary-watch/SKILL.md +0 -104
  126. package/.claude/skills/js-backend-patterns/SKILL.md +0 -603
  127. package/.claude/skills/tas-conventions/SKILL.md +0 -65
  128. package/.claude/skills/tas-implementation-complete/SKILL.md +0 -99
  129. package/.claude/skills/tas-tdd/SKILL.md +0 -123
  130. package/.claude/skills/token-logger/SKILL.md +0 -19
  131. package/.tas/checklists/code-review.md +0 -29
  132. package/.tas/checklists/security.md +0 -21
  133. package/.tas/checklists/story-done.md +0 -23
  134. package/CLAUDE-Example.md +0 -61
  135. /package/{.claude → .tas}/agents/architect.md +0 -0
  136. /package/{.claude → .tas}/agents/aws-reviewer.md +0 -0
  137. /package/{.claude → .tas}/agents/build-resolver.md +0 -0
  138. /package/{.claude → .tas}/agents/code-explorer.md +0 -0
  139. /package/{.claude → .tas}/agents/csharp-reviewer.md +0 -0
  140. /package/{.claude → .tas}/agents/database-reviewer.md +0 -0
  141. /package/{.claude → .tas}/agents/doc-updater.md +0 -0
  142. /package/{.claude → .tas}/agents/python-reviewer.md +0 -0
  143. /package/{.claude → .tas}/agents/security-reviewer.md +0 -0
  144. /package/{.claude → .tas}/agents/typescript-reviewer.md +0 -0
  145. /package/{.claude → .tas}/rules/.gitkeep +0 -0
  146. /package/{.claude → .tas}/rules/common/hooks.md +0 -0
  147. /package/{.claude → .tas}/rules/common/patterns.md +0 -0
  148. /package/{.claude → .tas}/rules/common/security.md +0 -0
  149. /package/{.claude → .tas}/rules/csharp/hooks.md +0 -0
  150. /package/{.claude → .tas}/rules/csharp/patterns.md +0 -0
  151. /package/{.claude → .tas}/rules/csharp/testing.md +0 -0
  152. /package/{.claude → .tas}/rules/python/hooks.md +0 -0
  153. /package/{.claude → .tas}/rules/python/patterns.md +0 -0
  154. /package/{.claude → .tas}/rules/python/security.md +0 -0
  155. /package/{.claude → .tas}/rules/python/testing.md +0 -0
  156. /package/{.claude → .tas}/rules/typescript/hooks.md +0 -0
  157. /package/{.claude → .tas}/rules/web/design-quality.md +0 -0
  158. /package/{.claude → .tas}/rules/web/hooks.md +0 -0
  159. /package/{.claude → .tas}/rules/web/patterns.md +0 -0
  160. /package/{.claude → .tas}/rules/web/performance.md +0 -0
  161. /package/{.claude → .tas}/rules/web/security.md +0 -0
  162. /package/{.claude → .tas}/rules/web/testing.md +0 -0
@@ -1,48 +1,48 @@
1
1
  # TAS Kit Skill Specification: ado-integration
2
2
 
3
- **Skill name**: ado-integration
4
- **Version**: 0.2 (concept & spec date: March 17, 2026)
5
- **Purpose**:
6
- Cho phép AI agent trong môi trường coding (Claude Code, Cursor, VS Code + terminal) thực hiện **CRUD** đồng bộ hai chiều giữa các file Markdown (.md) trong repository work items trên Azure DevOps (Epic, Feature, User Story, Bug), bao gồm tự động quản lý hierarchy (parent-child relations).
3
+ **Skill name**: ado-integration
4
+ **Version**: 0.2 (concept & spec date: March 17, 2026)
5
+ **Purpose**:
6
+ Allows AI agent in coding environment (Claude Code, Cursor, VS Code + terminal) to perform **CRUD** and two-way sync between Markdown (.md) files in repository and work items on Azure DevOps (Epic, Feature, User Story, Bug), including automatic hierarchy management (parent-child relations).
7
7
 
8
- Mục tiêu chính:
9
- - Biến AI thành "thành viên đội ngũ" khả năng tự quản lý backlog không cần rời khỏi editor
10
- - Đảm bảo file .md single source of truth (local ↔ ADO sync)
11
- - Ghi dấu thời gian đồng bộ để agent biết dữ liệu mới/cũ
8
+ Main objectives:
9
+ - Transform AI into "team member" capable of self-managing backlog without leaving editor
10
+ - Ensure .md file is single source of truth (local ↔ ADO sync)
11
+ - Record sync timestamp so agent knows data freshness
12
12
 
13
- ## 1. Yêu cầu môi trường & Dependencies
13
+ ## 1. Environment Requirements & Dependencies
14
14
 
15
- **Bắt buộc**:
16
- - Azure CLI đã cài + extension `azure-devops`
15
+ **Required**:
16
+ - Azure CLI installed + extension `azure-devops`
17
17
  ```bash
18
18
  az extension add --name azure-devops --upgrade
19
19
  ```
20
20
  - Python 3.8+
21
21
  - Package: `pyyaml` (`pip install pyyaml`)
22
22
 
23
- **Cấu hình** (file `tas.yaml` root repo):
23
+ **Configuration** (file `tas.yaml` at repo root):
24
24
  ```yaml
25
25
  ado:
26
26
  organization: https://dev.azure.com/your-org-name
27
27
  project: Your-Project-Name
28
- # pat: PAT với scope Work Items (Full) + optional Read & manage wiki
29
- # Nếu không pat trong file → dùng biến môi trường AZURE_DEVOPS_PAT
28
+ # pat: PAT with scope Work Items (Full) + optional Read & manage wiki
29
+ # If no pat in file → use environment variable AZURE_DEVOPS_PAT
30
30
  ```
31
31
 
32
- ## 2. File chính cần tạo
32
+ ## 2. Main Files to Create
33
33
 
34
- - `tools/tas-ado.py` → script Python thực thi tất cả lệnh
35
- - `skills/ado-integration.md` → tài liệu hướng dẫn sử dụng (giống file bạn đang đọc)
34
+ - `tools/tas-ado.py` → Python script executing all commands
35
+ - `skills/ado-integration.md` → usage documentation (like this file)
36
36
 
37
- ## 3. Các lệnh CLI được hỗ trợ
37
+ ## 3. Supported CLI Commands
38
38
 
39
- Tất cả lệnh đều chạy dạng:
39
+ All commands run in form:
40
40
 
41
41
  ```bash
42
42
  python tools/tas-ado.py <command> [arguments]
43
43
  ```
44
44
 
45
- ### Create commands (tạo mới + tự rename file + optional parent)
45
+ ### Create commands (create new + auto rename file + optional parent)
46
46
 
47
47
  ```bash
48
48
  create-epic <temp-id> [--parent-id <id>]
@@ -51,10 +51,10 @@ create-story <temp-id> [--parent-id <id>]
51
51
  create-bug <temp-id> [--parent-id <id>]
52
52
  ```
53
53
 
54
- Ví dụ:
54
+ Example:
55
55
  ```bash
56
56
  python tools/tas-ado.py create-story 789 --parent-id 456
57
- # → đọc epic-789-*.md → tạo User Story → rename thành story-1234-*.md → add parent relation đến 456
57
+ # → reads epic-789-*.md → creates User Story → renames to story-1234-*.md → adds parent relation to 456
58
58
  ```
59
59
 
60
60
  ### Pull / Get commands
@@ -64,10 +64,10 @@ get <ado-id>
64
64
  pull <ado-id> # alias
65
65
  ```
66
66
 
67
- Ví dụ:
67
+ Example:
68
68
  ```bash
69
69
  python tools/tas-ado.py get 5345
70
- # → tạo/tạo lại file epic-5345-slug-title.md với frontmatter + nội dung
70
+ # → creates/recreates file epic-5345-slug-title.md with frontmatter + content
71
71
  ```
72
72
 
73
73
  ### Update commands
@@ -90,13 +90,13 @@ delete-story <ado-id>
90
90
  delete-bug <ado-id>
91
91
  ```
92
92
 
93
- ## 4. Quy ước file .md
93
+ ## 4. File .md Convention
94
94
 
95
- - Pattern tên file: `{type}-{ado_id hoặc temp_id}-{slug-title}.md`
95
+ - File name pattern: `{type}-{ado_id or temp_id}-{slug-title}.md`
96
96
  - type: epic / feature / story / bug
97
- - slug-title: lowercase, thay space bằng -, loại tự đặc biệt
97
+ - slug-title: lowercase, replace spaces with -, remove special characters
98
98
 
99
- - Frontmatter YAML (luôn đầu file):
99
+ - Frontmatter YAML (always at file start):
100
100
 
101
101
  ```yaml
102
102
  ---
@@ -107,63 +107,63 @@ ado_state: Active
107
107
  ado_assigned_to: Nguyen Van A <email@domain.com>
108
108
  ado_created: 2026-03-10
109
109
  last_ado_sync: 2026-03-17 15:42:08
110
- # optional: parent_ado_id: 100 (nếu muốn hỗ trợ detect parent tự động sau này)
110
+ # optional: parent_ado_id: 100 (if want to support auto detect parent later)
111
111
  ---
112
- # Tiêu đề (phải trùng ado_title)
112
+ # Title (must match ado_title)
113
113
 
114
- Nội dung mô tả, acceptance criteria, steps to reproduce, v.v.
114
+ Content description, acceptance criteria, steps to reproduce, etc.
115
115
  ```
116
116
 
117
- **Quan trọng**:
118
- - Mỗi lần **create / pull / update / update-status** thành công → **cập nhật** (hoặc thêm) trường `last_ado_sync` với thời gian hiện tại (format: YYYY-MM-DD HH:MM:SS)
117
+ **Important**:
118
+ - Every time **create / pull / update / update-status** succeeds → **update** (or add) `last_ado_sync` field with current time (format: YYYY-MM-DD HH:MM:SS)
119
119
 
120
- ## 5. Yêu cầu logic chi tiết
120
+ ## 5. Detailed Logic Requirements
121
121
 
122
- ### Khi create:
123
- 1. Tìm file theo pattern `{type}-{temp_id}-*.md`
124
- 2. Extract title (dòng # đầu tiên), description (phần còn lại)
125
- 3. Tạo work item bằng `az boards work-item create`
126
- 4. Lấy ID mới → rename file thành `{type}-{new_id}-*.md`
127
- 5. Nếu `--parent-id` → chạy `az boards work-item relation add --id <new_id> --relation-type parent --target-id <parent_id>`
128
- 6. Tự động detect parent_id từ frontmatter `parent_ado_id` hoặc tên file
129
- 7. Cập nhật `last_ado_sync` trong frontmatter
122
+ ### When create:
123
+ 1. Find file by pattern `{type}-{temp_id}-*.md`
124
+ 2. Extract title (first # line), description (remaining content)
125
+ 3. Create work item using `az boards work-item create`
126
+ 4. Get new ID → rename file to `{type}-{new_id}-*.md`
127
+ 5. If `--parent-id` → run `az boards work-item relation add --id <new_id> --relation-type parent --target-id <parent_id>`
128
+ 6. Auto detect parent_id from frontmatter `parent_ado_id` or file name
129
+ 7. Update `last_ado_sync` in frontmatter
130
130
 
131
- ### Khi pull/get:
132
- 1. Lấy work item bằng `az boards work-item show --id <id> --expand fields`
133
- 2. Convert description (HTML → Markdown cơ bản)
134
- 3. Tạo file `{type}-{id}-{slug}.md`
135
- 4. Ghi frontmatter + nội dung
136
- 5. Cập nhật `last_ado_sync`
131
+ ### When pull/get:
132
+ 1. Get work item using `az boards work-item show --id <id> --expand fields`
133
+ 2. Convert description (HTML → basic Markdown)
134
+ 3. Create file `{type}-{id}-{slug}.md`
135
+ 4. Write frontmatter + content
136
+ 5. Update `last_ado_sync`
137
137
 
138
- ### Khi update:
139
- 1. Tìm file theo pattern `*-<id>-*.md`
140
- 2. Đọc title & description từ file
141
- 3. Cập nhật bằng `az boards work-item update`
142
- 4. Cập nhật `last_ado_sync`
138
+ ### When update:
139
+ 1. Find file by pattern `*-<id>-*.md`
140
+ 2. Read title & description from file
141
+ 3. Update using `az boards work-item update`
142
+ 4. Update `last_ado_sync`
143
143
 
144
- ### Khi update-status:
145
- 1. Tìm file theo pattern
146
- 2. Chỉ update state &/hoặc assigned-to
147
- 3. Cập nhật `last_ado_sync` nếu tìm thấy file
144
+ ### When update-status:
145
+ 1. Find file by pattern
146
+ 2. Only update state &/or assigned-to
147
+ 3. Update `last_ado_sync` if file found
148
148
 
149
- ### Khi delete:
150
- - Chỉ xóa trên ADO, không động đến file local
149
+ ### When delete:
150
+ - Only delete on ADO, don't touch local files
151
151
 
152
- ## 6. Gợi ý mở rộng (không bắt buộc cho v0.2)
152
+ ## 6. Extension Suggestions (not required for v0.2)
153
153
 
154
- - Hỗ trợ thêm fields: priority, effort, labels, acceptance criteria
155
- - Tự động git add/commit/push sau sync
156
- - Convert HTML → Markdown tốt hơn (table, code block, list)
154
+ - Support additional fields: priority, effort, labels, acceptance criteria
155
+ - Auto git add/commit/push after sync
156
+ - Better HTML → Markdown conversion (table, code block, list)
157
157
 
158
- ## 7. Cách sử dụng trong agent prompt
158
+ ## 7. How to Use in Agent Prompt
159
159
 
160
- dụ prompt mẫu cho AI agent:
160
+ Example prompt template for AI agent:
161
161
 
162
162
  ```
163
163
  /ado-create-feature 042 --parent-id 100
164
- /ado-create-story 789 --parent-id <feature-id vừa tạo>
165
- /ado-get 1234 # lấy bug mới về để fix
164
+ /ado-create-story 789 --parent-id <feature-id just created>
165
+ /ado-get 1234 # fetch new bug to fix
166
166
  /ado-update-bug 1234 --status Resolved
167
167
  ```
168
168
 
169
- Skill này được thiết kế để tích hợp mượt vào các framework agentic như TAS Kit, Superpowers, BMAD.
169
+ This skill is designed to integrate smoothly into agentic frameworks like TAS Kit, Superpowers, BMAD.