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.
- package/LICENSE +21 -0
- package/README.md +347 -0
- package/bin/tsq.js +6 -0
- package/dist/commands/feedback.d.ts +3 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +142 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/full.d.ts +3 -0
- package/dist/commands/full.d.ts.map +1 -0
- package/dist/commands/full.js +87 -0
- package/dist/commands/full.js.map +1 -0
- package/dist/commands/git/commit.d.ts +3 -0
- package/dist/commands/git/commit.d.ts.map +1 -0
- package/dist/commands/git/commit.js +88 -0
- package/dist/commands/git/commit.js.map +1 -0
- package/dist/commands/git/index.d.ts +5 -0
- package/dist/commands/git/index.d.ts.map +1 -0
- package/dist/commands/git/index.js +5 -0
- package/dist/commands/git/index.js.map +1 -0
- package/dist/commands/git/pr.d.ts +3 -0
- package/dist/commands/git/pr.d.ts.map +1 -0
- package/dist/commands/git/pr.js +138 -0
- package/dist/commands/git/pr.js.map +1 -0
- package/dist/commands/git/release.d.ts +3 -0
- package/dist/commands/git/release.d.ts.map +1 -0
- package/dist/commands/git/release.js +158 -0
- package/dist/commands/git/release.js.map +1 -0
- package/dist/commands/git/sync.d.ts +3 -0
- package/dist/commands/git/sync.d.ts.map +1 -0
- package/dist/commands/git/sync.js +132 -0
- package/dist/commands/git/sync.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +150 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/log.d.ts +3 -0
- package/dist/commands/log.d.ts.map +1 -0
- package/dist/commands/log.js +271 -0
- package/dist/commands/log.js.map +1 -0
- package/dist/commands/metrics.d.ts +3 -0
- package/dist/commands/metrics.d.ts.map +1 -0
- package/dist/commands/metrics.js +299 -0
- package/dist/commands/metrics.js.map +1 -0
- package/dist/commands/quick.d.ts +3 -0
- package/dist/commands/quick.d.ts.map +1 -0
- package/dist/commands/quick.js +136 -0
- package/dist/commands/quick.js.map +1 -0
- package/dist/commands/retro.d.ts +3 -0
- package/dist/commands/retro.d.ts.map +1 -0
- package/dist/commands/retro.js +280 -0
- package/dist/commands/retro.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +127 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/watch.d.ts +3 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +213 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/config.d.ts +34 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +108 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/project.d.ts +47 -0
- package/dist/lib/project.d.ts.map +1 -0
- package/dist/lib/project.js +191 -0
- package/dist/lib/project.js.map +1 -0
- package/dist/lib/template.d.ts +33 -0
- package/dist/lib/template.d.ts.map +1 -0
- package/dist/lib/template.js +151 -0
- package/dist/lib/template.js.map +1 -0
- package/dist/types/config.d.ts +75 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +66 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/feedback.d.ts +59 -0
- package/dist/types/feedback.d.ts.map +1 -0
- package/dist/types/feedback.js +26 -0
- package/dist/types/feedback.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/project.d.ts +89 -0
- package/dist/types/project.d.ts.map +1 -0
- package/dist/types/project.js +44 -0
- package/dist/types/project.js.map +1 -0
- package/dist/utils/colors.d.ts +30 -0
- package/dist/utils/colors.d.ts.map +1 -0
- package/dist/utils/colors.js +54 -0
- package/dist/utils/colors.js.map +1 -0
- package/dist/utils/date.d.ts +25 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/date.js +65 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/fs.d.ts +49 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +84 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/prompts.d.ts +31 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +95 -0
- package/dist/utils/prompts.js.map +1 -0
- package/dist/utils/yaml.d.ts +21 -0
- package/dist/utils/yaml.d.ts.map +1 -0
- package/dist/utils/yaml.js +40 -0
- package/dist/utils/yaml.js.map +1 -0
- package/package.json +71 -0
- package/templates/common/CLAUDE.md.template +254 -0
- package/templates/common/claude/agents/tsq-dba.md +290 -0
- package/templates/common/claude/agents/tsq-designer.md +304 -0
- package/templates/common/claude/agents/tsq-developer.md +118 -0
- package/templates/common/claude/agents/tsq-planner.md +90 -0
- package/templates/common/claude/agents/tsq-prompter.md +336 -0
- package/templates/common/claude/agents/tsq-qa.md +134 -0
- package/templates/common/claude/agents/tsq-retro.md +168 -0
- package/templates/common/claude/agents/tsq-security.md +190 -0
- package/templates/common/claude/skills/architecture/SKILL.md +123 -0
- package/templates/common/claude/skills/backend/node/SKILL.md +1015 -0
- package/templates/common/claude/skills/coding/SKILL.md +171 -0
- package/templates/common/claude/skills/database/prisma/SKILL.md +357 -0
- package/templates/common/claude/skills/frontend/nextjs/SKILL.md +279 -0
- package/templates/common/claude/skills/frontend/react/SKILL.md +1729 -0
- package/templates/common/claude/skills/methodology/bdd/SKILL.md +234 -0
- package/templates/common/claude/skills/methodology/ddd/SKILL.md +311 -0
- package/templates/common/claude/skills/methodology/tdd/SKILL.md +512 -0
- package/templates/common/claude/skills/planning/SKILL.md +90 -0
- package/templates/common/claude/skills/security/SKILL.md +234 -0
- package/templates/common/claude/skills/testing/SKILL.md +146 -0
- package/templates/common/claude/skills/typescript/SKILL.md +435 -0
- package/templates/common/config.template.yaml +131 -0
- package/templates/common/timsquad/architectures/clean/ARCHITECTURE.md +49 -0
- package/templates/common/timsquad/architectures/clean/backend.xml +210 -0
- package/templates/common/timsquad/architectures/clean/frontend.xml +148 -0
- package/templates/common/timsquad/architectures/fsd/ARCHITECTURE.md +67 -0
- package/templates/common/timsquad/architectures/fsd/frontend.xml +288 -0
- package/templates/common/timsquad/architectures/hexagonal/ARCHITECTURE.md +60 -0
- package/templates/common/timsquad/architectures/hexagonal/backend.xml +300 -0
- package/templates/common/timsquad/constraints/competency-framework.xml +501 -0
- package/templates/common/timsquad/constraints/ssot-schema.xml +433 -0
- package/templates/common/timsquad/feedback/feedback-router.sh +341 -0
- package/templates/common/timsquad/feedback/routing-rules.yaml +352 -0
- package/templates/common/timsquad/generators/data-design.xml +290 -0
- package/templates/common/timsquad/generators/prd.xml +280 -0
- package/templates/common/timsquad/generators/requirements.xml +220 -0
- package/templates/common/timsquad/generators/service-spec.xml +266 -0
- package/templates/common/timsquad/logs/_example.md +81 -0
- package/templates/common/timsquad/logs/_template.md +46 -0
- package/templates/common/timsquad/patterns/cqrs.xml +127 -0
- package/templates/common/timsquad/patterns/event-sourcing.xml +85 -0
- package/templates/common/timsquad/patterns/repository.xml +64 -0
- package/templates/common/timsquad/process/state-machine.xml +343 -0
- package/templates/common/timsquad/process/validation-rules.xml +308 -0
- package/templates/common/timsquad/process/workflow-base.xml +202 -0
- package/templates/common/timsquad/retrospective/cycle-report.template.md +205 -0
- package/templates/common/timsquad/retrospective/metrics/metrics-schema.json +203 -0
- package/templates/common/timsquad/retrospective/patterns/failure-patterns.md +199 -0
- package/templates/common/timsquad/retrospective/patterns/success-patterns.md +262 -0
- package/templates/common/timsquad/retrospective/retrospective-config.xml +294 -0
- package/templates/common/timsquad/retrospective/retrospective-state.xml +210 -0
- package/templates/common/timsquad/ssot/adr/ADR-000-template.md +121 -0
- package/templates/common/timsquad/ssot/adr/ADR-001-example.md +115 -0
- package/templates/common/timsquad/ssot/data-design.template.md +132 -0
- package/templates/common/timsquad/ssot/deployment-spec.template.md +384 -0
- package/templates/common/timsquad/ssot/env-config.template.md +346 -0
- package/templates/common/timsquad/ssot/error-codes.template.md +114 -0
- package/templates/common/timsquad/ssot/functional-spec.template.md +185 -0
- package/templates/common/timsquad/ssot/glossary.template.md +148 -0
- package/templates/common/timsquad/ssot/integration-spec.template.md +391 -0
- package/templates/common/timsquad/ssot/planning.template.md +94 -0
- package/templates/common/timsquad/ssot/prd.template.md +102 -0
- package/templates/common/timsquad/ssot/requirements.template.md +117 -0
- package/templates/common/timsquad/ssot/security-spec.template.md +309 -0
- package/templates/common/timsquad/ssot/service-spec.template.md +194 -0
- package/templates/common/timsquad/ssot/test-spec.template.md +264 -0
- package/templates/common/timsquad/ssot/ui-ux-spec.template.md +262 -0
- 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>
|