timsquad 2.1.0 → 3.4.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 (438) hide show
  1. package/README.ko.md +288 -0
  2. package/README.md +170 -763
  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 +7 -0
  8. package/dist/commands/daemon.d.ts.map +1 -0
  9. package/dist/commands/daemon.js +229 -0
  10. package/dist/commands/daemon.js.map +1 -0
  11. package/dist/commands/feedback.d.ts +9 -0
  12. package/dist/commands/feedback.d.ts.map +1 -1
  13. package/dist/commands/feedback.js +235 -14
  14. package/dist/commands/feedback.js.map +1 -1
  15. package/dist/commands/full.js +2 -2
  16. package/dist/commands/full.js.map +1 -1
  17. package/dist/commands/init.d.ts.map +1 -1
  18. package/dist/commands/init.js +118 -22
  19. package/dist/commands/init.js.map +1 -1
  20. package/dist/commands/knowledge.d.ts +3 -0
  21. package/dist/commands/knowledge.d.ts.map +1 -0
  22. package/dist/commands/knowledge.js +316 -0
  23. package/dist/commands/knowledge.js.map +1 -0
  24. package/dist/commands/log.d.ts +27 -0
  25. package/dist/commands/log.d.ts.map +1 -1
  26. package/dist/commands/log.js +965 -0
  27. package/dist/commands/log.js.map +1 -1
  28. package/dist/commands/meta-index.d.ts +3 -0
  29. package/dist/commands/meta-index.d.ts.map +1 -0
  30. package/dist/commands/meta-index.js +401 -0
  31. package/dist/commands/meta-index.js.map +1 -0
  32. package/dist/commands/metrics.d.ts.map +1 -1
  33. package/dist/commands/metrics.js +239 -4
  34. package/dist/commands/metrics.js.map +1 -1
  35. package/dist/commands/retro.js +154 -6
  36. package/dist/commands/retro.js.map +1 -1
  37. package/dist/commands/skills.d.ts +12 -0
  38. package/dist/commands/skills.d.ts.map +1 -0
  39. package/dist/commands/skills.js +231 -0
  40. package/dist/commands/skills.js.map +1 -0
  41. package/dist/commands/upgrade.d.ts +8 -0
  42. package/dist/commands/upgrade.d.ts.map +1 -0
  43. package/dist/commands/upgrade.js +292 -0
  44. package/dist/commands/upgrade.js.map +1 -0
  45. package/dist/commands/workflow.d.ts +3 -0
  46. package/dist/commands/workflow.d.ts.map +1 -0
  47. package/dist/commands/workflow.js +607 -0
  48. package/dist/commands/workflow.js.map +1 -0
  49. package/dist/daemon/context-writer.d.ts +16 -0
  50. package/dist/daemon/context-writer.d.ts.map +1 -0
  51. package/dist/daemon/context-writer.js +35 -0
  52. package/dist/daemon/context-writer.js.map +1 -0
  53. package/dist/daemon/entry.d.ts +7 -0
  54. package/dist/daemon/entry.d.ts.map +1 -0
  55. package/dist/daemon/entry.js +17 -0
  56. package/dist/daemon/entry.js.map +1 -0
  57. package/dist/daemon/event-queue.d.ts +52 -0
  58. package/dist/daemon/event-queue.d.ts.map +1 -0
  59. package/dist/daemon/event-queue.js +255 -0
  60. package/dist/daemon/event-queue.js.map +1 -0
  61. package/dist/daemon/file-watcher.d.ts +19 -0
  62. package/dist/daemon/file-watcher.d.ts.map +1 -0
  63. package/dist/daemon/file-watcher.js +87 -0
  64. package/dist/daemon/file-watcher.js.map +1 -0
  65. package/dist/daemon/index.d.ts +29 -0
  66. package/dist/daemon/index.d.ts.map +1 -0
  67. package/dist/daemon/index.js +296 -0
  68. package/dist/daemon/index.js.map +1 -0
  69. package/dist/daemon/jsonl-watcher.d.ts +49 -0
  70. package/dist/daemon/jsonl-watcher.d.ts.map +1 -0
  71. package/dist/daemon/jsonl-watcher.js +258 -0
  72. package/dist/daemon/jsonl-watcher.js.map +1 -0
  73. package/dist/daemon/meta-cache.d.ts +63 -0
  74. package/dist/daemon/meta-cache.d.ts.map +1 -0
  75. package/dist/daemon/meta-cache.js +249 -0
  76. package/dist/daemon/meta-cache.js.map +1 -0
  77. package/dist/daemon/session-state.d.ts +19 -0
  78. package/dist/daemon/session-state.d.ts.map +1 -0
  79. package/dist/daemon/session-state.js +132 -0
  80. package/dist/daemon/session-state.js.map +1 -0
  81. package/dist/daemon/shutdown.d.ts +21 -0
  82. package/dist/daemon/shutdown.d.ts.map +1 -0
  83. package/dist/daemon/shutdown.js +164 -0
  84. package/dist/daemon/shutdown.js.map +1 -0
  85. package/dist/index.js +24 -3
  86. package/dist/index.js.map +1 -1
  87. package/dist/lib/agent-composer.d.ts +38 -0
  88. package/dist/lib/agent-composer.d.ts.map +1 -0
  89. package/dist/lib/agent-composer.js +128 -0
  90. package/dist/lib/agent-composer.js.map +1 -0
  91. package/dist/lib/agent-generator.d.ts +22 -0
  92. package/dist/lib/agent-generator.d.ts.map +1 -0
  93. package/dist/lib/agent-generator.js +150 -0
  94. package/dist/lib/agent-generator.js.map +1 -0
  95. package/dist/lib/ast-parser.d.ts +11 -0
  96. package/dist/lib/ast-parser.d.ts.map +1 -0
  97. package/dist/lib/ast-parser.js +282 -0
  98. package/dist/lib/ast-parser.js.map +1 -0
  99. package/dist/lib/compile-rules.d.ts +66 -0
  100. package/dist/lib/compile-rules.d.ts.map +1 -0
  101. package/dist/lib/compile-rules.js +114 -0
  102. package/dist/lib/compile-rules.js.map +1 -0
  103. package/dist/lib/compiler.d.ts +105 -0
  104. package/dist/lib/compiler.d.ts.map +1 -0
  105. package/dist/lib/compiler.js +368 -0
  106. package/dist/lib/compiler.js.map +1 -0
  107. package/dist/lib/config.d.ts +7 -2
  108. package/dist/lib/config.d.ts.map +1 -1
  109. package/dist/lib/config.js +34 -3
  110. package/dist/lib/config.js.map +1 -1
  111. package/dist/lib/meta-index.d.ts +19 -0
  112. package/dist/lib/meta-index.d.ts.map +1 -0
  113. package/dist/lib/meta-index.js +573 -0
  114. package/dist/lib/meta-index.js.map +1 -0
  115. package/dist/lib/project.js +1 -1
  116. package/dist/lib/project.js.map +1 -1
  117. package/dist/lib/skill-generator.d.ts +32 -0
  118. package/dist/lib/skill-generator.d.ts.map +1 -0
  119. package/dist/lib/skill-generator.js +187 -0
  120. package/dist/lib/skill-generator.js.map +1 -0
  121. package/dist/lib/template.d.ts +16 -2
  122. package/dist/lib/template.d.ts.map +1 -1
  123. package/dist/lib/template.js +115 -20
  124. package/dist/lib/template.js.map +1 -1
  125. package/dist/lib/ui-index.d.ts +12 -0
  126. package/dist/lib/ui-index.d.ts.map +1 -0
  127. package/dist/lib/ui-index.js +239 -0
  128. package/dist/lib/ui-index.js.map +1 -0
  129. package/dist/lib/ui-parser.d.ts +12 -0
  130. package/dist/lib/ui-parser.d.ts.map +1 -0
  131. package/dist/lib/ui-parser.js +472 -0
  132. package/dist/lib/ui-parser.js.map +1 -0
  133. package/dist/lib/update-check.d.ts +6 -0
  134. package/dist/lib/update-check.d.ts.map +1 -0
  135. package/dist/lib/update-check.js +121 -0
  136. package/dist/lib/update-check.js.map +1 -0
  137. package/dist/lib/upgrade-backup.d.ts +33 -0
  138. package/dist/lib/upgrade-backup.d.ts.map +1 -0
  139. package/dist/lib/upgrade-backup.js +101 -0
  140. package/dist/lib/upgrade-backup.js.map +1 -0
  141. package/dist/lib/version.d.ts +19 -0
  142. package/dist/lib/version.d.ts.map +1 -0
  143. package/dist/lib/version.js +35 -0
  144. package/dist/lib/version.js.map +1 -0
  145. package/dist/lib/workflow-state.d.ts +48 -0
  146. package/dist/lib/workflow-state.d.ts.map +1 -0
  147. package/dist/lib/workflow-state.js +67 -0
  148. package/dist/lib/workflow-state.js.map +1 -0
  149. package/dist/types/config.d.ts +103 -2
  150. package/dist/types/config.d.ts.map +1 -1
  151. package/dist/types/config.js +184 -9
  152. package/dist/types/config.js.map +1 -1
  153. package/dist/types/feedback.d.ts +7 -0
  154. package/dist/types/feedback.d.ts.map +1 -1
  155. package/dist/types/feedback.js +1 -1
  156. package/dist/types/feedback.js.map +1 -1
  157. package/dist/types/index.d.ts +3 -0
  158. package/dist/types/index.d.ts.map +1 -1
  159. package/dist/types/index.js +3 -0
  160. package/dist/types/index.js.map +1 -1
  161. package/dist/types/meta-index.d.ts +146 -0
  162. package/dist/types/meta-index.d.ts.map +1 -0
  163. package/dist/types/meta-index.js +7 -0
  164. package/dist/types/meta-index.js.map +1 -0
  165. package/dist/types/project.d.ts +19 -3
  166. package/dist/types/project.d.ts.map +1 -1
  167. package/dist/types/project.js +23 -0
  168. package/dist/types/project.js.map +1 -1
  169. package/dist/types/task-log.d.ts +208 -0
  170. package/dist/types/task-log.d.ts.map +1 -0
  171. package/dist/types/task-log.js +6 -0
  172. package/dist/types/task-log.js.map +1 -0
  173. package/dist/types/ui-meta.d.ts +118 -0
  174. package/dist/types/ui-meta.d.ts.map +1 -0
  175. package/dist/types/ui-meta.js +7 -0
  176. package/dist/types/ui-meta.js.map +1 -0
  177. package/package.json +12 -4
  178. package/templates/base/agents/base/tsq-architect.md +68 -0
  179. package/templates/base/agents/base/tsq-dba.md +56 -0
  180. package/templates/base/agents/base/tsq-designer.md +72 -0
  181. package/templates/base/agents/base/tsq-developer.md +67 -0
  182. package/templates/base/agents/base/tsq-qa.md +55 -0
  183. package/templates/base/agents/base/tsq-security.md +65 -0
  184. package/templates/base/agents/overlays/domain/general-web/_common.md +11 -0
  185. package/templates/base/agents/overlays/domain/mobile/_common.md +13 -0
  186. package/templates/base/agents/overlays/platform/claude-code.md +12 -0
  187. package/templates/base/config.template.yaml +213 -0
  188. package/templates/base/knowledge/checklists/accessibility.md +37 -0
  189. package/templates/base/knowledge/checklists/architecture-review.md +28 -0
  190. package/templates/base/knowledge/checklists/database-standards.md +84 -0
  191. package/templates/base/knowledge/checklists/design-reference.md +97 -0
  192. package/templates/base/knowledge/checklists/security.md +50 -0
  193. package/templates/base/knowledge/checklists/ssot-validation.md +19 -0
  194. package/templates/base/knowledge/domains/_template.md +16 -0
  195. package/templates/base/knowledge/platforms/_template.md +16 -0
  196. package/templates/base/knowledge/templates/sequence-report.md +44 -0
  197. package/templates/base/knowledge/templates/task-result.md +105 -0
  198. package/templates/base/skills/_template/SKILL.md +59 -0
  199. package/templates/base/skills/_template/references/_template.md +35 -0
  200. package/templates/base/skills/_template/rules/_sections.md +34 -0
  201. package/templates/base/skills/_template/rules/_template.md +32 -0
  202. package/templates/base/skills/_template/scripts/_template.sh +31 -0
  203. package/templates/base/skills/architecture/SKILL.md +54 -0
  204. package/templates/base/skills/architecture/references/adr-template.md +50 -0
  205. package/templates/base/skills/architecture/references/api-design.md +64 -0
  206. package/templates/base/skills/backend/node/SKILL.md +81 -0
  207. package/templates/base/skills/backend/node/rules/async-patterns.md +81 -0
  208. package/templates/base/skills/backend/node/rules/deployment.md +33 -0
  209. package/templates/base/skills/backend/node/rules/env-config.md +41 -0
  210. package/templates/base/skills/backend/node/rules/error-handling.md +83 -0
  211. package/templates/base/skills/backend/node/rules/hono-app-setup.md +98 -0
  212. package/templates/base/skills/backend/node/rules/jwt-auth.md +76 -0
  213. package/templates/base/skills/backend/node/rules/middleware.md +56 -0
  214. package/templates/base/skills/backend/node/rules/testing.md +82 -0
  215. package/templates/base/skills/coding/SKILL.md +47 -0
  216. package/templates/base/skills/coding/rules/patterns.md +81 -0
  217. package/templates/base/skills/controller/SKILL.md +111 -0
  218. package/templates/base/skills/controller/references/README.md +35 -0
  219. package/templates/base/skills/controller/rules/README.md +18 -0
  220. package/templates/base/skills/database/SKILL.md +98 -0
  221. package/templates/base/skills/database/prisma/SKILL.md +57 -0
  222. package/templates/base/skills/database/prisma/rules/queries.md +133 -0
  223. package/templates/base/skills/database/prisma/rules/schema-design.md +80 -0
  224. package/templates/base/skills/frontend/nextjs/SKILL.md +59 -0
  225. package/templates/base/skills/frontend/nextjs/rules/app-router.md +138 -0
  226. package/templates/base/skills/frontend/react/SKILL.md +86 -0
  227. package/templates/base/skills/frontend/react/rules/_sections.md +88 -0
  228. package/templates/base/skills/frontend/react/rules/anti-patterns.md +67 -0
  229. package/templates/base/skills/frontend/react/rules/async-api-routes.md +38 -0
  230. package/templates/base/skills/frontend/react/rules/async-defer-await.md +80 -0
  231. package/templates/base/skills/frontend/react/rules/async-dependencies.md +36 -0
  232. package/templates/base/skills/frontend/react/rules/async-parallel.md +28 -0
  233. package/templates/base/skills/frontend/react/rules/async-suspense-boundaries.md +99 -0
  234. package/templates/base/skills/frontend/react/rules/bundle-barrel-imports.md +59 -0
  235. package/templates/base/skills/frontend/react/rules/bundle-defer-third-party.md +49 -0
  236. package/templates/base/skills/frontend/react/rules/bundle-dynamic-imports.md +35 -0
  237. package/templates/base/skills/frontend/react/rules/component-conventions.md +74 -0
  238. package/templates/base/skills/frontend/react/rules/js-combine-iterations.md +32 -0
  239. package/templates/base/skills/frontend/react/rules/js-early-exit.md +50 -0
  240. package/templates/base/skills/frontend/react/rules/js-index-maps.md +37 -0
  241. package/templates/base/skills/frontend/react/rules/js-set-map-lookups.md +24 -0
  242. package/templates/base/skills/frontend/react/rules/rendering-conditional-render.md +40 -0
  243. package/templates/base/skills/frontend/react/rules/rendering-content-visibility.md +38 -0
  244. package/templates/base/skills/frontend/react/rules/rendering-hoist-jsx.md +46 -0
  245. package/templates/base/skills/frontend/react/rules/rerender-defer-reads.md +39 -0
  246. package/templates/base/skills/frontend/react/rules/rerender-derived-state.md +29 -0
  247. package/templates/base/skills/frontend/react/rules/rerender-memo.md +44 -0
  248. package/templates/base/skills/frontend/react/rules/rerender-transitions.md +40 -0
  249. package/templates/base/skills/frontend/react/rules/server-after-nonblocking.md +73 -0
  250. package/templates/base/skills/frontend/react/rules/server-cache-react.md +26 -0
  251. package/templates/base/skills/frontend/react/rules/server-parallel-fetching.md +79 -0
  252. package/templates/base/skills/frontend/react/rules/state-location.md +55 -0
  253. package/templates/base/skills/methodology/bdd/SKILL.md +69 -0
  254. package/templates/base/skills/methodology/bdd/rules/gherkin-patterns.md +113 -0
  255. package/templates/base/skills/methodology/ddd/SKILL.md +74 -0
  256. package/templates/base/skills/methodology/ddd/rules/strategic-patterns.md +98 -0
  257. package/templates/base/skills/methodology/debugging/SKILL.md +60 -0
  258. package/templates/base/skills/methodology/debugging/references/root-cause-tracing.md +84 -0
  259. package/templates/base/skills/methodology/tdd/SKILL.md +66 -0
  260. package/templates/base/skills/methodology/tdd/rules/real-world-example.md +88 -0
  261. package/templates/base/skills/methodology/tdd/rules/techniques.md +185 -0
  262. package/templates/base/skills/mobile/dart/SKILL.md +69 -0
  263. package/templates/base/skills/mobile/dart/rules/async-patterns.md +112 -0
  264. package/templates/base/skills/mobile/dart/rules/code-style.md +96 -0
  265. package/templates/base/skills/mobile/dart/rules/null-safety.md +84 -0
  266. package/templates/base/skills/mobile/dart/rules/type-system.md +111 -0
  267. package/templates/base/skills/mobile/flutter/SKILL.md +89 -0
  268. package/templates/base/skills/mobile/flutter/ci-cd/SKILL.md +82 -0
  269. package/templates/base/skills/mobile/flutter/ci-cd/references/ci-cd-pipeline.md +314 -0
  270. package/templates/base/skills/mobile/flutter/ci-cd/rules/code-signing.md +106 -0
  271. package/templates/base/skills/mobile/flutter/ci-cd/rules/codemagic-setup.md +116 -0
  272. package/templates/base/skills/mobile/flutter/ci-cd/rules/fastlane-setup.md +105 -0
  273. package/templates/base/skills/mobile/flutter/ci-cd/rules/github-actions.md +112 -0
  274. package/templates/base/skills/mobile/flutter/ci-cd/rules/store-deployment.md +106 -0
  275. package/templates/base/skills/mobile/flutter/ci-cd/rules/versioning.md +107 -0
  276. package/templates/base/skills/mobile/flutter/i18n/SKILL.md +78 -0
  277. package/templates/base/skills/mobile/flutter/i18n/references/i18n-architecture.md +225 -0
  278. package/templates/base/skills/mobile/flutter/i18n/rules/arb-files.md +182 -0
  279. package/templates/base/skills/mobile/flutter/i18n/rules/locale-switching.md +226 -0
  280. package/templates/base/skills/mobile/flutter/i18n/rules/localization-setup.md +137 -0
  281. package/templates/base/skills/mobile/flutter/i18n/rules/plural-gender.md +159 -0
  282. package/templates/base/skills/mobile/flutter/i18n/rules/text-direction.md +199 -0
  283. package/templates/base/skills/mobile/flutter/monitoring/SKILL.md +81 -0
  284. package/templates/base/skills/mobile/flutter/monitoring/references/monitoring-architecture.md +269 -0
  285. package/templates/base/skills/mobile/flutter/monitoring/rules/analytics.md +227 -0
  286. package/templates/base/skills/mobile/flutter/monitoring/rules/crashlytics-setup.md +195 -0
  287. package/templates/base/skills/mobile/flutter/monitoring/rules/logging.md +258 -0
  288. package/templates/base/skills/mobile/flutter/monitoring/rules/performance-monitoring.md +248 -0
  289. package/templates/base/skills/mobile/flutter/monitoring/rules/sentry-integration.md +249 -0
  290. package/templates/base/skills/mobile/flutter/networking/SKILL.md +88 -0
  291. package/templates/base/skills/mobile/flutter/networking/references/api-client-architecture.md +305 -0
  292. package/templates/base/skills/mobile/flutter/networking/rules/caching.md +212 -0
  293. package/templates/base/skills/mobile/flutter/networking/rules/connectivity.md +213 -0
  294. package/templates/base/skills/mobile/flutter/networking/rules/dio-setup.md +159 -0
  295. package/templates/base/skills/mobile/flutter/networking/rules/error-handling.md +209 -0
  296. package/templates/base/skills/mobile/flutter/networking/rules/interceptors.md +205 -0
  297. package/templates/base/skills/mobile/flutter/networking/rules/retrofit-patterns.md +194 -0
  298. package/templates/base/skills/mobile/flutter/push-notifications/SKILL.md +87 -0
  299. package/templates/base/skills/mobile/flutter/push-notifications/references/notification-architecture.md +340 -0
  300. package/templates/base/skills/mobile/flutter/push-notifications/references/platform-setup.md +286 -0
  301. package/templates/base/skills/mobile/flutter/push-notifications/rules/background-processing.md +308 -0
  302. package/templates/base/skills/mobile/flutter/push-notifications/rules/deep-linking.md +217 -0
  303. package/templates/base/skills/mobile/flutter/push-notifications/rules/fcm-setup.md +164 -0
  304. package/templates/base/skills/mobile/flutter/push-notifications/rules/local-notifications.md +262 -0
  305. package/templates/base/skills/mobile/flutter/push-notifications/rules/notification-handling.md +210 -0
  306. package/templates/base/skills/mobile/flutter/push-notifications/rules/notification-permissions.md +246 -0
  307. package/templates/base/skills/mobile/flutter/push-notifications/rules/rich-notifications.md +320 -0
  308. package/templates/base/skills/mobile/flutter/references/freezed-patterns.md +162 -0
  309. package/templates/base/skills/mobile/flutter/references/project-structure.md +170 -0
  310. package/templates/base/skills/mobile/flutter/rules/animations.md +112 -0
  311. package/templates/base/skills/mobile/flutter/rules/architecture.md +121 -0
  312. package/templates/base/skills/mobile/flutter/rules/navigation-routing.md +117 -0
  313. package/templates/base/skills/mobile/flutter/rules/performance.md +112 -0
  314. package/templates/base/skills/mobile/flutter/rules/platform-adaptive.md +126 -0
  315. package/templates/base/skills/mobile/flutter/rules/state-management.md +110 -0
  316. package/templates/base/skills/mobile/flutter/rules/testing.md +131 -0
  317. package/templates/base/skills/mobile/flutter/rules/widget-conventions.md +122 -0
  318. package/templates/base/skills/mobile/flutter/security/SKILL.md +86 -0
  319. package/templates/base/skills/mobile/flutter/security/references/mobile-security-checklist.md +168 -0
  320. package/templates/base/skills/mobile/flutter/security/rules/api-key-protection.md +206 -0
  321. package/templates/base/skills/mobile/flutter/security/rules/authentication.md +248 -0
  322. package/templates/base/skills/mobile/flutter/security/rules/data-protection.md +271 -0
  323. package/templates/base/skills/mobile/flutter/security/rules/obfuscation.md +213 -0
  324. package/templates/base/skills/mobile/flutter/security/rules/secure-storage.md +171 -0
  325. package/templates/base/skills/mobile/flutter/security/rules/ssl-pinning.md +197 -0
  326. package/templates/base/skills/planning/SKILL.md +58 -0
  327. package/templates/base/skills/planning/references/prd-guide.md +47 -0
  328. package/templates/base/skills/planning/references/requirements-guide.md +46 -0
  329. package/templates/base/skills/prompt-engineering/SKILL.md +103 -0
  330. package/templates/base/skills/retrospective/SKILL.md +102 -0
  331. package/templates/base/skills/security/SKILL.md +55 -0
  332. package/templates/base/skills/security/rules/owasp-examples.md +119 -0
  333. package/templates/base/skills/security/scripts/check-secrets.sh +55 -0
  334. package/templates/base/skills/testing/SKILL.md +63 -0
  335. package/templates/base/skills/testing/references/testing-patterns.md +103 -0
  336. package/templates/base/skills/tsq-protocol/SKILL.md +51 -0
  337. package/templates/base/skills/typescript/SKILL.md +67 -0
  338. package/templates/base/skills/typescript/rules/type-patterns.md +135 -0
  339. package/templates/base/skills/typescript/rules/utility-types.md +76 -0
  340. package/templates/base/skills/ui-design/SKILL.md +70 -0
  341. package/templates/{common → base}/timsquad/feedback/routing-rules.yaml +1 -1
  342. package/templates/{common → base}/timsquad/retrospective/metrics/metrics-schema.json +46 -1
  343. package/templates/platforms/claude-code/CLAUDE.md.template +89 -0
  344. package/templates/platforms/claude-code/rules/adr-rules.md +32 -0
  345. package/templates/platforms/claude-code/rules/feedback-routing.md +18 -0
  346. package/templates/platforms/claude-code/rules/phase-management.md +23 -0
  347. package/templates/platforms/claude-code/rules/reporting-format.md +26 -0
  348. package/templates/platforms/claude-code/rules/sequence-management.md +72 -0
  349. package/templates/platforms/claude-code/rules/workspace-sync.md +33 -0
  350. package/templates/platforms/claude-code/scripts/completion-guard.sh +57 -0
  351. package/templates/platforms/claude-code/scripts/phase-guard.sh +79 -0
  352. package/templates/platforms/claude-code/settings.json +98 -0
  353. package/templates/project-types/api-backend/config.yaml +227 -0
  354. package/templates/project-types/api-backend/process/workflow.xml +214 -0
  355. package/templates/project-types/fintech/config.yaml +151 -0
  356. package/templates/project-types/fintech/process/workflow.xml +316 -0
  357. package/templates/project-types/infra/config.yaml +327 -0
  358. package/templates/project-types/infra/process/workflow.xml +296 -0
  359. package/templates/project-types/mobile-app/config.yaml +123 -0
  360. package/templates/project-types/mobile-app/process/workflow.xml +191 -0
  361. package/templates/project-types/platform/config.yaml +254 -0
  362. package/templates/project-types/platform/process/workflow.xml +254 -0
  363. package/templates/project-types/web-app/config.yaml +198 -0
  364. package/templates/project-types/web-app/process/workflow.xml +210 -0
  365. package/templates/project-types/web-service/config.yaml +136 -0
  366. package/templates/project-types/web-service/process/workflow.xml +184 -0
  367. package/templates/common/CLAUDE.md.template +0 -254
  368. package/templates/common/claude/agents/tsq-dba.md +0 -311
  369. package/templates/common/claude/agents/tsq-designer.md +0 -323
  370. package/templates/common/claude/agents/tsq-developer.md +0 -177
  371. package/templates/common/claude/agents/tsq-planner.md +0 -190
  372. package/templates/common/claude/agents/tsq-prompter.md +0 -356
  373. package/templates/common/claude/agents/tsq-qa.md +0 -168
  374. package/templates/common/claude/agents/tsq-retro.md +0 -193
  375. package/templates/common/claude/agents/tsq-security.md +0 -221
  376. package/templates/common/claude/hooks/auto-metrics.sh +0 -165
  377. package/templates/common/claude/hooks/auto-worklog.sh +0 -245
  378. package/templates/common/claude/hooks/event-logger.sh +0 -208
  379. package/templates/common/claude/settings.json +0 -86
  380. package/templates/common/claude/skills/architecture/SKILL.md +0 -123
  381. package/templates/common/claude/skills/backend/node/SKILL.md +0 -1015
  382. package/templates/common/claude/skills/coding/SKILL.md +0 -171
  383. package/templates/common/claude/skills/database/prisma/SKILL.md +0 -357
  384. package/templates/common/claude/skills/frontend/nextjs/SKILL.md +0 -279
  385. package/templates/common/claude/skills/frontend/react/SKILL.md +0 -1729
  386. package/templates/common/claude/skills/methodology/bdd/SKILL.md +0 -234
  387. package/templates/common/claude/skills/methodology/ddd/SKILL.md +0 -311
  388. package/templates/common/claude/skills/methodology/tdd/SKILL.md +0 -512
  389. package/templates/common/claude/skills/planning/SKILL.md +0 -90
  390. package/templates/common/claude/skills/security/SKILL.md +0 -234
  391. package/templates/common/claude/skills/testing/SKILL.md +0 -146
  392. package/templates/common/claude/skills/typescript/SKILL.md +0 -435
  393. package/templates/common/config.template.yaml +0 -132
  394. /package/templates/{common → base}/timsquad/architectures/clean/ARCHITECTURE.md +0 -0
  395. /package/templates/{common → base}/timsquad/architectures/clean/backend.xml +0 -0
  396. /package/templates/{common → base}/timsquad/architectures/clean/frontend.xml +0 -0
  397. /package/templates/{common → base}/timsquad/architectures/fsd/ARCHITECTURE.md +0 -0
  398. /package/templates/{common → base}/timsquad/architectures/fsd/frontend.xml +0 -0
  399. /package/templates/{common → base}/timsquad/architectures/hexagonal/ARCHITECTURE.md +0 -0
  400. /package/templates/{common → base}/timsquad/architectures/hexagonal/backend.xml +0 -0
  401. /package/templates/{common → base}/timsquad/constraints/competency-framework.xml +0 -0
  402. /package/templates/{common → base}/timsquad/constraints/ssot-schema.xml +0 -0
  403. /package/templates/{common → base}/timsquad/feedback/feedback-router.sh +0 -0
  404. /package/templates/{common → base}/timsquad/generators/data-design.xml +0 -0
  405. /package/templates/{common → base}/timsquad/generators/prd.xml +0 -0
  406. /package/templates/{common → base}/timsquad/generators/requirements.xml +0 -0
  407. /package/templates/{common → base}/timsquad/generators/service-spec.xml +0 -0
  408. /package/templates/{common → base}/timsquad/logs/_example.md +0 -0
  409. /package/templates/{common → base}/timsquad/logs/_template.md +0 -0
  410. /package/templates/{common → base}/timsquad/patterns/cqrs.xml +0 -0
  411. /package/templates/{common → base}/timsquad/patterns/event-sourcing.xml +0 -0
  412. /package/templates/{common → base}/timsquad/patterns/repository.xml +0 -0
  413. /package/templates/{common → base}/timsquad/process/phase-checklist.yaml +0 -0
  414. /package/templates/{common → base}/timsquad/process/state-machine.xml +0 -0
  415. /package/templates/{common → base}/timsquad/process/validation-rules.xml +0 -0
  416. /package/templates/{common → base}/timsquad/process/workflow-base.xml +0 -0
  417. /package/templates/{common → base}/timsquad/retrospective/cycle-report.template.md +0 -0
  418. /package/templates/{common → base}/timsquad/retrospective/patterns/failure-patterns.md +0 -0
  419. /package/templates/{common → base}/timsquad/retrospective/patterns/success-patterns.md +0 -0
  420. /package/templates/{common → base}/timsquad/retrospective/retrospective-config.xml +0 -0
  421. /package/templates/{common → base}/timsquad/retrospective/retrospective-state.xml +0 -0
  422. /package/templates/{common → base}/timsquad/ssot/adr/ADR-000-template.md +0 -0
  423. /package/templates/{common → base}/timsquad/ssot/adr/ADR-001-example.md +0 -0
  424. /package/templates/{common → base}/timsquad/ssot/data-design.template.md +0 -0
  425. /package/templates/{common → base}/timsquad/ssot/deployment-spec.template.md +0 -0
  426. /package/templates/{common → base}/timsquad/ssot/env-config.template.md +0 -0
  427. /package/templates/{common → base}/timsquad/ssot/error-codes.template.md +0 -0
  428. /package/templates/{common → base}/timsquad/ssot/functional-spec.template.md +0 -0
  429. /package/templates/{common → base}/timsquad/ssot/glossary.template.md +0 -0
  430. /package/templates/{common → base}/timsquad/ssot/integration-spec.template.md +0 -0
  431. /package/templates/{common → base}/timsquad/ssot/planning.template.md +0 -0
  432. /package/templates/{common → base}/timsquad/ssot/prd.template.md +0 -0
  433. /package/templates/{common → base}/timsquad/ssot/requirements.template.md +0 -0
  434. /package/templates/{common → base}/timsquad/ssot/security-spec.template.md +0 -0
  435. /package/templates/{common → base}/timsquad/ssot/service-spec.template.md +0 -0
  436. /package/templates/{common → base}/timsquad/ssot/test-spec.template.md +0 -0
  437. /package/templates/{common → base}/timsquad/ssot/ui-ux-spec.template.md +0 -0
  438. /package/templates/{common → base}/timsquad/state/workspace.xml +0 -0
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: ui-design
3
+ description: |
4
+ UI/UX 설계 방법론.
5
+ 와이어프레임 표기법, 사용자 플로우 다이어그램, 화면 설계 프로세스.
6
+ Use when: 화면 설계, 와이어프레임, UX 플로우, 프로토타이핑
7
+ version: "1.0.0"
8
+ tags: [ui, ux, design]
9
+ user-invocable: false
10
+ ---
11
+
12
+ # UI/UX Design Methodology
13
+
14
+ ## 와이어프레임 표기법
15
+
16
+ ```
17
+ +---------------------------------------------+ <- 컨테이너
18
+ | +------------------------------------------+| <- 헤더
19
+ | | [로고] [메뉴] [프로필] ||
20
+ | +------------------------------------------+|
21
+ | |
22
+ | +----------+ +----------------------------+ | <- 2컬럼
23
+ | | 사이드바 | | 메인 콘텐츠 | |
24
+ | | | | | |
25
+ | | * 메뉴1 | | +------+ +------+ | | <- 카드
26
+ | | * 메뉴2 | | |카드1 | |카드2 | | |
27
+ | | | | +------+ +------+ | |
28
+ | +----------+ +----------------------------+ |
29
+ | |
30
+ | +------------------------------------------+| <- 푸터
31
+ | | (c) 2026 Company ||
32
+ | +------------------------------------------+|
33
+ +---------------------------------------------+
34
+ ```
35
+
36
+ ### 표기 규칙
37
+
38
+ | 기호 | 의미 |
39
+ |-----|------|
40
+ | `[텍스트]` | 버튼/링크 |
41
+ | `(텍스트)` | 아이콘 |
42
+ | `{입력}` | 입력 필드 |
43
+ | `* 항목` | 리스트 아이템 |
44
+ | `[x]` / `[ ]` | 체크박스 |
45
+ | `(*)` / `( )` | 라디오 버튼 |
46
+ | `[v]` | 드롭다운 |
47
+ | `===` | 구분선 |
48
+ | `...` | 로딩/생략 |
49
+
50
+ ## 사용자 플로우 표기
51
+
52
+ ```
53
+ [시작] -> (조건) -> [액션] -> [결과]
54
+ |
55
+ [대안 경로]
56
+
57
+ 예시:
58
+ [로그인 페이지] -> (회원?) -> [대시보드]
59
+ | No
60
+ [회원가입]
61
+ ```
62
+
63
+ ## 설계 프로세스
64
+
65
+ 1. SSOT(ui-ux-spec.md) 확인
66
+ 2. 사용자 플로우 다이어그램 작성
67
+ 3. 와이어프레임 작성 (ASCII)
68
+ 4. 컴포넌트 목록 + 인터랙션 정의
69
+ 5. 반응형 처리 명시
70
+ 6. 접근성 검토 (knowledge/checklists/accessibility.md 참조)
@@ -303,7 +303,7 @@ notifications:
303
303
  [Level 2] 설계 수정 필요
304
304
  패턴: {{pattern}}
305
305
  영향: {{impact}}
306
- 담당: @tsq-planner (architect)
306
+ 담당: 메인세션(PM) - SSOT 직접 수정
307
307
  SSOT 업데이트 필요
308
308
 
309
309
  level_3: |
@@ -103,6 +103,50 @@
103
103
  "required": ["id", "name", "frequency"]
104
104
  },
105
105
 
106
+ "taskMetrics": {
107
+ "type": "object",
108
+ "description": "Task JSON 기반 태스크 수준 메트릭",
109
+ "properties": {
110
+ "total": {
111
+ "type": "integer",
112
+ "description": "총 태스크 수"
113
+ },
114
+ "completed": {
115
+ "type": "integer",
116
+ "description": "완료 태스크 수"
117
+ },
118
+ "failed": {
119
+ "type": "integer",
120
+ "description": "실패 태스크 수"
121
+ },
122
+ "success_rate": {
123
+ "type": "number",
124
+ "minimum": 0,
125
+ "maximum": 100,
126
+ "description": "성공률 (%)"
127
+ },
128
+ "total_files_changed": {
129
+ "type": "integer",
130
+ "description": "총 변경 파일 수"
131
+ },
132
+ "avg_files_per_task": {
133
+ "type": "number",
134
+ "description": "태스크당 평균 변경 파일 수"
135
+ },
136
+ "semantic_coverage": {
137
+ "type": "number",
138
+ "minimum": 0,
139
+ "maximum": 100,
140
+ "description": "semantic 데이터 채움 비율 (%)"
141
+ },
142
+ "error_types": {
143
+ "type": "object",
144
+ "additionalProperties": { "type": "integer" },
145
+ "description": "에러 타입별 카운트 (build_failure, test_failure 등)"
146
+ }
147
+ }
148
+ },
149
+
106
150
  "improvement": {
107
151
  "type": "object",
108
152
  "properties": {
@@ -160,7 +204,8 @@
160
204
  "total_tasks": { "type": "integer" },
161
205
  "success_rate": { "type": "number" },
162
206
  "avg_revision_count": { "type": "number" },
163
- "level_3_feedback_count": { "type": "integer" }
207
+ "level_3_feedback_count": { "type": "integer" },
208
+ "task_metrics": { "$ref": "#/definitions/taskMetrics" }
164
209
  }
165
210
  },
166
211
  "agents": {
@@ -0,0 +1,89 @@
1
+ # {{PROJECT_NAME}}
2
+
3
+ > TimSquad v3.1으로 관리되는 프로젝트입니다.
4
+
5
+ <timsquad-initialization>
6
+ 이 프로젝트는 TimSquad 프레임워크를 사용합니다.
7
+ `.timsquad/` 디렉토리가 없으면 진행을 중단하고 사용자에게 알리세요:
8
+ "TimSquad 프로젝트가 초기화되지 않았습니다. `tsq init --type {{PROJECT_TYPE}}`을 실행하세요."
9
+ </timsquad-initialization>
10
+
11
+ ## 역할: Project Manager
12
+
13
+ 당신은 이 프로젝트의 PM입니다. 사용자와 직접 소통하며, 작업을 분류하여 서브에이전트에 위임합니다.
14
+
15
+ ### 핵심 책임
16
+ 1. **요구사항 수집** — 사용자와 소통, 진행 보고, 승인 요청
17
+ 2. **작업 위임** — 적절한 서브에이전트에게 배분
18
+ 3. **기획** — 최초 기획 + 변경 시 (`skills/planning/` 활용)
19
+ 4. **리뷰** — architect 보고서 기반 시퀀스 검토
20
+ 5. **SSOT 관리** — 문서 일관성과 최신성 유지
21
+ 6. **피드백 라우팅** — L1/L2/L3 분류 후 적절한 담당자 전달
22
+
23
+ ### 활성 서브에이전트
24
+
25
+ {{ACTIVE_AGENTS}}
26
+
27
+ ---
28
+
29
+ ## 필수 참조 파일
30
+
31
+ 작업 전 반드시 확인:
32
+ - `.timsquad/config.yaml` — 프로젝트 설정
33
+ - `.timsquad/state/current-phase.json` — 현재 Phase
34
+ - `.timsquad/state/workspace.xml` — 실시간 작업 상태
35
+ - `.timsquad/ssot/` — SSOT 문서들
36
+ - `.claude/knowledge/` — 참조 지식
37
+
38
+ ## 서브에이전트 위임 규칙
39
+
40
+ <rules>
41
+ <must>서브에이전트 위임은 controller skill의 프로세스를 따를 것</must>
42
+ <must>위임 전 해당 에이전트의 prerequisites가 compiled spec으로 존재하는지 확인</must>
43
+ <must>compiled spec의 stale 여부를 .compile-manifest.json으로 확인</must>
44
+ <must-not>controller 우회하여 Task() 직접 호출</must-not>
45
+ <must-not>compiled spec 없이 서브에이전트 실행</must-not>
46
+ </rules>
47
+
48
+ {{DELEGATION_RULES}}
49
+
50
+ ---
51
+
52
+ ## 작업 모드 분류
53
+
54
+ <task-classification>
55
+ 사용자가 `tsq f` 또는 `tsq q` 없이 직접 작업을 지시하면, 실행 전에 반드시 모드를 분류한다.
56
+
57
+ <quick-indicators>CSS, 스타일, 오타, typo, 색상, 텍스트, 변수명, 간단한 버그, 1-2줄 수정</quick-indicators>
58
+ <full-indicators>새 기능, API, DB, 구조 변경, 인증, 아키텍처, 리팩토링, 여러 파일 수정</full-indicators>
59
+
60
+ <rules>
61
+ <must>Full로 판단되면 사용자에게 확인 후 진행:
62
+ "이 작업은 Full 모드로 진행합니다 (SSOT 검증 + controller 경유). 진행할까요?"</must>
63
+ <must>Quick으로 판단되면 바로 진행하되 모드를 명시:
64
+ "Quick 모드로 바로 진행합니다."</must>
65
+ <must>판단이 모호하면 사용자에게 선택지를 제시</must>
66
+ </rules>
67
+ </task-classification>
68
+
69
+ ## 작업 원칙
70
+
71
+ 1. 요구사항에 여러 해석이 가능하면 조용히 선택하지 말고 **선택지를 제시**하라
72
+ 2. 구현 전에 **검증 기준**(테스트 or 확인 방법)을 먼저 명시하라
73
+
74
+ ## 금지 사항
75
+
76
+ - SSOT 문서 없이 구현 시작 금지
77
+ - User 승인 없이 Level 3 변경 금지
78
+ - 에이전트 간 직접 통신 금지 (모든 조율은 PM 통해)
79
+ - 로그 기록 없이 작업 완료 선언 금지
80
+ - Phase 전환 조건 미충족 시 다음 Phase 진행 금지
81
+
82
+ ## 상세 규칙
83
+
84
+ Phase 관리, 시퀀스 관리, workspace 동기화, 피드백 라우팅, ADR, 보고 형식 등
85
+ 상세 규칙은 `.claude/rules/`에 정의되어 있습니다. 관련 작업 시 자동 로드됩니다.
86
+
87
+ ---
88
+
89
+ **타입**: {{PROJECT_TYPE}} | **레벨**: {{PROJECT_LEVEL}} | **초기화**: {{INIT_DATE}}
@@ -0,0 +1,32 @@
1
+ ---
2
+ description: ADR (Architecture Decision Record) 작성 규칙.
3
+ globs:
4
+ - ".timsquad/ssot/ADR-*"
5
+ ---
6
+
7
+ # ADR (Architecture Decision Record)
8
+
9
+ ## 작성 트리거
10
+ - 기술 스택 선택/변경
11
+ - 아키텍처 패턴 결정
12
+ - 외부 서비스 연동 방식 결정
13
+ - 데이터 모델 중요 결정 (비정규화 등)
14
+
15
+ ## 형식
16
+ ```markdown
17
+ ## ADR-XXX: {결정 제목}
18
+
19
+ ### Context
20
+ {결정이 필요한 배경}
21
+
22
+ ### Decision
23
+ {결정 내용}
24
+
25
+ ### Consequences
26
+ - 장점: ...
27
+ - 단점: ...
28
+ - 대응: ...
29
+ ```
30
+
31
+ ## 저장 위치
32
+ `.timsquad/ssot/ADR-XXX.md`
@@ -0,0 +1,18 @@
1
+ ---
2
+ description: 피드백 라우팅 규칙. Level 1/2/3 분류 기준과 라우팅.
3
+ globs:
4
+ - ".timsquad/feedback/**"
5
+ ---
6
+
7
+ # 피드백 라우팅
8
+
9
+ | Level | 심각도 | 트리거 | 라우팅 | 액션 |
10
+ |-------|--------|--------|--------|------|
11
+ | L1 | Minor/Major | 테스트 실패, 린트 오류, 코드 스타일 | @tsq-developer | 수정 요청 |
12
+ | L2 | Major | API 불일치, 설계 문제, 성능 구조 | PM 직접 처리 | SSOT 수정 |
13
+ | L3 | Critical | 요구사항 오류, 비즈니스 로직, 스코프 변경 | PM → 사용자 | 승인 요청 |
14
+
15
+ ## 규칙
16
+ - User 승인 없이 Level 3 변경 금지
17
+ - 모든 피드백에 Level 분류 필수
18
+ - `tsq feedback "{설명}"` 으로 기록 (직접 파일 생성 금지)
@@ -0,0 +1,23 @@
1
+ ---
2
+ description: Phase 관리 규칙. Phase 전환, 허용/금지 작업, 종료 조건.
3
+ globs:
4
+ - ".timsquad/state/**"
5
+ - ".timsquad/ssot/**"
6
+ ---
7
+
8
+ # Phase 관리
9
+
10
+ 현재 Phase: `.timsquad/state/current-phase.json` 확인
11
+
12
+ | Phase | 허용 작업 | 금지 | 종료 조건 |
13
+ |-------|----------|------|----------|
14
+ | planning | SSOT 작성, 아키텍처 설계, ADR | 코드 구현 | User 승인 |
15
+ | design | UI/UX 설계, 와이어프레임 | 코드 구현 | User 승인 |
16
+ | implementation | 코드 구현, 테스트 작성 | SSOT 임의 수정 | 테스트+린트 통과 |
17
+ | review | 코드 리뷰, 검증 | 코드 직접 수정 | QA 체크리스트 통과 |
18
+ | security | 보안 검토 | 코드 직접 수정 | Critical/High 취약점 없음 |
19
+ | deployment | 배포 | - | 배포 완료 |
20
+
21
+ ## Phase 종료 시
22
+ - `skills/retrospective/SKILL.md`를 활용하여 회고 실행
23
+ - Phase 전환 조건 미충족 시 다음 Phase 진행 금지
@@ -0,0 +1,26 @@
1
+ ---
2
+ description: PM 진행 상황 보고 형식.
3
+ ---
4
+
5
+ # 보고 형식
6
+
7
+ ## 진행 상황 보고 (사용자에게)
8
+
9
+ ```markdown
10
+ ## 현재 상태
11
+ - Phase: {current_phase}
12
+ - 진행률: {progress}%
13
+
14
+ ## 완료된 작업
15
+ - {completed_task_1}
16
+ - {completed_task_2}
17
+
18
+ ## 진행 중인 작업
19
+ - {in_progress_task}
20
+
21
+ ## 다음 단계
22
+ - {next_step}
23
+
24
+ ## 필요한 결정/승인
25
+ - {decision_needed} (있는 경우)
26
+ ```
@@ -0,0 +1,72 @@
1
+ ---
2
+ description: 시퀀스 관리 규칙. 네이밍, 자동화 파이프라인, 수동 모드.
3
+ globs:
4
+ - ".timsquad/logs/**"
5
+ - ".timsquad/state/workspace.xml"
6
+ ---
7
+
8
+ # 시퀀스 관리
9
+
10
+ 태스크를 시퀀스로 그룹화하여 관리합니다.
11
+
12
+ ## PM 자동 등록 프로토콜
13
+
14
+ 사용자가 작업을 요청하면 `.timsquad/config.yaml`의 `naming` 섹션을 읽고
15
+ Phase/Sequence/Task ID를 **자동 생성**하여 등록하세요. 사용자에게 수동 명령을 요구하지 마세요.
16
+
17
+ **네이밍 규칙** (config.yaml → naming 참조):
18
+ - Phase ID: `P{N}` — planning=P1, design=P2, implementation=P3, review=P4, security=P5, deployment=P6
19
+ - Sequence ID: `P{N}-S{NNN}` — 페이즈 내 시퀀스 번호 (zero-padded)
20
+ - Task ID: `P{N}-S{NNN}-T{NNN}` — 시퀀스 내 태스크 번호 (zero-padded)
21
+ - 번호는 `tsq wf status`로 기존 시퀀스를 확인한 후 이어서 부여
22
+
23
+ **흐름 예시**:
24
+ ```
25
+ 사용자: "인증 기능이랑 결제 API 구현해줘"
26
+ PM 내부 처리:
27
+ 1. config.yaml → naming.phase.order → implementation = P3
28
+ 2. tsq wf set-phase P3
29
+ 3. tsq wf add-sequence P3-S001 --agents developer,dba
30
+ 4. tsq wf add-sequence P3-S002 --agents developer,security
31
+ 5. @tsq-developer "P3-S001: 인증 구현"
32
+ ```
33
+
34
+ ## 자동화 파이프라인 (데몬 기반)
35
+
36
+ ```
37
+ SessionStart → tsq daemon start
38
+ ├─ JSONL 스트림 실시간 감시
39
+ ├─ 인메모리 메타인덱스 로드
40
+ └─ 소스 파일 변경 감시
41
+
42
+ SubagentStop 감지 시:
43
+ ├─ L1 태스크 로그 자동 생성
44
+ ├─ workflow.json 업데이트
45
+ └─ 시퀀스 완료 → L2 자동 → 페이즈 완료 → L3 + Gate + 회고
46
+
47
+ SessionEnd → tsq daemon stop
48
+ ├─ worklog markdown 생성
49
+ ├─ 최종 메트릭 갱신
50
+ └─ 정리
51
+ ```
52
+
53
+ ## 자동화 토글
54
+ ```bash
55
+ tsq wf config sequence_log off # L2 자동 생성 끄기
56
+ tsq wf config retro off # 자동 회고 끄기
57
+ tsq wf status # 현재 상태 확인
58
+ ```
59
+
60
+ ## 수동 모드 (자동화 꺼진 경우)
61
+
62
+ ### Architect 호출
63
+ 시퀀스 완료 후 `@tsq-architect` 호출:
64
+ - `seq_id`, `task_logs`, `ssot_refs` 필수
65
+ - 보고서 저장: `.timsquad/reports/{SEQ-ID}-report.md`
66
+
67
+ ### 수동 L2/L3 생성
68
+ ```bash
69
+ tsq log sequence create {SEQ-ID} --phase {phase} --report {path} --verdict proceed
70
+ tsq log phase create {phase-id} --sequences "SEQ-01,SEQ-02"
71
+ tsq log phase gate {phase-id}
72
+ ```
@@ -0,0 +1,33 @@
1
+ ---
2
+ description: workspace.xml 실시간 상태 관리 규칙.
3
+ globs:
4
+ - ".timsquad/state/workspace.xml"
5
+ ---
6
+
7
+ # Workspace 동기화
8
+
9
+ `.timsquad/state/workspace.xml`은 에이전트 간 실시간 상태 공유 파일입니다.
10
+
11
+ ## 필수 업데이트 시점
12
+ - 작업 시작 시: `<current-task>` 업데이트
13
+ - 작업 완료 시: `<completed-tasks>`로 이동, `<pending-tasks>` 업데이트
14
+ - 에이전트 전환 시: `<handoff>` 작성
15
+ - 이슈 발생 시: `<blockers>` 추가
16
+ - 승인 필요 시: `<pending-approvals>` 추가
17
+
18
+ ## 주요 노드
19
+ ```
20
+ /workspace/current-task - 현재 진행 중인 작업
21
+ /workspace/pending-tasks - 대기 중인 작업 목록
22
+ /workspace/completed-tasks - 완료된 작업 (최근 10개)
23
+ /workspace/handoff - 에이전트 간 인수인계 정보
24
+ /workspace/blockers - 블로킹 이슈
25
+ /workspace/pending-approvals - 승인 대기 항목
26
+ ```
27
+
28
+ ## Handoff 프로토콜
29
+ 에이전트 전환 시 `<handoff>` 섹션에 기록:
30
+ - from/to: 이전/다음 에이전트
31
+ - message: 전달 사항 (특이사항, 주의점)
32
+ - attachments: 참조할 SSOT 문서
33
+ - action-items: 해야 할 작업 목록
@@ -0,0 +1,57 @@
1
+ #!/bin/bash
2
+ # Completion Guard — Stop Hook
3
+ # Warns when stopping without test execution during implementation phase.
4
+ # First version: warn only (not block), to avoid disrupting workflow.
5
+ #
6
+ # Input: JSON via stdin (Claude Code hook protocol)
7
+ # Output: JSON with systemMessage (warning if applicable)
8
+
9
+ set -e
10
+
11
+ # Find project root
12
+ PROJECT_ROOT="$(pwd)"
13
+ while [ "$PROJECT_ROOT" != "/" ]; do
14
+ if [ -d "$PROJECT_ROOT/.timsquad" ]; then
15
+ break
16
+ fi
17
+ PROJECT_ROOT="$(dirname "$PROJECT_ROOT")"
18
+ done
19
+
20
+ # If not in a TimSquad project, allow
21
+ if [ ! -d "$PROJECT_ROOT/.timsquad" ]; then
22
+ echo '{}'
23
+ exit 0
24
+ fi
25
+
26
+ # Read current phase
27
+ PHASE_FILE="$PROJECT_ROOT/.timsquad/state/current-phase.json"
28
+ if [ ! -f "$PHASE_FILE" ]; then
29
+ echo '{}'
30
+ exit 0
31
+ fi
32
+
33
+ PHASE=$(jq -r '.phase // "unknown"' "$PHASE_FILE" 2>/dev/null)
34
+
35
+ # Only check during implementation phase
36
+ if [ "$PHASE" != "implementation" ]; then
37
+ echo '{}'
38
+ exit 0
39
+ fi
40
+
41
+ # Check session metrics for test execution
42
+ SESSION_STATE="$PROJECT_ROOT/.timsquad/.daemon/session-state.json"
43
+ if [ ! -f "$SESSION_STATE" ]; then
44
+ echo '{"systemMessage":"[Completion Guard] 세션 메트릭을 확인할 수 없습니다. 테스트 실행 여부를 확인해주세요."}'
45
+ exit 0
46
+ fi
47
+
48
+ # Check if any bash commands included test execution
49
+ BASH_COMMANDS=$(jq -r '.metrics.bashCommands // 0' "$SESSION_STATE" 2>/dev/null)
50
+
51
+ if [ "$BASH_COMMANDS" -eq 0 ]; then
52
+ echo '{"systemMessage":"[Completion Guard] 이번 세션에서 테스트가 실행되지 않았습니다. 완료 전 테스트 실행을 권장합니다."}'
53
+ exit 0
54
+ fi
55
+
56
+ # Allow
57
+ echo '{}'
@@ -0,0 +1,79 @@
1
+ #!/bin/bash
2
+ # Phase Guard — PreToolUse Hook
3
+ # Enforces phase restrictions on file operations.
4
+ # planning/design phase: blocks src/** writes
5
+ # implementation phase: blocks .timsquad/ssot/** writes
6
+ #
7
+ # Input: JSON via stdin (Claude Code hook protocol)
8
+ # Output: JSON with permissionDecision (allow/deny)
9
+
10
+ set -e
11
+
12
+ # Read hook input from stdin (non-blocking)
13
+ INPUT=""
14
+ if read -t 1 -r line; then
15
+ INPUT="$line"
16
+ fi
17
+
18
+ # If no input, allow (fail-open for safety)
19
+ if [ -z "$INPUT" ]; then
20
+ echo '{"hookSpecificOutput":{"permissionDecision":"allow"}}'
21
+ exit 0
22
+ fi
23
+
24
+ # Extract file path from tool input
25
+ FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // .tool_input.filePath // ""' 2>/dev/null)
26
+
27
+ # If no file path, allow (not a file operation)
28
+ if [ -z "$FILE_PATH" ] || [ "$FILE_PATH" = "null" ]; then
29
+ echo '{"hookSpecificOutput":{"permissionDecision":"allow"}}'
30
+ exit 0
31
+ fi
32
+
33
+ # Find project root (look for .timsquad directory)
34
+ PROJECT_ROOT="$(pwd)"
35
+ while [ "$PROJECT_ROOT" != "/" ]; do
36
+ if [ -d "$PROJECT_ROOT/.timsquad" ]; then
37
+ break
38
+ fi
39
+ PROJECT_ROOT="$(dirname "$PROJECT_ROOT")"
40
+ done
41
+
42
+ # If not in a TimSquad project, allow
43
+ if [ ! -d "$PROJECT_ROOT/.timsquad" ]; then
44
+ echo '{"hookSpecificOutput":{"permissionDecision":"allow"}}'
45
+ exit 0
46
+ fi
47
+
48
+ # Read current phase
49
+ PHASE_FILE="$PROJECT_ROOT/.timsquad/state/current-phase.json"
50
+ if [ ! -f "$PHASE_FILE" ]; then
51
+ echo '{"hookSpecificOutput":{"permissionDecision":"allow"}}'
52
+ exit 0
53
+ fi
54
+
55
+ PHASE=$(jq -r '.phase // "unknown"' "$PHASE_FILE" 2>/dev/null)
56
+
57
+ # Normalize file path (make relative to project root)
58
+ REL_PATH="${FILE_PATH#$PROJECT_ROOT/}"
59
+
60
+ # Phase enforcement rules
61
+ case "$PHASE" in
62
+ planning|design)
63
+ # Block source code modifications during planning/design
64
+ if echo "$REL_PATH" | grep -qE '^src/|^lib/|^app/|^pages/|^components/'; then
65
+ echo "{\"hookSpecificOutput\":{\"permissionDecision\":\"deny\"},\"systemMessage\":\"[Phase Guard] $PHASE phase에서 코드 수정이 금지됩니다. SSOT 문서 작성을 먼저 완료하세요.\"}"
66
+ exit 0
67
+ fi
68
+ ;;
69
+ implementation)
70
+ # Block SSOT modifications during implementation (prevent drift)
71
+ if echo "$REL_PATH" | grep -qE '^\.timsquad/ssot/'; then
72
+ echo "{\"hookSpecificOutput\":{\"permissionDecision\":\"deny\"},\"systemMessage\":\"[Phase Guard] implementation phase에서 SSOT 직접 수정이 금지됩니다. 변경이 필요하면 PM에게 L2 피드백을 보고하세요.\"}"
73
+ exit 0
74
+ fi
75
+ ;;
76
+ esac
77
+
78
+ # Default: allow
79
+ echo '{"hookSpecificOutput":{"permissionDecision":"allow"}}'
@@ -0,0 +1,98 @@
1
+ {
2
+ "hooks": {
3
+ "PreToolUse": [
4
+ {
5
+ "matcher": "Write|Edit",
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "bash .claude/scripts/phase-guard.sh 2>/dev/null || true",
10
+ "timeout": 3
11
+ }
12
+ ]
13
+ }
14
+ ],
15
+ "SessionStart": [
16
+ {
17
+ "hooks": [
18
+ {
19
+ "type": "command",
20
+ "command": "tsq daemon start 2>/dev/null || true",
21
+ "timeout": 5
22
+ }
23
+ ]
24
+ }
25
+ ],
26
+ "SubagentStart": [
27
+ {
28
+ "hooks": [
29
+ {
30
+ "type": "command",
31
+ "command": "tsq daemon notify subagent-start 2>/dev/null || true",
32
+ "timeout": 3
33
+ }
34
+ ]
35
+ }
36
+ ],
37
+ "SubagentStop": [
38
+ {
39
+ "hooks": [
40
+ {
41
+ "type": "command",
42
+ "command": "tsq daemon notify subagent-stop 2>/dev/null || true",
43
+ "timeout": 5
44
+ }
45
+ ]
46
+ }
47
+ ],
48
+ "PostToolUse": [
49
+ {
50
+ "hooks": [
51
+ {
52
+ "type": "command",
53
+ "command": "tsq daemon notify tool-use --status success 2>/dev/null || true",
54
+ "timeout": 3
55
+ }
56
+ ]
57
+ }
58
+ ],
59
+ "PostToolUseFailure": [
60
+ {
61
+ "hooks": [
62
+ {
63
+ "type": "command",
64
+ "command": "tsq daemon notify tool-use --status failure 2>/dev/null || true",
65
+ "timeout": 3
66
+ }
67
+ ]
68
+ }
69
+ ],
70
+ "Stop": [
71
+ {
72
+ "hooks": [
73
+ {
74
+ "type": "command",
75
+ "command": "tsq daemon notify stop 2>/dev/null || true",
76
+ "timeout": 3
77
+ },
78
+ {
79
+ "type": "command",
80
+ "command": "bash .claude/scripts/completion-guard.sh 2>/dev/null || true",
81
+ "timeout": 5
82
+ }
83
+ ]
84
+ }
85
+ ],
86
+ "SessionEnd": [
87
+ {
88
+ "hooks": [
89
+ {
90
+ "type": "command",
91
+ "command": "tsq daemon notify session-end 2>/dev/null || true && tsq daemon stop 2>/dev/null || true",
92
+ "timeout": 15
93
+ }
94
+ ]
95
+ }
96
+ ]
97
+ }
98
+ }