@torus-engineering/tas-kit 1.11.1 → 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 (123) hide show
  1. package/.tas/README.md +334 -334
  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/{.claude → .tas}/commands/ado-create.md +5 -4
  6. package/{.claude → .tas}/commands/ado-delete.md +5 -4
  7. package/{.claude → .tas}/commands/ado-update.md +5 -4
  8. package/{.claude → .tas}/commands/tas-adr.md +3 -3
  9. package/{.claude → .tas}/commands/tas-apitest-plan.md +2 -2
  10. package/{.claude → .tas}/commands/tas-apitest.md +4 -4
  11. package/{.claude → .tas}/commands/tas-bug.md +6 -6
  12. package/{.claude → .tas}/commands/tas-design.md +3 -3
  13. package/{.claude → .tas}/commands/tas-dev.md +11 -14
  14. package/{.claude → .tas}/commands/tas-epic.md +3 -3
  15. package/{.claude → .tas}/commands/tas-feature.md +4 -4
  16. package/{.claude → .tas}/commands/tas-fix.md +5 -5
  17. package/{.claude → .tas}/commands/tas-init.md +1 -1
  18. package/{.claude → .tas}/commands/tas-plan.md +198 -198
  19. package/{.claude → .tas}/commands/tas-prd.md +3 -3
  20. package/{.claude → .tas}/commands/tas-review.md +17 -15
  21. package/{.claude → .tas}/commands/tas-sad.md +3 -3
  22. package/{.claude → .tas}/commands/tas-security.md +4 -4
  23. package/{.claude → .tas}/commands/tas-story.md +3 -3
  24. package/.tas/platforms.json +5 -0
  25. package/.tas/project-status-example.yaml +17 -17
  26. package/{.claude/skills/ado-integration/SKILL.md → .tas/rules/ado-integration.md} +5 -15
  27. package/{.claude/skills/api-design/SKILL.md → .tas/rules/common/api-design.md} +517 -530
  28. package/{.claude → .tas}/rules/common/code-review.md +30 -6
  29. package/{.claude/rules/common/post-review-agent.md → .tas/rules/common/post-implementation-review.md} +51 -49
  30. package/{.claude → .tas}/rules/common/project-status.md +80 -80
  31. package/{.claude → .tas}/rules/common/stack-detection.md +29 -29
  32. package/.tas/{checklists → rules/common}/story-done.md +12 -5
  33. package/{.claude/skills/tas-tdd/SKILL.md → .tas/rules/common/tdd.md} +4 -38
  34. package/{.claude → .tas}/rules/common/testing.md +3 -8
  35. package/{.claude → .tas}/rules/common/token-logging.md +36 -27
  36. package/{.claude → .tas}/rules/csharp/api-testing.md +171 -171
  37. package/{.claude → .tas}/rules/csharp/coding-style.md +0 -2
  38. package/{.claude → .tas}/rules/csharp/security.md +10 -0
  39. package/{.claude → .tas}/rules/python/coding-style.md +0 -2
  40. package/{.claude → .tas}/rules/typescript/coding-style.md +0 -2
  41. package/.tas/rules/typescript/patterns.md +142 -0
  42. package/.tas/rules/typescript/security.md +88 -0
  43. package/{.claude → .tas}/rules/typescript/testing.md +0 -4
  44. package/{.claude → .tas}/rules/web/coding-style.md +0 -2
  45. package/.tas/tas-example.yaml +125 -126
  46. package/.tas/templates/ADR.md +47 -47
  47. package/.tas/templates/Bug.md +67 -67
  48. package/.tas/templates/Design-Spec.md +36 -36
  49. package/.tas/templates/Epic.md +46 -46
  50. package/.tas/templates/Feature.md +1 -1
  51. package/.tas/templates/Security-Report.md +27 -27
  52. package/.tas/tools/tas-ado-readme.md +169 -169
  53. package/.tas/tools/tas-ado.py +621 -621
  54. package/README.md +334 -334
  55. package/bin/cli.js +91 -73
  56. package/lib/adapters/antigravity.js +137 -0
  57. package/lib/adapters/claude-code.js +35 -0
  58. package/lib/adapters/codex.js +163 -0
  59. package/lib/adapters/cursor.js +80 -0
  60. package/lib/adapters/index.js +20 -0
  61. package/lib/adapters/utils.js +81 -0
  62. package/lib/deleted-files.json +99 -0
  63. package/lib/install.js +403 -327
  64. package/package.json +4 -3
  65. package/.claude/agents/code-reviewer.md +0 -41
  66. package/.claude/agents/e2e-runner.md +0 -61
  67. package/.claude/agents/planner.md +0 -82
  68. package/.claude/agents/tdd-guide.md +0 -84
  69. package/.claude/commands/tas-verify.md +0 -51
  70. package/.claude/rules/typescript/patterns.md +0 -62
  71. package/.claude/rules/typescript/security.md +0 -28
  72. package/.claude/settings.local.json +0 -38
  73. package/.claude/skills/ai-regression-testing/SKILL.md +0 -364
  74. package/.claude/skills/architecture-decision-records/SKILL.md +0 -184
  75. package/.claude/skills/benchmark/SKILL.md +0 -98
  76. package/.claude/skills/browser-qa/SKILL.md +0 -92
  77. package/.claude/skills/canary-watch/SKILL.md +0 -104
  78. package/.claude/skills/js-backend-patterns/SKILL.md +0 -603
  79. package/.claude/skills/tas-conventions/SKILL.md +0 -65
  80. package/.claude/skills/tas-implementation-complete/SKILL.md +0 -100
  81. package/.claude/skills/token-logger/SKILL.md +0 -19
  82. package/.tas/checklists/code-review.md +0 -29
  83. package/.tas/checklists/security.md +0 -21
  84. /package/{.claude → .tas}/agents/architect.md +0 -0
  85. /package/{.claude → .tas}/agents/aws-reviewer.md +0 -0
  86. /package/{.claude → .tas}/agents/build-resolver.md +0 -0
  87. /package/{.claude → .tas}/agents/code-explorer.md +0 -0
  88. /package/{.claude → .tas}/agents/csharp-reviewer.md +0 -0
  89. /package/{.claude → .tas}/agents/database-reviewer.md +0 -0
  90. /package/{.claude → .tas}/agents/doc-updater.md +0 -0
  91. /package/{.claude → .tas}/agents/python-reviewer.md +0 -0
  92. /package/{.claude → .tas}/agents/security-reviewer.md +0 -0
  93. /package/{.claude → .tas}/agents/typescript-reviewer.md +0 -0
  94. /package/{.claude → .tas}/commands/ado-get.md +0 -0
  95. /package/{.claude → .tas}/commands/ado-status.md +0 -0
  96. /package/{.claude → .tas}/commands/tas-brainstorm.md +0 -0
  97. /package/{.claude → .tas}/commands/tas-e2e-mobile.md +0 -0
  98. /package/{.claude → .tas}/commands/tas-e2e-web.md +0 -0
  99. /package/{.claude → .tas}/commands/tas-e2e.md +0 -0
  100. /package/{.claude → .tas}/commands/tas-functest-mobile.md +0 -0
  101. /package/{.claude → .tas}/commands/tas-functest-web.md +0 -0
  102. /package/{.claude → .tas}/commands/tas-functest.md +0 -0
  103. /package/{.claude → .tas}/commands/tas-spec.md +0 -0
  104. /package/{.claude → .tas}/commands/tas-status.md +0 -0
  105. /package/{.claude → .tas}/rules/.gitkeep +0 -0
  106. /package/{.claude → .tas}/rules/common/hooks.md +0 -0
  107. /package/{.claude → .tas}/rules/common/patterns.md +0 -0
  108. /package/{.claude → .tas}/rules/common/security.md +0 -0
  109. /package/{.claude → .tas}/rules/csharp/hooks.md +0 -0
  110. /package/{.claude → .tas}/rules/csharp/patterns.md +0 -0
  111. /package/{.claude → .tas}/rules/csharp/testing.md +0 -0
  112. /package/{.claude → .tas}/rules/python/hooks.md +0 -0
  113. /package/{.claude → .tas}/rules/python/patterns.md +0 -0
  114. /package/{.claude → .tas}/rules/python/security.md +0 -0
  115. /package/{.claude → .tas}/rules/python/testing.md +0 -0
  116. /package/{.claude → .tas}/rules/typescript/hooks.md +0 -0
  117. /package/{.claude → .tas}/rules/web/design-quality.md +0 -0
  118. /package/{.claude → .tas}/rules/web/hooks.md +0 -0
  119. /package/{.claude → .tas}/rules/web/patterns.md +0 -0
  120. /package/{.claude → .tas}/rules/web/performance.md +0 -0
  121. /package/{.claude → .tas}/rules/web/security.md +0 -0
  122. /package/{.claude → .tas}/rules/web/testing.md +0 -0
  123. /package/{CLAUDE-Example.md → .tas/templates/AGENTS.md} +0 -0
@@ -1,100 +0,0 @@
1
- ---
2
- name: tas-implementation-complete
3
- description: |
4
- Auto-invoke when user signals implementation complete: "done", "xong", "finished",
5
- "đã xong", "đã implement xong", "implementation complete", "code xong rồi",
6
- "viết xong rồi", "đã code xong", "completed", "code done", "finished coding".
7
- Trigger parallel post-implementation review gate.
8
- allowed-tools: Read, Bash, Grep, Glob, Agent
9
- ---
10
-
11
- # TAS Implementation Complete
12
-
13
- When user signals implementation complete, automatically trigger post-implementation review gate.
14
- Don't wait for user to manually run `/tas-review-code`.
15
-
16
- ## When to Use
17
-
18
- - User just finished implementing a Story or feature
19
- - User says "xong", "done", "finished" after writing code
20
- - DO NOT invoke when: user is asking about status, asking about plan, or no code changes yet
21
-
22
- ## Always / Ask / Never
23
-
24
- | | Action |
25
- |---|---|
26
- | **Always** | Confirm scope with user before launching agents |
27
- | **Always** | Launch code-reviewer + security-reviewer simultaneously |
28
- | **Always** | Report gate result clearly: pass or block with reason |
29
- | **Ask** | When unsure about review scope (file path? git diff? Story?) |
30
- | **Ask** | When >5 files changed — confirm user wants full review |
31
- | **Never** | Auto-commit after review passes |
32
- | **Never** | Skip review and report "looks good" without running agents |
33
-
34
- ## Process
35
-
36
- ### Step 1 — Determine scope
37
- Ask user or infer from context:
38
- - Story ID available? → get file list from Story
39
- - Not available? → use `git diff HEAD --name-only` to get recently changed files
40
-
41
- ### Step 2 — Stack Detection
42
- Read `CLAUDE.md` at root, find `## Tech Stack` section:
43
- - Backend contains `.NET` / `C#` → `lang_agent = csharp-reviewer`
44
- - Backend contains `Node.js` / `TypeScript` → `lang_agent = typescript-reviewer`
45
- - Backend contains `Python` / `FastAPI` / `Django` → `lang_agent = python-reviewer`
46
- - Frontend contains `React` → add `typescript-reviewer`
47
-
48
- ### Step 3 — Launch Parallel Review Gate
49
-
50
- Launch agents SIMULTANEOUSLY:
51
-
52
- **Agent 1 — `code-reviewer`** (always run):
53
- > Review [scope]. Read `.tas/checklists/code-review.md`.
54
- > Focus: acceptance criteria compliance, naming, error handling, test coverage, DRY.
55
- > Format: Critical / High / Medium / Low with file:line and specific fix.
56
-
57
- **Agent 2 — `security-reviewer`** (always run):
58
- > Security audit [scope]. Read `.claude/rules/common/security.md`.
59
- > If stack identified, also read `.claude/rules/[stack]/security.md`.
60
- > Focus: user input handling, SQL injection, hardcoded secrets, auth checks.
61
- > Format: Critical / High / Medium / Low with file:line and remediation.
62
-
63
- **Agent 3 — Language reviewer** (per stack detection):
64
- > Language-specific review [scope].
65
- > Read `.claude/rules/[stack]/coding-style.md`, `.claude/rules/[stack]/patterns.md`, `.claude/rules/[stack]/testing.md`.
66
- > If stack has React: also read `.claude/rules/web/design-quality.md`, `.claude/rules/web/testing.md`, `.claude/rules/web/performance.md`.
67
- > Format: Critical / High / Medium / Low with file:line.
68
-
69
- Wait for ALL agents to complete.
70
-
71
- ### Step 4 — Gate Decision
72
-
73
- **Has Critical/High findings:**
74
- → List each finding clearly, STOP, require fix before continuing.
75
- → Don't tick Definition of Done.
76
-
77
- **Only Medium/Low:**
78
- → List suggestions, ask if user wants to fix.
79
- → After user confirms: remind to run `/tas-review-code` for full review (hygiene scan + test run).
80
-
81
- ## Red Flags
82
-
83
- - User says "xong" but no files changed in git diff → ask again
84
- - Review gate skipped because "code is simple" → no exceptions, always run gate
85
- - Agent returns "No issues found" on large codebase → verify agent read correct files
86
-
87
- ## Verification
88
-
89
- - [ ] `git diff HEAD --name-only` has at least 1 changed file
90
- - [ ] All agents ran and returned results (no timeout)
91
- - [ ] Gate decision made clearly: pass or block
92
- - [ ] If pass: user knows next step is `/tas-review-code`
93
-
94
- ## Anti-Rationalization
95
-
96
- | Rationalization | Counter |
97
- |---|---|
98
- | "Code is simple, no need to review" | Review gate always runs — this is safety net, not quality judgment |
99
- | "Security reviewer will slow down workflow" | Parallel execution — 3 agents run simultaneously, no added time |
100
- | "User didn't ask about review" | Skill auto-invokes when user says "done" — this is expected behavior |
@@ -1,19 +0,0 @@
1
- ---
2
- name: token-logger
3
- description: |
4
- Invoke when TAS command completes to write AI Usage Log into artifact file.
5
- Auto-invoke after /tas-* commands when there's Write/Edit to docs/.
6
- DO NOT invoke when user manually edits file or uses non-TAS commands.
7
- allowed-tools: Read, Edit, Write
8
- ---
9
-
10
- # Token Logger
11
-
12
- Write `## AI Usage Log` into artifact file after TAS command completes.
13
-
14
- ## Process
15
-
16
- 1. Identify artifact file: from invocation (if specified) or last `docs/` file Write/Edit in session.
17
- 2. Read `.claude/rules/common/token-logging.md` for format and update rules.
18
- 3. Read artifact file — check if `## AI Usage Log` already exists.
19
- 4. Write or update section. Silent on success — no output to conversation.
@@ -1,29 +0,0 @@
1
- # Code Review Checklist
2
-
3
- ## Architecture
4
- - [ ] Code aligns with SAD
5
- - [ ] No ADR violations
6
- - [ ] Correct layer separation
7
-
8
- ## Code Quality
9
- - [ ] Naming follows conventions in CLAUDE.md
10
- - [ ] No magic numbers/strings
11
- - [ ] Error handling complete
12
- - [ ] Meaningful logging
13
- - [ ] No code duplication
14
-
15
- ## Security
16
- - [ ] Input validation
17
- - [ ] No SQL injection risk
18
- - [ ] No XSS risk
19
- - [ ] Sensitive data not logged
20
-
21
- ## Testing
22
- - [ ] Unit tests cover happy path
23
- - [ ] Unit tests cover edge cases
24
- - [ ] Tests have clear assertions
25
-
26
- ## Performance
27
- - [ ] No N+1 queries
28
- - [ ] Async/await used correctly
29
- - [ ] Resources disposed properly
@@ -1,21 +0,0 @@
1
- # Security Checklist - .NET Specific
2
-
3
- ## Authentication & Authorization
4
- - [ ] JWT validation correct
5
- - [ ] Role-based authorization
6
- - [ ] Anti-forgery token for forms
7
-
8
- ## Data Protection
9
- - [ ] Connection strings in secrets, not hardcoded
10
- - [ ] PII data encrypted at rest
11
- - [ ] HTTPS enforced
12
-
13
- ## Input Validation
14
- - [ ] Model validation attributes
15
- - [ ] Parameterized queries (EF Core)
16
- - [ ] File upload validation
17
-
18
- ## CORS & Headers
19
- - [ ] CORS policy restrictive
20
- - [ ] Security headers: X-Content-Type-Options, X-Frame-Options
21
- - [ ] HSTS enabled
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes