timsquad 3.3.0 → 3.5.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 (196) hide show
  1. package/README.ko.md +288 -0
  2. package/README.md +158 -151
  3. package/dist/commands/compile.d.ts +3 -0
  4. package/dist/commands/compile.d.ts.map +1 -0
  5. package/dist/commands/compile.js +170 -0
  6. package/dist/commands/compile.js.map +1 -0
  7. package/dist/commands/daemon.d.ts.map +1 -1
  8. package/dist/commands/daemon.js +95 -5
  9. package/dist/commands/daemon.js.map +1 -1
  10. package/dist/commands/full.js +1 -0
  11. package/dist/commands/full.js.map +1 -1
  12. package/dist/commands/git/pr.js +6 -5
  13. package/dist/commands/git/pr.js.map +1 -1
  14. package/dist/commands/git/release.js +2 -7
  15. package/dist/commands/git/release.js.map +1 -1
  16. package/dist/commands/improve.js +2 -2
  17. package/dist/commands/improve.js.map +1 -1
  18. package/dist/commands/init.d.ts.map +1 -1
  19. package/dist/commands/init.js +12 -3
  20. package/dist/commands/init.js.map +1 -1
  21. package/dist/commands/log.d.ts.map +1 -1
  22. package/dist/commands/log.js +2 -2
  23. package/dist/commands/log.js.map +1 -1
  24. package/dist/commands/metrics.d.ts.map +1 -1
  25. package/dist/commands/metrics.js +6 -2
  26. package/dist/commands/metrics.js.map +1 -1
  27. package/dist/commands/retro.js +8 -8
  28. package/dist/commands/retro.js.map +1 -1
  29. package/dist/commands/session.js +3 -3
  30. package/dist/commands/session.js.map +1 -1
  31. package/dist/commands/skills.d.ts +12 -0
  32. package/dist/commands/skills.d.ts.map +1 -0
  33. package/dist/commands/skills.js +228 -0
  34. package/dist/commands/skills.js.map +1 -0
  35. package/dist/commands/status.js +1 -1
  36. package/dist/commands/status.js.map +1 -1
  37. package/dist/commands/upgrade.d.ts.map +1 -1
  38. package/dist/commands/upgrade.js +23 -1
  39. package/dist/commands/upgrade.js.map +1 -1
  40. package/dist/daemon/entry.js +3 -3
  41. package/dist/daemon/entry.js.map +1 -1
  42. package/dist/daemon/event-queue.d.ts.map +1 -1
  43. package/dist/daemon/event-queue.js +2 -2
  44. package/dist/daemon/event-queue.js.map +1 -1
  45. package/dist/daemon/index.d.ts +4 -2
  46. package/dist/daemon/index.d.ts.map +1 -1
  47. package/dist/daemon/index.js +214 -52
  48. package/dist/daemon/index.js.map +1 -1
  49. package/dist/daemon/jsonl-watcher.d.ts +1 -0
  50. package/dist/daemon/jsonl-watcher.d.ts.map +1 -1
  51. package/dist/daemon/jsonl-watcher.js.map +1 -1
  52. package/dist/daemon/meta-cache.d.ts +1 -0
  53. package/dist/daemon/meta-cache.d.ts.map +1 -1
  54. package/dist/daemon/meta-cache.js +9 -0
  55. package/dist/daemon/meta-cache.js.map +1 -1
  56. package/dist/daemon/session-notes.d.ts +33 -0
  57. package/dist/daemon/session-notes.d.ts.map +1 -0
  58. package/dist/daemon/session-notes.js +74 -0
  59. package/dist/daemon/session-notes.js.map +1 -0
  60. package/dist/daemon/session-state.d.ts +27 -0
  61. package/dist/daemon/session-state.d.ts.map +1 -0
  62. package/dist/daemon/session-state.js +165 -0
  63. package/dist/daemon/session-state.js.map +1 -0
  64. package/dist/daemon/shutdown.d.ts.map +1 -1
  65. package/dist/daemon/shutdown.js +9 -1
  66. package/dist/daemon/shutdown.js.map +1 -1
  67. package/dist/index.js +4 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/lib/agent-generator.d.ts +4 -0
  70. package/dist/lib/agent-generator.d.ts.map +1 -1
  71. package/dist/lib/agent-generator.js +52 -3
  72. package/dist/lib/agent-generator.js.map +1 -1
  73. package/dist/lib/compile-rules.d.ts +66 -0
  74. package/dist/lib/compile-rules.d.ts.map +1 -0
  75. package/dist/lib/compile-rules.js +114 -0
  76. package/dist/lib/compile-rules.js.map +1 -0
  77. package/dist/lib/compiler.d.ts +105 -0
  78. package/dist/lib/compiler.d.ts.map +1 -0
  79. package/dist/lib/compiler.js +368 -0
  80. package/dist/lib/compiler.js.map +1 -0
  81. package/dist/lib/config.d.ts +1 -0
  82. package/dist/lib/config.d.ts.map +1 -1
  83. package/dist/lib/config.js +8 -1
  84. package/dist/lib/config.js.map +1 -1
  85. package/dist/lib/project.d.ts.map +1 -1
  86. package/dist/lib/project.js +8 -3
  87. package/dist/lib/project.js.map +1 -1
  88. package/dist/lib/skill-generator.d.ts.map +1 -1
  89. package/dist/lib/skill-generator.js +22 -1
  90. package/dist/lib/skill-generator.js.map +1 -1
  91. package/dist/lib/template.d.ts.map +1 -1
  92. package/dist/lib/template.js +6 -0
  93. package/dist/lib/template.js.map +1 -1
  94. package/dist/types/config.d.ts +1 -0
  95. package/dist/types/config.d.ts.map +1 -1
  96. package/dist/types/config.js +12 -1
  97. package/dist/types/config.js.map +1 -1
  98. package/dist/types/project.d.ts +1 -1
  99. package/dist/types/project.d.ts.map +1 -1
  100. package/dist/types/project.js +2 -0
  101. package/dist/types/project.js.map +1 -1
  102. package/package.json +4 -4
  103. package/templates/base/agents/base/tsq-architect.md +2 -2
  104. package/templates/base/agents/overlays/domain/mobile/_common.md +13 -0
  105. package/templates/base/knowledge/checklists/plan-quality.md +31 -0
  106. package/templates/base/knowledge/checklists/stability-verification.md +14 -0
  107. package/templates/base/skills/controller/SKILL.md +111 -0
  108. package/templates/base/skills/controller/references/README.md +35 -0
  109. package/templates/base/skills/controller/rules/README.md +18 -0
  110. package/templates/base/skills/mobile/dart/SKILL.md +69 -0
  111. package/templates/base/skills/mobile/dart/rules/async-patterns.md +112 -0
  112. package/templates/base/skills/mobile/dart/rules/code-style.md +96 -0
  113. package/templates/base/skills/mobile/dart/rules/null-safety.md +84 -0
  114. package/templates/base/skills/mobile/dart/rules/type-system.md +111 -0
  115. package/templates/base/skills/mobile/flutter/SKILL.md +89 -0
  116. package/templates/base/skills/mobile/flutter/ci-cd/SKILL.md +82 -0
  117. package/templates/base/skills/mobile/flutter/ci-cd/references/ci-cd-pipeline.md +314 -0
  118. package/templates/base/skills/mobile/flutter/ci-cd/rules/code-signing.md +106 -0
  119. package/templates/base/skills/mobile/flutter/ci-cd/rules/codemagic-setup.md +116 -0
  120. package/templates/base/skills/mobile/flutter/ci-cd/rules/fastlane-setup.md +105 -0
  121. package/templates/base/skills/mobile/flutter/ci-cd/rules/github-actions.md +112 -0
  122. package/templates/base/skills/mobile/flutter/ci-cd/rules/store-deployment.md +106 -0
  123. package/templates/base/skills/mobile/flutter/ci-cd/rules/versioning.md +107 -0
  124. package/templates/base/skills/mobile/flutter/i18n/SKILL.md +78 -0
  125. package/templates/base/skills/mobile/flutter/i18n/references/i18n-architecture.md +225 -0
  126. package/templates/base/skills/mobile/flutter/i18n/rules/arb-files.md +182 -0
  127. package/templates/base/skills/mobile/flutter/i18n/rules/locale-switching.md +226 -0
  128. package/templates/base/skills/mobile/flutter/i18n/rules/localization-setup.md +137 -0
  129. package/templates/base/skills/mobile/flutter/i18n/rules/plural-gender.md +159 -0
  130. package/templates/base/skills/mobile/flutter/i18n/rules/text-direction.md +199 -0
  131. package/templates/base/skills/mobile/flutter/monitoring/SKILL.md +81 -0
  132. package/templates/base/skills/mobile/flutter/monitoring/references/monitoring-architecture.md +269 -0
  133. package/templates/base/skills/mobile/flutter/monitoring/rules/analytics.md +227 -0
  134. package/templates/base/skills/mobile/flutter/monitoring/rules/crashlytics-setup.md +195 -0
  135. package/templates/base/skills/mobile/flutter/monitoring/rules/logging.md +258 -0
  136. package/templates/base/skills/mobile/flutter/monitoring/rules/performance-monitoring.md +248 -0
  137. package/templates/base/skills/mobile/flutter/monitoring/rules/sentry-integration.md +249 -0
  138. package/templates/base/skills/mobile/flutter/networking/SKILL.md +88 -0
  139. package/templates/base/skills/mobile/flutter/networking/references/api-client-architecture.md +305 -0
  140. package/templates/base/skills/mobile/flutter/networking/rules/caching.md +212 -0
  141. package/templates/base/skills/mobile/flutter/networking/rules/connectivity.md +213 -0
  142. package/templates/base/skills/mobile/flutter/networking/rules/dio-setup.md +159 -0
  143. package/templates/base/skills/mobile/flutter/networking/rules/error-handling.md +209 -0
  144. package/templates/base/skills/mobile/flutter/networking/rules/interceptors.md +205 -0
  145. package/templates/base/skills/mobile/flutter/networking/rules/retrofit-patterns.md +194 -0
  146. package/templates/base/skills/mobile/flutter/push-notifications/SKILL.md +87 -0
  147. package/templates/base/skills/mobile/flutter/push-notifications/references/notification-architecture.md +340 -0
  148. package/templates/base/skills/mobile/flutter/push-notifications/references/platform-setup.md +286 -0
  149. package/templates/base/skills/mobile/flutter/push-notifications/rules/background-processing.md +308 -0
  150. package/templates/base/skills/mobile/flutter/push-notifications/rules/deep-linking.md +217 -0
  151. package/templates/base/skills/mobile/flutter/push-notifications/rules/fcm-setup.md +164 -0
  152. package/templates/base/skills/mobile/flutter/push-notifications/rules/local-notifications.md +262 -0
  153. package/templates/base/skills/mobile/flutter/push-notifications/rules/notification-handling.md +210 -0
  154. package/templates/base/skills/mobile/flutter/push-notifications/rules/notification-permissions.md +246 -0
  155. package/templates/base/skills/mobile/flutter/push-notifications/rules/rich-notifications.md +320 -0
  156. package/templates/base/skills/mobile/flutter/references/freezed-patterns.md +162 -0
  157. package/templates/base/skills/mobile/flutter/references/project-structure.md +170 -0
  158. package/templates/base/skills/mobile/flutter/rules/animations.md +112 -0
  159. package/templates/base/skills/mobile/flutter/rules/architecture.md +121 -0
  160. package/templates/base/skills/mobile/flutter/rules/navigation-routing.md +117 -0
  161. package/templates/base/skills/mobile/flutter/rules/performance.md +112 -0
  162. package/templates/base/skills/mobile/flutter/rules/platform-adaptive.md +126 -0
  163. package/templates/base/skills/mobile/flutter/rules/state-management.md +110 -0
  164. package/templates/base/skills/mobile/flutter/rules/testing.md +131 -0
  165. package/templates/base/skills/mobile/flutter/rules/widget-conventions.md +122 -0
  166. package/templates/base/skills/mobile/flutter/security/SKILL.md +86 -0
  167. package/templates/base/skills/mobile/flutter/security/references/mobile-security-checklist.md +168 -0
  168. package/templates/base/skills/mobile/flutter/security/rules/api-key-protection.md +206 -0
  169. package/templates/base/skills/mobile/flutter/security/rules/authentication.md +248 -0
  170. package/templates/base/skills/mobile/flutter/security/rules/data-protection.md +271 -0
  171. package/templates/base/skills/mobile/flutter/security/rules/obfuscation.md +213 -0
  172. package/templates/base/skills/mobile/flutter/security/rules/secure-storage.md +171 -0
  173. package/templates/base/skills/mobile/flutter/security/rules/ssl-pinning.md +197 -0
  174. package/templates/base/skills/stability-verification/SKILL.md +64 -0
  175. package/templates/base/skills/stability-verification/references/release-checklist.md +34 -0
  176. package/templates/base/skills/stability-verification/references/security-fix-patterns.md +112 -0
  177. package/templates/base/skills/stability-verification/rules/verification-layers.md +67 -0
  178. package/templates/base/skills/stability-verification/rules/verification-workflow.md +69 -0
  179. package/templates/base/skills/stability-verification/scripts/verify.sh +294 -0
  180. package/templates/platforms/claude-code/CLAUDE.md.template +25 -0
  181. package/templates/platforms/claude-code/rules/build-gate.md +28 -0
  182. package/templates/platforms/claude-code/rules/completion-verification.md +30 -0
  183. package/templates/platforms/claude-code/rules/context-monitor.md +23 -0
  184. package/templates/platforms/claude-code/rules/plan-review.md +45 -0
  185. package/templates/platforms/claude-code/rules/quality-guards.md +43 -0
  186. package/templates/platforms/claude-code/rules/session-notes.md +18 -0
  187. package/templates/platforms/claude-code/rules/skill-suggest.md +27 -0
  188. package/templates/platforms/claude-code/scripts/build-gate.sh +73 -0
  189. package/templates/platforms/claude-code/scripts/completion-guard.sh +93 -0
  190. package/templates/platforms/claude-code/scripts/phase-guard.sh +79 -0
  191. package/templates/platforms/claude-code/scripts/safe-guard.sh +83 -0
  192. package/templates/platforms/claude-code/scripts/skill-rules.json +85 -0
  193. package/templates/platforms/claude-code/scripts/skill-suggest.sh +105 -0
  194. package/templates/platforms/claude-code/settings.json +111 -3
  195. package/templates/project-types/mobile-app/config.yaml +123 -0
  196. package/templates/project-types/mobile-app/process/workflow.xml +191 -0
package/README.md CHANGED
@@ -4,262 +4,269 @@
4
4
 
5
5
  <p align="center">
6
6
  <strong>Vibe Development Framework</strong><br>
7
- SSOT 기반 문서 체계, 최적화된 에이전트 롤, 회고적 학습을 통해 Claude Code에서 지속적으로 개선되는 고품질 소프트웨어 생성 프레임워크
7
+ A high-quality software development framework powered by SSOT-based documentation, optimized agent roles, and retrospective learning continuously improving within Claude Code.
8
+ </p>
9
+
10
+ <p align="center">
11
+ <strong>English</strong> | <a href="README.ko.md">한국어</a>
8
12
  </p>
9
13
 
10
14
  ```
11
- 최적화된 정의 + 고도화된 스킬 + 회고적 학습 = 지속적으로 개선되는 고품질 결과물
15
+ Optimized Role Definitions + Advanced Skills + Retrospective Learning = Continuously Improving High-Quality Output
12
16
  ```
13
17
 
14
18
  ---
15
19
 
16
20
  ## Why TimSquad?
17
21
 
18
- | | 일반적 접근 | **TimSquad** |
22
+ | | Typical Approach | **TimSquad** |
19
23
  |---|---------|------------|
20
- | 철학 | "Zero learning curve" | **"체계를 세우면 된다"** |
21
- | 의사결정 | LLM 알아서 | **개발자가 컨트롤** |
22
- | 우선순위 | 속도 | **품질 + 일관성** |
23
- | 반복 작업 | LLM 처리 (토큰 소비) | **프로그램이 처리 (토큰 0)** |
24
- | 학습 | 없음 | **회고적 학습으로 지속 개선** |
24
+ | Philosophy | "Zero learning curve" | **"Structure leads to better results"** |
25
+ | Decision Making | LLM decides everything | **Developer stays in control** |
26
+ | Priority | Speed | **Quality + Consistency** |
27
+ | Repetitive Tasks | LLM handles (token cost) | **Program handles (zero tokens)** |
28
+ | Learning | None | **Retrospective learning for continuous improvement** |
25
29
 
26
30
  **For developers who want structure, not magic.**
27
31
 
28
- ### 타겟 사용자
32
+ ### Target Users
29
33
 
30
- - 체계적인 프로세스를 원하는 시니어 개발자
31
- - 1인 CTO / 테크 리드 (혼자서 수준의 품질 필요)
32
- - 문서화와 일관성을 중시하는 개발자
34
+ - Senior developers who value structured processes
35
+ - Solo CTOs / Tech Leads (need team-level quality working alone)
36
+ - Developers who prioritize documentation and consistency
33
37
 
34
38
  ---
35
39
 
36
- ## 설치
40
+ ## Installation
37
41
 
38
42
  ```bash
39
- # 전역 설치
43
+ # Global install
40
44
  npm install -g timsquad
41
45
 
42
- # 또는 npx로 직접 실행
46
+ # Or run directly with npx
43
47
  npx timsquad init
44
48
  ```
45
49
 
46
- **요구사항:**
50
+ **Requirements:**
47
51
  - Node.js >= 18.0.0
48
- - [Claude Code](https://claude.ai/claude-code) (에이전트 실행 환경)
52
+ - [Claude Code](https://claude.ai/claude-code) (agent execution environment)
49
53
 
50
54
  ---
51
55
 
52
- ## 빠른 시작
56
+ ## Quick Start
53
57
 
54
- ### 1. 프로젝트 초기화
58
+ ### 1. Initialize a Project
55
59
 
56
60
  ```bash
57
- tsq init # 대화형 초기화
58
- tsq init -n my-app -t web-service -l 2 -y # 비대화형
61
+ tsq init # Interactive setup
62
+ tsq init -n my-app -t web-service -l 2 -y # Non-interactive
59
63
  ```
60
64
 
61
- ### 2. 생성되는 구조
65
+ ### 2. Generated Structure
62
66
 
63
67
  ```
64
68
  my-app/
65
- ├── CLAUDE.md # PM 역할 정의 (에이전트 지시사항)
69
+ ├── CLAUDE.md # PM role definition (agent instructions)
66
70
  ├── .claude/
67
- │ ├── settings.json # Claude Code 설정
68
- │ ├── rules/ # 메인 세션 전용 규칙
69
- │ ├── agents/ # 6 전문 에이전트
70
- │ │ ├── tsq-architect.md # 아키텍처 설계 (Sonnet)
71
- │ │ ├── tsq-developer.md # 코드 구현 (Sonnet)
72
- │ │ ├── tsq-qa.md # 검증/리뷰 (Sonnet)
73
- │ │ ├── tsq-security.md # 보안 검토 (Sonnet)
74
- │ │ ├── tsq-dba.md # DB 설계 (Sonnet)
75
- │ │ └── tsq-designer.md # UI/UX 설계 (Sonnet)
76
- │ ├── skills/ # 도메인별 스킬셋
77
- │ │ ├── tsq-protocol/ # 에이전트 공통 프로토콜
78
- │ │ ├── coding/ # 코딩 규칙 + rules/
79
- │ │ ├── testing/ # 테스트 전략 + references/
80
- │ │ ├── typescript/ # TypeScript 패턴 + rules/
81
- │ │ ├── frontend/(react|nextjs)/ # 프론트엔드 + Vercel 22개 룰
82
- │ │ ├── backend/node/ # Node.js 백엔드 + rules/
71
+ │ ├── settings.json # Claude Code settings
72
+ │ ├── rules/ # Main session rules
73
+ │ ├── agents/ # 6 specialized agents
74
+ │ │ ├── tsq-architect.md # Architecture design (Sonnet)
75
+ │ │ ├── tsq-developer.md # Code implementation (Sonnet)
76
+ │ │ ├── tsq-qa.md # Verification/review (Sonnet)
77
+ │ │ ├── tsq-security.md # Security audit (Sonnet)
78
+ │ │ ├── tsq-dba.md # DB design (Sonnet)
79
+ │ │ └── tsq-designer.md # UI/UX design (Sonnet)
80
+ │ ├── skills/ # Domain-specific skillsets
81
+ │ │ ├── tsq-protocol/ # Shared agent protocol
82
+ │ │ ├── coding/ # Coding rules + rules/
83
+ │ │ ├── testing/ # Test strategies + references/
84
+ │ │ ├── typescript/ # TypeScript patterns + rules/
85
+ │ │ ├── frontend/(react|nextjs)/ # Frontend + 22 Vercel rules
86
+ │ │ ├── backend/node/ # Node.js backend + rules/
83
87
  │ │ ├── database/prisma/ # Prisma ORM + rules/
88
+ │ │ ├── mobile/dart/ # Dart language + rules/
89
+ │ │ ├── mobile/flutter/ # Flutter dev + rules/ + refs/
90
+ │ │ │ └── push-notifications/ # FCM + local + background
84
91
  │ │ ├── methodology/(tdd|bdd|ddd|debugging)/
85
92
  │ │ └── ...
86
- │ └── knowledge/ # 에이전트 참조 지식
87
- │ ├── checklists/ # 보안, 접근성, SSOT 검증
88
- │ └── templates/ # 출력 형식 (task-result )
93
+ │ └── knowledge/ # Agent reference knowledge
94
+ │ ├── checklists/ # Security, accessibility, SSOT validation
95
+ │ └── templates/ # Output formats (task-result, etc.)
89
96
  └── .timsquad/
90
- ├── config.yaml # 프로젝트 설정
91
- ├── ssot/ # SSOT 문서 (레벨별 5~14)
92
- ├── process/ # 워크플로우 정의
93
- ├── state/ # 상태 관리 + Meta Index
94
- ├── feedback/ # 피드백 저장소
95
- ├── logs/ # 3계층 로그 (L1→L2→L3)
96
- └── retrospective/ # 회고 데이터
97
+ ├── config.yaml # Project configuration
98
+ ├── ssot/ # SSOT documents (514 per level)
99
+ ├── process/ # Workflow definitions
100
+ ├── state/ # State management + Meta Index
101
+ ├── feedback/ # Feedback store
102
+ ├── logs/ # 3-tier logs (L1→L2→L3)
103
+ └── retrospective/ # Retrospective data
97
104
  ```
98
105
 
99
- ### 3. Claude Code에서 작업
106
+ ### 3. Work in Claude Code
100
107
 
101
108
  ```bash
102
- claude # Claude Code 실행
109
+ claude # Launch Claude Code
103
110
 
104
- # PM(CLAUDE.md) 자동으로 작업을 분류하고 에이전트에 위임
105
- @tsq-architect "시스템 아키텍처 설계해줘"
106
- @tsq-developer "로그인 API 구현해줘"
107
- @tsq-qa "코드 리뷰해줘"
111
+ # PM (CLAUDE.md) automatically classifies tasks and delegates to agents
112
+ @tsq-architect "Design the system architecture"
113
+ @tsq-developer "Implement the login API"
114
+ @tsq-qa "Review the code"
108
115
  ```
109
116
 
110
- ### 4. CLI로 작업 관리
117
+ ### 4. Manage Tasks via CLI
111
118
 
112
119
  ```bash
113
- tsq status # 현재 상태 확인
114
- tsq q "버튼 색상 변경" # Quick 모드 (간단한 작업)
115
- tsq f "결제 기능 추가" # Full 모드 (SSOT 검증)
116
- tsq retro auto # 회고 자동 실행
120
+ tsq status # Check current status
121
+ tsq q "change button color" # Quick mode (simple tasks)
122
+ tsq f "add payment feature" # Full mode (SSOT validation)
123
+ tsq retro auto # Run retrospective automatically
117
124
  ```
118
125
 
119
126
  ---
120
127
 
121
- ## 핵심 기능
128
+ ## Key Features
122
129
 
123
- ### SSOT 문서 체계
130
+ ### SSOT Document System
124
131
 
125
- 프로젝트 레벨에 따라 필수 문서가 자동 결정됩니다:
132
+ Required documents are automatically determined by project level:
126
133
 
127
- | 레벨 | 필수 문서 | 대상 |
128
- |------|----------|------|
129
- | **Level 1** (MVP) | PRD, Planning, Requirements, Service Spec, Data Design (5) | 사이드 프로젝트, PoC |
130
- | **Level 2** (Standard) | Level 1 + 6 추가 (11) | 일반 프로젝트, 스타트업 |
131
- | **Level 3** (Enterprise) | Level 2 + 3 추가 (14) | 엔터프라이즈, fintech |
134
+ | Level | Required Documents | Target |
135
+ |-------|-------------------|--------|
136
+ | **Level 1** (MVP) | PRD, Planning, Requirements, Service Spec, Data Design (5) | Side projects, PoC |
137
+ | **Level 2** (Standard) | Level 1 + 6 more (11) | General projects, Startups |
138
+ | **Level 3** (Enterprise) | Level 2 + 3 more (14) | Enterprise, Fintech |
132
139
 
133
- ### 에이전트 시스템
140
+ ### Agent System
134
141
 
135
- PM(CLAUDE.md) 총괄하며 6 전문 에이전트에 위임합니다. 에이전트는 XML 구조화된 프롬프트, 필수 스킬 주입, 3단계 피드백 라우팅을 갖추고 있습니다.
142
+ The PM (CLAUDE.md) orchestrates and delegates to 6 specialized agents. Each agent features XML-structured prompts, mandatory skill injection, and 3-tier feedback routing.
136
143
 
137
- | 에이전트 | 역할 |
138
- |----------|------|
139
- | `@tsq-architect` | 아키텍처 설계, ADR, 코드 구조 리뷰 |
140
- | `@tsq-developer` | SSOT 기반 코드 구현, TDD |
141
- | `@tsq-qa` | 코드 리뷰, 테스트 검증, SSOT 적합성 |
142
- | `@tsq-security` | 보안 검증, OWASP, 취약점 분석 |
143
- | `@tsq-dba` | DB 설계, 쿼리 최적화, 마이그레이션 |
144
- | `@tsq-designer` | UI/UX 설계, 접근성, 디자인 토큰 |
144
+ | Agent | Role |
145
+ |-------|------|
146
+ | `@tsq-architect` | Architecture design, ADR, code structure review |
147
+ | `@tsq-developer` | SSOT-driven code implementation, TDD |
148
+ | `@tsq-qa` | Code review, test verification, SSOT compliance |
149
+ | `@tsq-security` | Security audit, OWASP, vulnerability analysis |
150
+ | `@tsq-dba` | DB design, query optimization, migrations |
151
+ | `@tsq-designer` | UI/UX design, accessibility, design tokens |
145
152
 
146
- ### 피드백 라우팅 (L1/L2/L3)
153
+ ### Feedback Routing (L1/L2/L3)
147
154
 
148
- 피드백을 3단계로 자동 분류하고 적절한 액션을 실행합니다:
155
+ Feedback is automatically classified into 3 tiers with appropriate actions:
149
156
 
150
157
  ```
151
- L1 (구현 수정) → Developer 자동 처리 승인 불필요
152
- L2 (설계 수정) in_review 상태로 전환 → Phase Gate 차단
153
- L3 (기획 수정) 사용자 승인 대기 → approve/reject 필수
158
+ L1 (Implementation fix) → Developer auto-handles No approval needed
159
+ L2 (Design change) Transitions to in_review → Phase Gate blocks
160
+ L3 (Planning change) Awaits user approval → approve/reject required
154
161
  ```
155
162
 
156
- 상세: [docs/feedback-and-retrospective.md](docs/feedback-and-retrospective.md)
163
+ > Details: [docs/feedback-and-retrospective.en.md](docs/feedback-and-retrospective.en.md)
157
164
 
158
- ### 회고적 학습
165
+ ### Retrospective Learning
159
166
 
160
- 작업 로그패턴 분석개선 제안프롬프트/템플릿 업데이트. LLM 파인튜닝 대신 프롬프트/템플릿 개선으로 실용화합니다.
167
+ Task logsPattern analysisImprovement suggestionsPrompt/template updates. Instead of LLM fine-tuning, we improve through prompt/template refinement.
161
168
 
162
169
  ```bash
163
- tsq retro auto # 수집분석리포트적용 (원클릭)
164
- tsq improve analyze # 패턴 분석 + 개선 제안
170
+ tsq retro auto # CollectAnalyzeReportApply (one-click)
171
+ tsq improve analyze # Pattern analysis + improvement suggestions
165
172
  ```
166
173
 
167
- 상세: [docs/feedback-and-retrospective.md](docs/feedback-and-retrospective.md)
174
+ > Details: [docs/feedback-and-retrospective.en.md](docs/feedback-and-retrospective.en.md)
168
175
 
169
- ### 데몬 기반 자동화 파이프라인
176
+ ### Daemon-Based Automation Pipeline
170
177
 
171
- **모든 오케스트레이션은 토큰 비용 0** — 프로그램이 판단합니다:
178
+ **All orchestration at zero token cost** — the program decides:
172
179
 
173
180
  ```
174
- Claude Code 세션데몬이 JSONL 실시간 감시
175
- → L1 태스크 로그 자동 기록
176
- → L2 시퀀스 로그 자동 집계
177
- → L3 Phase 로그 자동 생성
178
- → Phase Gate 자동 확인
179
- 메트릭 인메모리 누적세션 flush
180
- → Meta Index 자동 업데이트
181
+ Claude Code sessionDaemon watches JSONL in real-time
182
+ → L1 task logs recorded automatically
183
+ → L2 sequence logs aggregated automatically
184
+ → L3 phase logs generated automatically
185
+ → Phase Gate checked automatically
186
+ Metrics accumulated in-memoryflushed at session end
187
+ → Meta Index updated automatically
181
188
  ```
182
189
 
183
- 상세: [docs/token-efficiency.md](docs/token-efficiency.md)
190
+ > Details: [docs/token-efficiency.en.md](docs/token-efficiency.en.md)
184
191
 
185
- ### Meta Index (코드 구조 인덱스)
192
+ ### Meta Index (Code Structure Index)
186
193
 
187
- AST 기반 코드/UI 구조 자동 인덱싱 + 에이전트 semantic 데이터 병합:
194
+ AST-based code/UI structure auto-indexing + agent semantic data merging:
188
195
 
189
196
  ```bash
190
- tsq mi rebuild # 전체 코드+UI 인덱스 구축
197
+ tsq mi rebuild # Build full code+UI index
191
198
  tsq mi stats # Health Score + UI Health
192
199
  ```
193
200
 
194
- 상세: [docs/meta-index-architecture.md](docs/meta-index-architecture.md)
201
+ > Details: [docs/meta-index-architecture.en.md](docs/meta-index-architecture.en.md)
195
202
 
196
203
  ---
197
204
 
198
- ## CLI 명령어 요약
199
-
200
- | 명령어 | 설명 |
201
- |--------|------|
202
- | `tsq init` | 프로젝트 초기화 (대화형/비대화형) |
203
- | `tsq status` | 프로젝트 상태 확인 |
204
- | `tsq q "작업"` | Quick 모드 (간단한 작업) |
205
- | `tsq f "작업"` | Full 모드 (SSOT 검증) |
206
- | `tsq log` | 3계층 작업 로그 관리 (L1/L2/L3) |
207
- | `tsq feedback` | 피드백 분류 + 자동 액션 |
208
- | `tsq retro` | 회고 실행 (수동/자동) |
209
- | `tsq metrics` | 메트릭 수집/트렌드 |
210
- | `tsq mi` | Meta Index 관리 (rebuild/stats) |
211
- | `tsq knowledge` | Knowledge 파일 관리 |
212
- | `tsq wf` | 워크플로우 자동화 |
213
- | `tsq daemon` | 백그라운드 데몬 관리 |
214
-
215
- 전체 CLI 레퍼런스: [docs/cli.md](docs/cli.md)
205
+ ## CLI Commands
206
+
207
+ | Command | Description |
208
+ |---------|-------------|
209
+ | `tsq init` | Initialize project (interactive/non-interactive) |
210
+ | `tsq status` | Check project status |
211
+ | `tsq q "task"` | Quick mode (simple tasks) |
212
+ | `tsq f "task"` | Full mode (SSOT validation) |
213
+ | `tsq log` | 3-tier task log management (L1/L2/L3) |
214
+ | `tsq feedback` | Feedback classification + auto actions |
215
+ | `tsq retro` | Run retrospective (manual/auto) |
216
+ | `tsq metrics` | Metrics collection/trends |
217
+ | `tsq mi` | Meta Index management (rebuild/stats) |
218
+ | `tsq knowledge` | Knowledge file management |
219
+ | `tsq wf` | Workflow automation |
220
+ | `tsq daemon` | Background daemon management |
221
+
222
+ > Full CLI reference: [docs/cli.en.md](docs/cli.en.md)
216
223
 
217
224
  ---
218
225
 
219
- ## 프로젝트 타입
226
+ ## Project Types
220
227
 
221
- | 타입 | 설명 |
222
- |------|------|
223
- | `web-service` | SaaS, 풀스택 서비스 |
224
- | `web-app` | BaaS 기반 (Supabase/Firebase) |
225
- | `api-backend` | API 서버, 마이크로서비스 |
226
- | `platform` | 프레임워크, SDK |
227
- | `fintech` | 거래소, 결제 (Level 3 강제) |
228
- | `infra` | DevOps, 자동화 |
228
+ | Type | Description |
229
+ |------|-------------|
230
+ | `web-service` | SaaS, full-stack web services |
231
+ | `web-app` | BaaS-based (Supabase/Firebase) |
232
+ | `api-backend` | API servers, microservices |
233
+ | `platform` | Frameworks, SDKs |
234
+ | `fintech` | Exchanges, payments (Level 3 enforced) |
235
+ | `infra` | DevOps, automation |
229
236
 
230
237
  ---
231
238
 
232
- ## 문서
233
-
234
- | 문서 | 설명 |
235
- |------|------|
236
- | [PRD](docs/PRD.md) | 프레임워크 전체 기획 |
237
- | [Core Concepts](docs/core-concepts.md) | 분수 모델, SSOT, 에이전트/스킬 구조 |
238
- | [CLI Reference](docs/cli.md) | 전체 CLI 명령어 레퍼런스 |
239
- | [Authoring Guide](docs/authoring-guide.md) | 에이전트/스킬/Knowledge 작성 가이드 |
240
- | [Log Architecture](docs/log-architecture.md) | 3계층 로그 체계 (L1→L2→L3) |
241
- | [Feedback & Retrospective](docs/feedback-and-retrospective.md) | 피드백 라우팅 + 회고적 학습 |
242
- | [Token Efficiency](docs/token-efficiency.md) | 토큰 효율성 설계 |
243
- | [Knowledge Architecture](docs/knowledge-architecture.md) | Knowledge 시스템 |
244
- | [Meta Index Architecture](docs/meta-index-architecture.md) | 코드/UI 구조 인덱스 |
245
- | [File Structure](docs/file-structure.md) | 템플릿 + 초기화 구조 |
239
+ ## Documentation
240
+
241
+ | Document | Description |
242
+ |----------|-------------|
243
+ | [PRD](docs/PRD.en.md) | Full framework specification |
244
+ | [Core Concepts](docs/core-concepts.en.md) | Fountain model, SSOT, agent/skill architecture |
245
+ | [CLI Reference](docs/cli.en.md) | Complete CLI command reference |
246
+ | [Authoring Guide](docs/authoring-guide.en.md) | Agent/skill/knowledge authoring guide |
247
+ | [Log Architecture](docs/log-architecture.en.md) | 3-tier log system (L1→L2→L3) |
248
+ | [Feedback & Retrospective](docs/feedback-and-retrospective.en.md) | Feedback routing + retrospective learning |
249
+ | [Token Efficiency](docs/token-efficiency.en.md) | Token efficiency design |
250
+ | [Knowledge Architecture](docs/knowledge-architecture.en.md) | Knowledge system |
251
+ | [Meta Index Architecture](docs/meta-index-architecture.en.md) | Code/UI structure index |
252
+ | [File Structure](docs/file-structure.en.md) | Templates + post-init structure |
246
253
 
247
254
  ---
248
255
 
249
256
  ## Theoretical Background
250
257
 
251
- | 이론/논문 | 핵심 개념 | TimSquad 적용 |
252
- |---------|---------|--------------|
253
- | **Agentsway** (2025) | Prompting Agent, Retrospective Learning | 프롬프트 최적화, 회고적 학습 |
254
- | **ACM TOSEM** (2025) | Competency Mapping | 역량 프레임워크, 성과 지표 |
255
- | **Agentic SE** (2025) | AGENT.md, Meta-Prompt Files | 계층화된 메타-프롬프트 구조 |
256
- | **FRAME** (2025) | Feedback-Driven Refinement | 레벨별 피드백 라우팅 |
258
+ | Theory/Paper | Key Concept | TimSquad Application |
259
+ |-------------|-------------|---------------------|
260
+ | **Agentsway** (2025) | Prompting Agent, Retrospective Learning | Prompt optimization, retrospective learning |
261
+ | **ACM TOSEM** (2025) | Competency Mapping | Competency framework, performance metrics |
262
+ | **Agentic SE** (2025) | AGENT.md, Meta-Prompt Files | Layered meta-prompt architecture |
263
+ | **FRAME** (2025) | Feedback-Driven Refinement | Tiered feedback routing |
257
264
 
258
265
  ---
259
266
 
260
267
  ## Contributing
261
268
 
262
- 기여를 환영합니다!
269
+ Contributions are welcome!
263
270
 
264
271
  1. Fork the repository
265
272
  2. Create your feature branch (`git checkout -b feature/amazing-feature`)
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerCompileCommand(program: Command): void;
3
+ //# sourceMappingURL=compile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqD7D"}
@@ -0,0 +1,170 @@
1
+ import path from 'path';
2
+ import { colors, printHeader, printError, printSuccess, printWarning, printInfo, printStep, } from '../utils/colors.js';
3
+ import { findProjectRoot } from '../lib/project.js';
4
+ import { exists } from '../utils/fs.js';
5
+ import { compileAll, checkStale, validateDependencyGraph, } from '../lib/compiler.js';
6
+ export function registerCompileCommand(program) {
7
+ const compileCmd = program
8
+ .command('compile')
9
+ .description('Compile SSOT documents into agent-facing specs (Context DI)');
10
+ compileCmd
11
+ .command('build')
12
+ .description('Compile all SSOT documents into controller specs')
13
+ .alias('b')
14
+ .action(async () => {
15
+ try {
16
+ await runCompile();
17
+ }
18
+ catch (err) {
19
+ printError(err instanceof Error ? err.message : String(err));
20
+ process.exit(1);
21
+ }
22
+ });
23
+ compileCmd
24
+ .command('validate')
25
+ .description('Validate SSOT completeness and dependency graph')
26
+ .alias('v')
27
+ .action(async () => {
28
+ try {
29
+ await runValidate();
30
+ }
31
+ catch (err) {
32
+ printError(err instanceof Error ? err.message : String(err));
33
+ process.exit(1);
34
+ }
35
+ });
36
+ compileCmd
37
+ .command('status')
38
+ .description('Check for stale specs (SSOT changed since last compile)')
39
+ .alias('s')
40
+ .action(async () => {
41
+ try {
42
+ await runStatus();
43
+ }
44
+ catch (err) {
45
+ printError(err instanceof Error ? err.message : String(err));
46
+ process.exit(1);
47
+ }
48
+ });
49
+ // Default action (no subcommand) → build
50
+ compileCmd.action(async () => {
51
+ try {
52
+ await runCompile();
53
+ }
54
+ catch (err) {
55
+ printError(err instanceof Error ? err.message : String(err));
56
+ process.exit(1);
57
+ }
58
+ });
59
+ }
60
+ async function resolveProject() {
61
+ const projectRoot = await findProjectRoot();
62
+ if (!projectRoot) {
63
+ throw new Error('TimSquad 프로젝트를 찾을 수 없습니다. tsq init을 먼저 실행하세요.');
64
+ }
65
+ const controllerDir = path.join(projectRoot, '.claude', 'skills', 'controller');
66
+ return { projectRoot, controllerDir };
67
+ }
68
+ // ─── tsq compile (build) ─────────────────────────────────────────
69
+ async function runCompile() {
70
+ printHeader('SSOT Compile');
71
+ const { projectRoot, controllerDir } = await resolveProject();
72
+ // Verify SSOT directory exists
73
+ const ssotDir = path.join(projectRoot, '.timsquad', 'ssot');
74
+ if (!await exists(ssotDir)) {
75
+ printError('.timsquad/ssot/ 디렉토리가 없습니다.');
76
+ return;
77
+ }
78
+ printStep(1, 3, 'SSOT 문서 파싱 및 컴파일...');
79
+ const result = await compileAll(projectRoot, controllerDir);
80
+ printStep(2, 3, '검증 결과 확인...');
81
+ printCompileResult(result);
82
+ printStep(3, 3, '의존성 그래프 검증...');
83
+ const unresolved = await validateDependencyGraph(projectRoot, controllerDir);
84
+ printDependencyResult(unresolved);
85
+ if (result.success && unresolved.length === 0) {
86
+ printSuccess(`컴파일 완료 — ${result.compiled.length}개 문서, ${countOutputFiles(result)}개 spec 생성`);
87
+ }
88
+ else if (result.success) {
89
+ printWarning(`컴파일 완료 (의존성 미해결 ${unresolved.length}건)`);
90
+ }
91
+ else {
92
+ printError(`컴파일 실패 — ${result.errors.length}건 오류`);
93
+ }
94
+ }
95
+ // ─── tsq compile validate ────────────────────────────────────────
96
+ async function runValidate() {
97
+ printHeader('SSOT Validate');
98
+ const { projectRoot, controllerDir } = await resolveProject();
99
+ // Check stale first
100
+ const stale = await checkStale(projectRoot, controllerDir);
101
+ if (stale.length > 0) {
102
+ printWarning('Stale spec 감지:');
103
+ for (const s of stale) {
104
+ console.log(` ${colors.warning('⚠')} ${colors.path(s.source)} — ${s.reason}`);
105
+ }
106
+ console.log();
107
+ }
108
+ // Dependency graph
109
+ const unresolved = await validateDependencyGraph(projectRoot, controllerDir);
110
+ printDependencyResult(unresolved);
111
+ if (stale.length === 0 && unresolved.length === 0) {
112
+ printSuccess('모든 검증 통과');
113
+ }
114
+ }
115
+ // ─── tsq compile status ──────────────────────────────────────────
116
+ async function runStatus() {
117
+ printHeader('Compile Status');
118
+ const { projectRoot, controllerDir } = await resolveProject();
119
+ const stale = await checkStale(projectRoot, controllerDir);
120
+ if (stale.length === 0) {
121
+ printSuccess('모든 spec이 최신 상태입니다.');
122
+ }
123
+ else {
124
+ printWarning(`${stale.length}개 SSOT 변경 감지 — tsq compile 실행 필요:`);
125
+ for (const s of stale) {
126
+ console.log(` ${colors.warning('⚠')} ${colors.path(s.source)} — ${s.reason}`);
127
+ }
128
+ }
129
+ }
130
+ // ─── Output Helpers ──────────────────────────────────────────────
131
+ function printCompileResult(result) {
132
+ // Compiled documents
133
+ for (const c of result.compiled) {
134
+ const validation = result.validations.find((v) => v.source === c.source);
135
+ const score = validation ? `${validation.score}%` : '-';
136
+ const icon = validation && validation.score === 100 ? '✅' : validation && validation.score >= 50 ? '⚠️' : '❌';
137
+ console.log(` ${icon} ${colors.path(c.source)} → ${c.outputFiles.length}개 spec (완성도: ${score})`);
138
+ // Show missing fields
139
+ if (validation && validation.missingFields.length > 0) {
140
+ for (const mf of validation.missingFields) {
141
+ console.log(` ${colors.dim(`└ ${mf.section}: 누락 필드 [${mf.fields.join(', ')}]`)}`);
142
+ }
143
+ }
144
+ }
145
+ // Skipped (too small / template)
146
+ if (result.skipped.length > 0) {
147
+ console.log(` ${colors.dim(`⏭ 건너뜀 (미작성): ${result.skipped.join(', ')}`)}`);
148
+ }
149
+ // Errors
150
+ for (const err of result.errors) {
151
+ printError(err);
152
+ }
153
+ console.log();
154
+ }
155
+ function printDependencyResult(unresolved) {
156
+ if (unresolved.length === 0) {
157
+ printInfo('의존성 그래프: 모든 agent prerequisites 해결됨');
158
+ }
159
+ else {
160
+ printWarning('미해결 의존성:');
161
+ for (const u of unresolved) {
162
+ console.log(` ${colors.agent(u.agent)} → 누락: ${u.missing.map((m) => colors.path(m)).join(', ')}`);
163
+ }
164
+ }
165
+ console.log();
166
+ }
167
+ function countOutputFiles(result) {
168
+ return result.compiled.reduce((sum, c) => sum + c.outputFiles.length, 0);
169
+ }
170
+ //# sourceMappingURL=compile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4C5D"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwF5D"}