@torus-engineering/tas-kit 1.9.0 → 1.11.1

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 (68) hide show
  1. package/.claude/commands/ado-create.md +17 -17
  2. package/.claude/commands/ado-delete.md +11 -11
  3. package/.claude/commands/ado-get.md +12 -12
  4. package/.claude/commands/ado-status.md +12 -12
  5. package/.claude/commands/ado-update.md +15 -15
  6. package/.claude/commands/tas-adr.md +33 -33
  7. package/.claude/commands/tas-apitest-plan.md +173 -173
  8. package/.claude/commands/tas-apitest.md +143 -143
  9. package/.claude/commands/tas-brainstorm.md +14 -14
  10. package/.claude/commands/tas-bug.md +113 -113
  11. package/.claude/commands/tas-design.md +37 -37
  12. package/.claude/commands/tas-dev.md +128 -128
  13. package/.claude/commands/tas-e2e-mobile.md +155 -155
  14. package/.claude/commands/tas-e2e-web.md +163 -163
  15. package/.claude/commands/tas-e2e.md +102 -102
  16. package/.claude/commands/tas-epic.md +35 -35
  17. package/.claude/commands/tas-feature.md +47 -47
  18. package/.claude/commands/tas-fix.md +51 -51
  19. package/.claude/commands/tas-functest-mobile.md +144 -144
  20. package/.claude/commands/tas-functest-web.md +192 -192
  21. package/.claude/commands/tas-functest.md +76 -76
  22. package/.claude/commands/tas-init.md +14 -14
  23. package/.claude/commands/tas-plan.md +198 -200
  24. package/.claude/commands/tas-prd.md +37 -37
  25. package/.claude/commands/tas-review.md +111 -111
  26. package/.claude/commands/tas-sad.md +43 -43
  27. package/.claude/commands/tas-security.md +87 -81
  28. package/.claude/commands/tas-spec.md +20 -20
  29. package/.claude/commands/tas-status.md +13 -13
  30. package/.claude/commands/tas-story.md +91 -91
  31. package/.claude/commands/tas-verify.md +51 -51
  32. package/.claude/rules/common/post-review-agent.md +49 -49
  33. package/.claude/rules/common/project-status.md +14 -14
  34. package/.claude/rules/common/stack-detection.md +6 -6
  35. package/.claude/rules/common/token-logging.md +27 -27
  36. package/.claude/rules/csharp/api-testing.md +171 -171
  37. package/.claude/skills/ado-integration/SKILL.md +36 -36
  38. package/.claude/skills/tas-conventions/SKILL.md +32 -32
  39. package/.claude/skills/tas-implementation-complete/SKILL.md +100 -99
  40. package/.claude/skills/tas-tdd/SKILL.md +123 -123
  41. package/.claude/skills/token-logger/SKILL.md +19 -19
  42. package/.tas/README.md +266 -1520
  43. package/.tas/checklists/code-review.md +13 -13
  44. package/.tas/checklists/security.md +3 -3
  45. package/.tas/checklists/story-done.md +11 -11
  46. package/.tas/hooks/README.md +138 -0
  47. package/.tas/hooks/pre-commit +26 -0
  48. package/.tas/hooks/security-scan.js +599 -0
  49. package/.tas/project-status-example.yaml +3 -3
  50. package/.tas/tas-example.yaml +25 -8
  51. package/.tas/templates/ADR.md +16 -16
  52. package/.tas/templates/API-Test-Spec.md +3 -3
  53. package/.tas/templates/Bug.md +12 -12
  54. package/.tas/templates/Design-Spec.md +8 -8
  55. package/.tas/templates/E2E-Execution-Report.md +1 -1
  56. package/.tas/templates/Epic.md +1 -1
  57. package/.tas/templates/Feature.md +10 -10
  58. package/.tas/templates/Func-Test-Spec.md +3 -3
  59. package/.tas/templates/SAD.md +106 -106
  60. package/.tas/templates/Security-Report.md +3 -3
  61. package/.tas/templates/Story.md +9 -9
  62. package/.tas/tools/tas-ado-readme.md +169 -169
  63. package/.tas/tools/tas-ado.py +1 -1
  64. package/CLAUDE-Example.md +37 -58
  65. package/README.md +294 -42
  66. package/bin/cli.js +24 -7
  67. package/lib/install.js +161 -47
  68. package/package.json +1 -1
@@ -22,16 +22,16 @@ plan_date:
22
22
  As a {role}, I want {goal}, so that {benefit}.
23
23
 
24
24
  ---
25
- ## Business Requirements (nếu )
26
- *(Yêu cầu nghiệp vụ đặc biệt, business rules, constraints từ stakeholders — chỉ thêm khi cần)*
25
+ ## Business Requirements (if any)
26
+ *(Special business requirements, business rules, constraints from stakeholders — add only when needed)*
27
27
 
28
28
  ---
29
- ## Design Notes (nếu )
30
- *(UI/UX specs, mockup links, design decisions, flow diagrams — chỉ thêm khi cần)*
29
+ ## Design Notes (if any)
30
+ *(UI/UX specs, mockup links, design decisions, flow diagrams — add only when needed)*
31
31
 
32
32
  ---
33
- ## Prerequisites (nếu )
34
- *(Dependencies từ Stories khác hoặc điều kiện phải có trước chỉ thêm khi cần)*
33
+ ## Prerequisites (if any)
34
+ *(Dependencies from other Stories or required conditionsadd only when needed)*
35
35
 
36
36
  ---
37
37
  ## Acceptance Criteria
@@ -40,17 +40,17 @@ As a {role}, I want {goal}, so that {benefit}.
40
40
  - **Given** {precondition}
41
41
  - **When** {action}
42
42
  - **Then** {expected result}
43
- - **Functional Tests**: *(điền FT IDs sau khi chạy `/tas-functest` — vd: `{PROJECT}_E{EPIC}_F{FEATURE}_S{STORY}_FT_001_H`, `FT_002_N`)*
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
44
 
45
45
  ### AC-2: {title}
46
46
  - **Given** {precondition}
47
47
  - **When** {action}
48
48
  - **Then** {expected result}
49
- - **Functional Tests**: *(điền FT IDs sau khi chạy `/tas-functest`)*
49
+ - **Functional Tests**: *(fill FT IDs after running `/tas-functest`)*
50
50
 
51
51
  ---
52
52
  ## Unit Test Cases
53
- *(PE thiết kế happy path + edge cases + negative cases. SE implement trong code.)*
53
+ *(PE designs happy path + edge cases + negative cases. SE implements in code.)*
54
54
 
55
55
  ### Happy Path
56
56
  | ID | AC Ref | Description | Input | Expected Output |
@@ -1,169 +1,169 @@
1
- # TAS Kit Skill Specification: ado-integration
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).
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ũ
12
-
13
- ## 1. Yêu cầu môi trường & Dependencies
14
-
15
- **Bắt buộc**:
16
- - Azure CLI đã cài + extension `azure-devops`
17
- ```bash
18
- az extension add --name azure-devops --upgrade
19
- ```
20
- - Python 3.8+
21
- - Package: `pyyaml` (`pip install pyyaml`)
22
-
23
- **Cấu hình** (file `tas.yaml` root repo):
24
- ```yaml
25
- ado:
26
- organization: https://dev.azure.com/your-org-name
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
30
- ```
31
-
32
- ## 2. File chính cần tạo
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)
36
-
37
- ## 3. Các lệnh CLI được hỗ trợ
38
-
39
- Tất cả lệnh đều chạy dạng:
40
-
41
- ```bash
42
- python tools/tas-ado.py <command> [arguments]
43
- ```
44
-
45
- ### Create commands (tạo mới + tự rename file + optional parent)
46
-
47
- ```bash
48
- create-epic <temp-id> [--parent-id <id>]
49
- create-feature <temp-id> [--parent-id <id>]
50
- create-story <temp-id> [--parent-id <id>]
51
- create-bug <temp-id> [--parent-id <id>]
52
- ```
53
-
54
- Ví dụ:
55
- ```bash
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
58
- ```
59
-
60
- ### Pull / Get commands
61
-
62
- ```bash
63
- get <ado-id>
64
- pull <ado-id> # alias
65
- ```
66
-
67
- Ví dụ:
68
- ```bash
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
71
- ```
72
-
73
- ### Update commands
74
-
75
- ```bash
76
- update-epic <ado-id> [--assign <name/email>] [--status <state>]
77
- update-feature <ado-id> [--assign <...>] [--status <...>]
78
- update-story <ado-id> [--assign <...>] [--status <...>]
79
- update-bug <ado-id> [--assign <...>] [--status <...>]
80
-
81
- update-status <ado-id> --status <state> [--assign <name/email>]
82
- ```
83
-
84
- ### Delete commands
85
-
86
- ```bash
87
- delete-epic <ado-id>
88
- delete-feature <ado-id>
89
- delete-story <ado-id>
90
- delete-bug <ado-id>
91
- ```
92
-
93
- ## 4. Quy ước file .md
94
-
95
- - Pattern tên file: `{type}-{ado_id hoặc temp_id}-{slug-title}.md`
96
- - type: epic / feature / story / bug
97
- - slug-title: lowercase, thay space bằng -, loại tự đặc biệt
98
-
99
- - Frontmatter YAML (luôn đầu file):
100
-
101
- ```yaml
102
- ---
103
- ado_id: 5345
104
- ado_type: Epic # Epic / Feature / User Story / Bug
105
- ado_title: Landing Page Redesign
106
- ado_state: Active
107
- ado_assigned_to: Nguyen Van A <email@domain.com>
108
- ado_created: 2026-03-10
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)
111
- ---
112
- # Tiêu đề (phải trùng ado_title)
113
-
114
- Nội dung mô tả, acceptance criteria, steps to reproduce, v.v.
115
- ```
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)
119
-
120
- ## 5. Yêu cầu logic chi tiết
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
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`
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`
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
148
-
149
- ### Khi delete:
150
- - Chỉ xóa trên ADO, không động đến file local
151
-
152
- ## 6. Gợi ý mở rộng (không bắt buộc cho v0.2)
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)
157
-
158
- ## 7. Cách sử dụng trong agent prompt
159
-
160
- dụ prompt mẫu cho AI agent:
161
-
162
- ```
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
166
- /ado-update-bug 1234 --status Resolved
167
- ```
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.
1
+ # TAS Kit Skill Specification: ado-integration
2
+
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
+
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
+
13
+ ## 1. Environment Requirements & Dependencies
14
+
15
+ **Required**:
16
+ - Azure CLI installed + extension `azure-devops`
17
+ ```bash
18
+ az extension add --name azure-devops --upgrade
19
+ ```
20
+ - Python 3.8+
21
+ - Package: `pyyaml` (`pip install pyyaml`)
22
+
23
+ **Configuration** (file `tas.yaml` at repo root):
24
+ ```yaml
25
+ ado:
26
+ organization: https://dev.azure.com/your-org-name
27
+ project: Your-Project-Name
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
+ ```
31
+
32
+ ## 2. Main Files to Create
33
+
34
+ - `tools/tas-ado.py` → Python script executing all commands
35
+ - `skills/ado-integration.md` → usage documentation (like this file)
36
+
37
+ ## 3. Supported CLI Commands
38
+
39
+ All commands run in form:
40
+
41
+ ```bash
42
+ python tools/tas-ado.py <command> [arguments]
43
+ ```
44
+
45
+ ### Create commands (create new + auto rename file + optional parent)
46
+
47
+ ```bash
48
+ create-epic <temp-id> [--parent-id <id>]
49
+ create-feature <temp-id> [--parent-id <id>]
50
+ create-story <temp-id> [--parent-id <id>]
51
+ create-bug <temp-id> [--parent-id <id>]
52
+ ```
53
+
54
+ Example:
55
+ ```bash
56
+ python tools/tas-ado.py create-story 789 --parent-id 456
57
+ # → reads epic-789-*.md → creates User Story → renames to story-1234-*.md → adds parent relation to 456
58
+ ```
59
+
60
+ ### Pull / Get commands
61
+
62
+ ```bash
63
+ get <ado-id>
64
+ pull <ado-id> # alias
65
+ ```
66
+
67
+ Example:
68
+ ```bash
69
+ python tools/tas-ado.py get 5345
70
+ # → creates/recreates file epic-5345-slug-title.md with frontmatter + content
71
+ ```
72
+
73
+ ### Update commands
74
+
75
+ ```bash
76
+ update-epic <ado-id> [--assign <name/email>] [--status <state>]
77
+ update-feature <ado-id> [--assign <...>] [--status <...>]
78
+ update-story <ado-id> [--assign <...>] [--status <...>]
79
+ update-bug <ado-id> [--assign <...>] [--status <...>]
80
+
81
+ update-status <ado-id> --status <state> [--assign <name/email>]
82
+ ```
83
+
84
+ ### Delete commands
85
+
86
+ ```bash
87
+ delete-epic <ado-id>
88
+ delete-feature <ado-id>
89
+ delete-story <ado-id>
90
+ delete-bug <ado-id>
91
+ ```
92
+
93
+ ## 4. File .md Convention
94
+
95
+ - File name pattern: `{type}-{ado_id or temp_id}-{slug-title}.md`
96
+ - type: epic / feature / story / bug
97
+ - slug-title: lowercase, replace spaces with -, remove special characters
98
+
99
+ - Frontmatter YAML (always at file start):
100
+
101
+ ```yaml
102
+ ---
103
+ ado_id: 5345
104
+ ado_type: Epic # Epic / Feature / User Story / Bug
105
+ ado_title: Landing Page Redesign
106
+ ado_state: Active
107
+ ado_assigned_to: Nguyen Van A <email@domain.com>
108
+ ado_created: 2026-03-10
109
+ last_ado_sync: 2026-03-17 15:42:08
110
+ # optional: parent_ado_id: 100 (if want to support auto detect parent later)
111
+ ---
112
+ # Title (must match ado_title)
113
+
114
+ Content description, acceptance criteria, steps to reproduce, etc.
115
+ ```
116
+
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
+
120
+ ## 5. Detailed Logic Requirements
121
+
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
+
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
+
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
+
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
+
149
+ ### When delete:
150
+ - Only delete on ADO, don't touch local files
151
+
152
+ ## 6. Extension Suggestions (not required for v0.2)
153
+
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
+
158
+ ## 7. How to Use in Agent Prompt
159
+
160
+ Example prompt template for AI agent:
161
+
162
+ ```
163
+ /ado-create-feature 042 --parent-id 100
164
+ /ado-create-story 789 --parent-id <feature-id just created>
165
+ /ado-get 1234 # fetch new bug to fix
166
+ /ado-update-bug 1234 --status Resolved
167
+ ```
168
+
169
+ This skill is designed to integrate smoothly into agentic frameworks like TAS Kit, Superpowers, BMAD.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python3
2
2
  """
3
3
  TAS ADO Integration Script
4
- Đồng bộ hai chiều giữa file .md local Azure DevOps work items.
4
+ Two-way sync between local .md files and Azure DevOps work items.
5
5
 
6
6
  Usage: python tools/tas-ado.py <command> [arguments]
7
7
 
package/CLAUDE-Example.md CHANGED
@@ -1,58 +1,37 @@
1
- # Project Context
2
-
3
- ## Tech Stack
4
- - Backend: .NET 8, C#, Entity Framework Core
5
- - Frontend: ReactJS
6
- - Database: MySQL
7
- - Infrastructure: AWS
8
- - CI/CD: Azure DevOps Pipelines
9
-
10
- ## Conventions
11
- - Branching: git-flow
12
- - Commit: conventional commits
13
- - Namespace: Torus.{ProjectName}.{Layer}
14
- - Naming: PascalCase for classes/methods, camelCase for variables
15
- - Test framework: xUnit
16
-
17
- ## Legacy Patterns to Avoid (Brownfield)
18
- - Repository pattern without interface
19
- - Direct SQL queries in controllers
20
-
21
- ## Mermaid Rules (AzureDevops Wiki)
22
- - Always wrap with :::mermaid and :::
23
- - NEVER use () in node labels, use [] instead
24
- - Example: A["Web App"] --> B["API Gateway"]
25
-
26
- ## Build & Test
27
- - Build: dotnet build
28
- - Test: dotnet test
29
- - Lint: dotnet format --verify-no-changes
30
-
31
- ## TAS Kit
32
- This project uses Torus-Agentic-SDLC (TAS) kit.
33
- - Flow config: root/tas.yaml
34
- - Templates: .tas/templates/
35
- - Generated docs: docs/
36
-
37
- ## Key Rules
38
- - Architecture: see docs/sad.md
39
- - Decisions: see docs/adr/
40
-
41
- ## Commands
42
- Type /tas-status to see current project state.
43
- Type /tas-[artifact] to create or update artifacts (prd, sad, adr, epic, feature, story, design).
44
- Type /tas-dev to implement a story.
45
- Type /tas-verify to verify a Feature on Staging (Phase 2).
46
- Type /tas-review-code, /tas-brainstorm, /tas-bug, /tas-security-check for dev workflows.
47
-
48
- ## ADO Commands
49
- Type /ado-create <type> <temp-id> [--parent-id <id>] to create work item on ADO.
50
- Type /ado-get <ado-id> to pull work item from ADO.
51
- Type /ado-update <type> <ado-id> [--assign <n>] [--status <state>] to update on ADO.
52
- Type /ado-status <ado-id> --status <state> to quick update status on ADO.
53
- Type /ado-delete <type> <ado-id> to delete work item on ADO.
54
-
55
- ## ADO Prerequisites
56
- - Azure CLI + azure-devops extension: az extension add --name azure-devops --upgrade
57
- - Python 3.8+ with pyyaml: pip install pyyaml
58
- - PAT configured in .env file: AzureDevops_Personal_AccessToken=your-pat-here
1
+ # Project Context
2
+
3
+ ## Tech Stack
4
+ <!-- Specify your backend, frontend, database, infrastructure, and CI/CD -->
5
+ - Backend: [e.g., .NET 8, Node.js, Python]
6
+ - Frontend: [e.g., ReactJS, Vue, Angular]
7
+ - Database: [e.g., PostgreSQL, MySQL, MongoDB]
8
+ - Infrastructure: [e.g., AWS, Azure, GCP]
9
+ - CI/CD: [e.g., GitHub Actions, Azure DevOps, Jenkins]
10
+
11
+ ## Conventions
12
+ <!-- Define coding standards and patterns used in this project -->
13
+ - Branching: [e.g., git-flow, trunk-based, GitHub flow]
14
+ - Commit: [e.g., conventional commits, custom format]
15
+ - Naming: [e.g., PascalCase for classes, camelCase for variables]
16
+ - Test framework: [e.g., xUnit, Jest, pytest]
17
+
18
+ ## Architecture
19
+ <!-- Reference key architecture documents -->
20
+ - System design: see [docs/sad.md](docs/sad.md)
21
+ - Architecture decisions: see [docs/adr/](docs/adr/)
22
+
23
+ ## Build & Test
24
+ <!-- Commands for building, testing, and linting -->
25
+ - Build: [e.g., dotnet build, npm run build]
26
+ - Test: [e.g., dotnet test, npm test]
27
+ - Lint: [e.g., dotnet format, npm run lint]
28
+
29
+ ## Environment Setup
30
+ <!-- Prerequisites for running this project -->
31
+ - [e.g., Node.js 20+, .NET 8 SDK, Python 3.11+]
32
+ - [e.g., Azure CLI with specific extensions]
33
+ - [e.g., Required environment variables in .env file]
34
+
35
+ ## Key Workflows
36
+ <!-- Common commands for this project -->
37
+ Type /[command-name] to [describe what it does].