timsquad 2.0.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 (181) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +347 -0
  3. package/bin/tsq.js +6 -0
  4. package/dist/commands/feedback.d.ts +3 -0
  5. package/dist/commands/feedback.d.ts.map +1 -0
  6. package/dist/commands/feedback.js +142 -0
  7. package/dist/commands/feedback.js.map +1 -0
  8. package/dist/commands/full.d.ts +3 -0
  9. package/dist/commands/full.d.ts.map +1 -0
  10. package/dist/commands/full.js +87 -0
  11. package/dist/commands/full.js.map +1 -0
  12. package/dist/commands/git/commit.d.ts +3 -0
  13. package/dist/commands/git/commit.d.ts.map +1 -0
  14. package/dist/commands/git/commit.js +88 -0
  15. package/dist/commands/git/commit.js.map +1 -0
  16. package/dist/commands/git/index.d.ts +5 -0
  17. package/dist/commands/git/index.d.ts.map +1 -0
  18. package/dist/commands/git/index.js +5 -0
  19. package/dist/commands/git/index.js.map +1 -0
  20. package/dist/commands/git/pr.d.ts +3 -0
  21. package/dist/commands/git/pr.d.ts.map +1 -0
  22. package/dist/commands/git/pr.js +138 -0
  23. package/dist/commands/git/pr.js.map +1 -0
  24. package/dist/commands/git/release.d.ts +3 -0
  25. package/dist/commands/git/release.d.ts.map +1 -0
  26. package/dist/commands/git/release.js +158 -0
  27. package/dist/commands/git/release.js.map +1 -0
  28. package/dist/commands/git/sync.d.ts +3 -0
  29. package/dist/commands/git/sync.d.ts.map +1 -0
  30. package/dist/commands/git/sync.js +132 -0
  31. package/dist/commands/git/sync.js.map +1 -0
  32. package/dist/commands/init.d.ts +3 -0
  33. package/dist/commands/init.d.ts.map +1 -0
  34. package/dist/commands/init.js +150 -0
  35. package/dist/commands/init.js.map +1 -0
  36. package/dist/commands/log.d.ts +3 -0
  37. package/dist/commands/log.d.ts.map +1 -0
  38. package/dist/commands/log.js +271 -0
  39. package/dist/commands/log.js.map +1 -0
  40. package/dist/commands/metrics.d.ts +3 -0
  41. package/dist/commands/metrics.d.ts.map +1 -0
  42. package/dist/commands/metrics.js +299 -0
  43. package/dist/commands/metrics.js.map +1 -0
  44. package/dist/commands/quick.d.ts +3 -0
  45. package/dist/commands/quick.d.ts.map +1 -0
  46. package/dist/commands/quick.js +136 -0
  47. package/dist/commands/quick.js.map +1 -0
  48. package/dist/commands/retro.d.ts +3 -0
  49. package/dist/commands/retro.d.ts.map +1 -0
  50. package/dist/commands/retro.js +280 -0
  51. package/dist/commands/retro.js.map +1 -0
  52. package/dist/commands/status.d.ts +3 -0
  53. package/dist/commands/status.d.ts.map +1 -0
  54. package/dist/commands/status.js +127 -0
  55. package/dist/commands/status.js.map +1 -0
  56. package/dist/commands/watch.d.ts +3 -0
  57. package/dist/commands/watch.d.ts.map +1 -0
  58. package/dist/commands/watch.js +213 -0
  59. package/dist/commands/watch.js.map +1 -0
  60. package/dist/index.d.ts +3 -0
  61. package/dist/index.d.ts.map +1 -0
  62. package/dist/index.js +50 -0
  63. package/dist/index.js.map +1 -0
  64. package/dist/lib/config.d.ts +34 -0
  65. package/dist/lib/config.d.ts.map +1 -0
  66. package/dist/lib/config.js +108 -0
  67. package/dist/lib/config.js.map +1 -0
  68. package/dist/lib/project.d.ts +47 -0
  69. package/dist/lib/project.d.ts.map +1 -0
  70. package/dist/lib/project.js +191 -0
  71. package/dist/lib/project.js.map +1 -0
  72. package/dist/lib/template.d.ts +33 -0
  73. package/dist/lib/template.d.ts.map +1 -0
  74. package/dist/lib/template.js +151 -0
  75. package/dist/lib/template.js.map +1 -0
  76. package/dist/types/config.d.ts +75 -0
  77. package/dist/types/config.d.ts.map +1 -0
  78. package/dist/types/config.js +66 -0
  79. package/dist/types/config.js.map +1 -0
  80. package/dist/types/feedback.d.ts +59 -0
  81. package/dist/types/feedback.d.ts.map +1 -0
  82. package/dist/types/feedback.js +26 -0
  83. package/dist/types/feedback.js.map +1 -0
  84. package/dist/types/index.d.ts +4 -0
  85. package/dist/types/index.d.ts.map +1 -0
  86. package/dist/types/index.js +5 -0
  87. package/dist/types/index.js.map +1 -0
  88. package/dist/types/project.d.ts +89 -0
  89. package/dist/types/project.d.ts.map +1 -0
  90. package/dist/types/project.js +44 -0
  91. package/dist/types/project.js.map +1 -0
  92. package/dist/utils/colors.d.ts +30 -0
  93. package/dist/utils/colors.d.ts.map +1 -0
  94. package/dist/utils/colors.js +54 -0
  95. package/dist/utils/colors.js.map +1 -0
  96. package/dist/utils/date.d.ts +25 -0
  97. package/dist/utils/date.d.ts.map +1 -0
  98. package/dist/utils/date.js +65 -0
  99. package/dist/utils/date.js.map +1 -0
  100. package/dist/utils/fs.d.ts +49 -0
  101. package/dist/utils/fs.d.ts.map +1 -0
  102. package/dist/utils/fs.js +84 -0
  103. package/dist/utils/fs.js.map +1 -0
  104. package/dist/utils/prompts.d.ts +31 -0
  105. package/dist/utils/prompts.d.ts.map +1 -0
  106. package/dist/utils/prompts.js +95 -0
  107. package/dist/utils/prompts.js.map +1 -0
  108. package/dist/utils/yaml.d.ts +21 -0
  109. package/dist/utils/yaml.d.ts.map +1 -0
  110. package/dist/utils/yaml.js +40 -0
  111. package/dist/utils/yaml.js.map +1 -0
  112. package/package.json +71 -0
  113. package/templates/common/CLAUDE.md.template +254 -0
  114. package/templates/common/claude/agents/tsq-dba.md +290 -0
  115. package/templates/common/claude/agents/tsq-designer.md +304 -0
  116. package/templates/common/claude/agents/tsq-developer.md +118 -0
  117. package/templates/common/claude/agents/tsq-planner.md +90 -0
  118. package/templates/common/claude/agents/tsq-prompter.md +336 -0
  119. package/templates/common/claude/agents/tsq-qa.md +134 -0
  120. package/templates/common/claude/agents/tsq-retro.md +168 -0
  121. package/templates/common/claude/agents/tsq-security.md +190 -0
  122. package/templates/common/claude/skills/architecture/SKILL.md +123 -0
  123. package/templates/common/claude/skills/backend/node/SKILL.md +1015 -0
  124. package/templates/common/claude/skills/coding/SKILL.md +171 -0
  125. package/templates/common/claude/skills/database/prisma/SKILL.md +357 -0
  126. package/templates/common/claude/skills/frontend/nextjs/SKILL.md +279 -0
  127. package/templates/common/claude/skills/frontend/react/SKILL.md +1729 -0
  128. package/templates/common/claude/skills/methodology/bdd/SKILL.md +234 -0
  129. package/templates/common/claude/skills/methodology/ddd/SKILL.md +311 -0
  130. package/templates/common/claude/skills/methodology/tdd/SKILL.md +512 -0
  131. package/templates/common/claude/skills/planning/SKILL.md +90 -0
  132. package/templates/common/claude/skills/security/SKILL.md +234 -0
  133. package/templates/common/claude/skills/testing/SKILL.md +146 -0
  134. package/templates/common/claude/skills/typescript/SKILL.md +435 -0
  135. package/templates/common/config.template.yaml +131 -0
  136. package/templates/common/timsquad/architectures/clean/ARCHITECTURE.md +49 -0
  137. package/templates/common/timsquad/architectures/clean/backend.xml +210 -0
  138. package/templates/common/timsquad/architectures/clean/frontend.xml +148 -0
  139. package/templates/common/timsquad/architectures/fsd/ARCHITECTURE.md +67 -0
  140. package/templates/common/timsquad/architectures/fsd/frontend.xml +288 -0
  141. package/templates/common/timsquad/architectures/hexagonal/ARCHITECTURE.md +60 -0
  142. package/templates/common/timsquad/architectures/hexagonal/backend.xml +300 -0
  143. package/templates/common/timsquad/constraints/competency-framework.xml +501 -0
  144. package/templates/common/timsquad/constraints/ssot-schema.xml +433 -0
  145. package/templates/common/timsquad/feedback/feedback-router.sh +341 -0
  146. package/templates/common/timsquad/feedback/routing-rules.yaml +352 -0
  147. package/templates/common/timsquad/generators/data-design.xml +290 -0
  148. package/templates/common/timsquad/generators/prd.xml +280 -0
  149. package/templates/common/timsquad/generators/requirements.xml +220 -0
  150. package/templates/common/timsquad/generators/service-spec.xml +266 -0
  151. package/templates/common/timsquad/logs/_example.md +81 -0
  152. package/templates/common/timsquad/logs/_template.md +46 -0
  153. package/templates/common/timsquad/patterns/cqrs.xml +127 -0
  154. package/templates/common/timsquad/patterns/event-sourcing.xml +85 -0
  155. package/templates/common/timsquad/patterns/repository.xml +64 -0
  156. package/templates/common/timsquad/process/state-machine.xml +343 -0
  157. package/templates/common/timsquad/process/validation-rules.xml +308 -0
  158. package/templates/common/timsquad/process/workflow-base.xml +202 -0
  159. package/templates/common/timsquad/retrospective/cycle-report.template.md +205 -0
  160. package/templates/common/timsquad/retrospective/metrics/metrics-schema.json +203 -0
  161. package/templates/common/timsquad/retrospective/patterns/failure-patterns.md +199 -0
  162. package/templates/common/timsquad/retrospective/patterns/success-patterns.md +262 -0
  163. package/templates/common/timsquad/retrospective/retrospective-config.xml +294 -0
  164. package/templates/common/timsquad/retrospective/retrospective-state.xml +210 -0
  165. package/templates/common/timsquad/ssot/adr/ADR-000-template.md +121 -0
  166. package/templates/common/timsquad/ssot/adr/ADR-001-example.md +115 -0
  167. package/templates/common/timsquad/ssot/data-design.template.md +132 -0
  168. package/templates/common/timsquad/ssot/deployment-spec.template.md +384 -0
  169. package/templates/common/timsquad/ssot/env-config.template.md +346 -0
  170. package/templates/common/timsquad/ssot/error-codes.template.md +114 -0
  171. package/templates/common/timsquad/ssot/functional-spec.template.md +185 -0
  172. package/templates/common/timsquad/ssot/glossary.template.md +148 -0
  173. package/templates/common/timsquad/ssot/integration-spec.template.md +391 -0
  174. package/templates/common/timsquad/ssot/planning.template.md +94 -0
  175. package/templates/common/timsquad/ssot/prd.template.md +102 -0
  176. package/templates/common/timsquad/ssot/requirements.template.md +117 -0
  177. package/templates/common/timsquad/ssot/security-spec.template.md +309 -0
  178. package/templates/common/timsquad/ssot/service-spec.template.md +194 -0
  179. package/templates/common/timsquad/ssot/test-spec.template.md +264 -0
  180. package/templates/common/timsquad/ssot/ui-ux-spec.template.md +262 -0
  181. package/templates/common/timsquad/state/workspace.xml +217 -0
@@ -0,0 +1,217 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <workspace>
3
+ <metadata>
4
+ <project>{{PROJECT_NAME}}</project>
5
+ <created>{{TIMESTAMP}}</created>
6
+ <last-updated>{{TIMESTAMP}}</last-updated>
7
+ <version>1.0</version>
8
+ </metadata>
9
+
10
+ <!-- 현재 활성 에이전트 -->
11
+ <active-session>
12
+ <agent>tsq-planner</agent>
13
+ <started-at>{{TIMESTAMP}}</started-at>
14
+ <mode>planning</mode>
15
+ </active-session>
16
+
17
+ <!-- ============================================================
18
+ 현재 진행 중인 작업
19
+ ============================================================ -->
20
+ <current-task>
21
+ <id>TASK-001</id>
22
+ <title>PRD 작성</title>
23
+ <description>제품 요구사항 정의서 초안 작성</description>
24
+ <agent>tsq-planner</agent>
25
+ <phase>planning</phase>
26
+ <started-at>{{TIMESTAMP}}</started-at>
27
+ <status>in_progress</status>
28
+ <ssot-refs>
29
+ <ref path="ssot/prd.md">출력 대상</ref>
30
+ </ssot-refs>
31
+ <progress>
32
+ <step done="false">배경 및 목표 정의</step>
33
+ <step done="false">타겟 사용자 정의</step>
34
+ <step done="false">성공 지표 정의</step>
35
+ <step done="false">범위 정의</step>
36
+ </progress>
37
+ </current-task>
38
+
39
+ <!-- ============================================================
40
+ 대기 중인 작업 (우선순위 순)
41
+ ============================================================ -->
42
+ <pending-tasks>
43
+ <!--
44
+ <task id="TASK-002" priority="1">
45
+ <title>요구사항 정의</title>
46
+ <description>기능/비기능 요건 작성</description>
47
+ <assigned-to>tsq-planner</assigned-to>
48
+ <phase>planning</phase>
49
+ <depends-on>TASK-001</depends-on>
50
+ <estimated-effort>medium</estimated-effort>
51
+ </task>
52
+ -->
53
+ </pending-tasks>
54
+
55
+ <!-- ============================================================
56
+ 완료된 작업 (최근 10개 유지)
57
+ ============================================================ -->
58
+ <completed-tasks>
59
+ <!--
60
+ <task id="TASK-000" completed-at="{{TIMESTAMP}}">
61
+ <title>프로젝트 초기화</title>
62
+ <agent>system</agent>
63
+ <output>TimSquad 프로젝트 구조 생성</output>
64
+ <duration-minutes>1</duration-minutes>
65
+ </task>
66
+ -->
67
+ </completed-tasks>
68
+
69
+ <!-- ============================================================
70
+ 에이전트 간 인수인계 (Handoff)
71
+ ============================================================ -->
72
+ <handoff>
73
+ <!--
74
+ 현재 에이전트가 다음 에이전트에게 전달할 내용
75
+
76
+ <from>tsq-planner</from>
77
+ <to>tsq-developer</to>
78
+ <timestamp>{{TIMESTAMP}}</timestamp>
79
+ <message>
80
+ API 명세 작성 완료. 다음 문서를 참조하여 구현 시작:
81
+ - service-spec.md: API 엔드포인트 정의
82
+ - data-design.md: 데이터 모델
83
+ - error-codes.md: 에러 코드
84
+
85
+ 특이사항:
86
+ - JWT 토큰 만료 시간 15분 (ADR-002 참조)
87
+ - 비밀번호는 bcrypt 해싱 필수
88
+ </message>
89
+ <attachments>
90
+ <ref>ssot/service-spec.md</ref>
91
+ <ref>ssot/data-design.md</ref>
92
+ <ref>ssot/error-codes.md</ref>
93
+ <ref>ssot/adr/ADR-002.md</ref>
94
+ </attachments>
95
+ <action-items>
96
+ <item priority="1">로그인 API 구현</item>
97
+ <item priority="2">회원가입 API 구현</item>
98
+ <item priority="3">토큰 갱신 API 구현</item>
99
+ </action-items>
100
+ -->
101
+ </handoff>
102
+
103
+ <!-- ============================================================
104
+ 블로킹 이슈
105
+ ============================================================ -->
106
+ <blockers>
107
+ <!--
108
+ <blocker id="BLK-001" severity="high" created-at="{{TIMESTAMP}}">
109
+ <description>외부 OAuth API 키 필요</description>
110
+ <waiting-for>User</waiting-for>
111
+ <blocks>
112
+ <task-ref>TASK-005</task-ref>
113
+ </blocks>
114
+ <notes>Google OAuth 클라이언트 ID/Secret 필요</notes>
115
+ </blocker>
116
+ -->
117
+ </blockers>
118
+
119
+ <!-- ============================================================
120
+ 승인 대기
121
+ ============================================================ -->
122
+ <pending-approvals>
123
+ <!--
124
+ <approval id="APV-001" type="phase-transition">
125
+ <from-phase>planning</from-phase>
126
+ <to-phase>implementation</to-phase>
127
+ <requested-by>tsq-planner</requested-by>
128
+ <requested-at>{{TIMESTAMP}}</requested-at>
129
+ <reason>SSOT 문서 작성 완료, 구현 단계 진입 요청</reason>
130
+ <checklist>
131
+ <item checked="true">prd.md 작성 완료</item>
132
+ <item checked="true">requirements.md 작성 완료</item>
133
+ <item checked="true">service-spec.md 작성 완료</item>
134
+ <item checked="true">data-design.md 작성 완료</item>
135
+ </checklist>
136
+ </approval>
137
+
138
+ <approval id="APV-002" type="feedback-level-3">
139
+ <issue>스코프 변경 요청</issue>
140
+ <requested-by>tsq-qa</requested-by>
141
+ <requested-at>{{TIMESTAMP}}</requested-at>
142
+ <details>소셜 로그인 기능 추가 필요</details>
143
+ <options>
144
+ <option id="1">현재 스코프 유지</option>
145
+ <option id="2">소셜 로그인 추가 (일정 연장)</option>
146
+ <option id="3">소셜 로그인 v2에서 추가</option>
147
+ </options>
148
+ </approval>
149
+ -->
150
+ </pending-approvals>
151
+
152
+ <!-- ============================================================
153
+ 피드백 큐 (처리 대기 중인 피드백)
154
+ ============================================================ -->
155
+ <feedback-queue>
156
+ <!--
157
+ <feedback id="FB-001" level="1" created-at="{{TIMESTAMP}}">
158
+ <from>tsq-qa</from>
159
+ <to>tsq-developer</to>
160
+ <type>code-review</type>
161
+ <severity>minor</severity>
162
+ <file>src/auth/login.ts</file>
163
+ <line>45</line>
164
+ <message>에러 메시지가 error-codes.md와 다름</message>
165
+ <suggestion>AUTH_001 코드 사용</suggestion>
166
+ <status>pending</status>
167
+ </feedback>
168
+ -->
169
+ </feedback-queue>
170
+
171
+ <!-- ============================================================
172
+ 다음 단계 계획 (Next Steps)
173
+ ============================================================ -->
174
+ <next-steps>
175
+ <step order="1">
176
+ <action>PRD 작성 완료</action>
177
+ <agent>tsq-planner</agent>
178
+ <output>ssot/prd.md</output>
179
+ </step>
180
+ <step order="2">
181
+ <action>요구사항 정의</action>
182
+ <agent>tsq-planner</agent>
183
+ <output>ssot/requirements.md</output>
184
+ </step>
185
+ <step order="3">
186
+ <action>API 명세 작성</action>
187
+ <agent>tsq-planner</agent>
188
+ <output>ssot/service-spec.md</output>
189
+ </step>
190
+ <step order="4">
191
+ <action>데이터 설계</action>
192
+ <agent>tsq-planner</agent>
193
+ <output>ssot/data-design.md</output>
194
+ </step>
195
+ <step order="5">
196
+ <action>User 승인 요청</action>
197
+ <agent>tsq-planner</agent>
198
+ <requires-approval>true</requires-approval>
199
+ </step>
200
+ <step order="6">
201
+ <action>Implementation Phase 시작</action>
202
+ <agent>tsq-developer</agent>
203
+ <phase>implementation</phase>
204
+ </step>
205
+ </next-steps>
206
+
207
+ <!-- ============================================================
208
+ 세션 메모 (임시 노트)
209
+ ============================================================ -->
210
+ <session-notes>
211
+ <!--
212
+ <note timestamp="{{TIMESTAMP}}" agent="tsq-planner">
213
+ 사용자가 MVP 우선 요청. 소셜 로그인은 v2로 미룸.
214
+ </note>
215
+ -->
216
+ </session-notes>
217
+ </workspace>