timsquad 3.6.0 → 3.7.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 (431) hide show
  1. package/README.ko.md +103 -111
  2. package/README.md +100 -108
  3. package/dist/commands/init.js +4 -8
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/{upgrade.d.ts → update.d.ts} +3 -3
  6. package/dist/commands/update.d.ts.map +1 -0
  7. package/dist/commands/{upgrade.js → update.js} +12 -17
  8. package/dist/commands/update.js.map +1 -0
  9. package/dist/daemon/event-queue.d.ts +3 -11
  10. package/dist/daemon/event-queue.d.ts.map +1 -1
  11. package/dist/daemon/event-queue.js +62 -203
  12. package/dist/daemon/event-queue.js.map +1 -1
  13. package/dist/daemon/index.d.ts +1 -1
  14. package/dist/daemon/index.d.ts.map +1 -1
  15. package/dist/daemon/index.js +15 -14
  16. package/dist/daemon/index.js.map +1 -1
  17. package/dist/index.js +3 -43
  18. package/dist/index.js.map +1 -1
  19. package/dist/lib/agent-generator.d.ts.map +1 -1
  20. package/dist/lib/agent-generator.js +10 -10
  21. package/dist/lib/agent-generator.js.map +1 -1
  22. package/dist/lib/compile-rules.d.ts.map +1 -1
  23. package/dist/lib/compile-rules.js +37 -4
  24. package/dist/lib/compile-rules.js.map +1 -1
  25. package/dist/lib/compiler.d.ts +1 -0
  26. package/dist/lib/compiler.d.ts.map +1 -1
  27. package/dist/lib/compiler.js +67 -11
  28. package/dist/lib/compiler.js.map +1 -1
  29. package/dist/{commands/log.d.ts → lib/log-utils.d.ts} +7 -15
  30. package/dist/lib/log-utils.d.ts.map +1 -0
  31. package/dist/lib/log-utils.js +347 -0
  32. package/dist/lib/log-utils.js.map +1 -0
  33. package/dist/lib/skill-generator.d.ts.map +1 -1
  34. package/dist/lib/skill-generator.js +4 -44
  35. package/dist/lib/skill-generator.js.map +1 -1
  36. package/dist/lib/ssot-map.d.ts.map +1 -1
  37. package/dist/lib/ssot-map.js +3 -0
  38. package/dist/lib/ssot-map.js.map +1 -1
  39. package/dist/lib/template.d.ts +10 -3
  40. package/dist/lib/template.d.ts.map +1 -1
  41. package/dist/lib/template.js +136 -22
  42. package/dist/lib/template.js.map +1 -1
  43. package/dist/lib/upgrade-backup.js +1 -1
  44. package/dist/lib/upgrade-backup.js.map +1 -1
  45. package/dist/types/config.d.ts.map +1 -1
  46. package/dist/types/config.js +34 -34
  47. package/dist/types/config.js.map +1 -1
  48. package/dist/types/feedback.d.ts +1 -54
  49. package/dist/types/feedback.d.ts.map +1 -1
  50. package/dist/types/feedback.js +1 -22
  51. package/dist/types/feedback.js.map +1 -1
  52. package/dist/types/project.d.ts +5 -0
  53. package/dist/types/project.d.ts.map +1 -1
  54. package/dist/types/project.js +15 -0
  55. package/dist/types/project.js.map +1 -1
  56. package/dist/types/ssot-map.d.ts +2 -0
  57. package/dist/types/ssot-map.d.ts.map +1 -1
  58. package/package.json +1 -1
  59. package/templates/base/agents/base/tsq-architect.md +1 -1
  60. package/templates/base/agents/base/tsq-dba.md +3 -1
  61. package/templates/base/agents/base/tsq-designer.md +3 -1
  62. package/templates/base/agents/base/tsq-developer.md +3 -1
  63. package/templates/base/agents/base/tsq-librarian.md +1 -1
  64. package/templates/base/agents/base/tsq-qa.md +3 -1
  65. package/templates/base/agents/base/tsq-security.md +3 -1
  66. package/templates/base/agents/overlays/platform/claude-code.md +2 -2
  67. package/templates/base/config.template.yaml +17 -28
  68. package/templates/base/knowledge/templates/task-result.md +5 -10
  69. package/templates/base/skills/_template/SKILL.md +1 -3
  70. package/templates/base/skills/{architecture → tsq-architecture}/SKILL.md +2 -2
  71. package/templates/base/skills/tsq-audit/SKILL.md +74 -0
  72. package/templates/base/skills/{methodology/bdd → tsq-bdd}/SKILL.md +14 -9
  73. package/templates/base/skills/{coding → tsq-coding}/SKILL.md +2 -4
  74. package/templates/base/skills/tsq-controller/SKILL.md +81 -0
  75. package/templates/base/skills/{mobile/dart → tsq-dart}/SKILL.md +5 -3
  76. package/templates/base/skills/{database → tsq-database}/SKILL.md +5 -2
  77. package/templates/base/skills/{methodology/ddd → tsq-ddd}/SKILL.md +15 -10
  78. package/templates/base/skills/{methodology/debugging → tsq-debugging}/SKILL.md +2 -2
  79. package/templates/base/skills/tsq-decompose/SKILL.md +117 -0
  80. package/templates/base/skills/tsq-delete/SKILL.md +72 -0
  81. package/templates/base/skills/{mobile/flutter → tsq-flutter}/SKILL.md +6 -3
  82. package/templates/base/skills/tsq-grill/SKILL.md +86 -0
  83. package/templates/base/skills/{backend/node → tsq-hono}/SKILL.md +6 -4
  84. package/templates/base/skills/tsq-librarian/SKILL.md +78 -0
  85. package/templates/base/skills/tsq-log/SKILL.md +30 -0
  86. package/templates/base/skills/{frontend/nextjs → tsq-nextjs}/SKILL.md +14 -9
  87. package/templates/base/skills/{planning → tsq-planning}/SKILL.md +2 -2
  88. package/templates/base/skills/{database/prisma → tsq-prisma}/SKILL.md +15 -9
  89. package/templates/base/skills/{product-audit → tsq-product-audit}/SKILL.md +2 -4
  90. package/templates/base/skills/{prompt-engineering → tsq-prompt}/SKILL.md +6 -4
  91. package/templates/base/skills/tsq-protocol/SKILL.md +85 -33
  92. package/templates/base/skills/{frontend/react → tsq-react}/SKILL.md +6 -3
  93. package/templates/base/skills/tsq-retro/SKILL.md +86 -0
  94. package/templates/base/skills/tsq-retro/references/feedback-guide.md +58 -0
  95. package/templates/base/skills/tsq-retro/references/improve-protocol.md +87 -0
  96. package/templates/base/skills/{security → tsq-security}/SKILL.md +2 -4
  97. package/templates/base/skills/{spec → tsq-spec}/SKILL.md +4 -6
  98. package/templates/base/skills/{stability-verification → tsq-stability}/SKILL.md +3 -3
  99. package/templates/base/skills/tsq-start/SKILL.md +90 -0
  100. package/templates/base/skills/tsq-start/references/onboarding-questions.md +177 -0
  101. package/templates/base/skills/tsq-status/SKILL.md +32 -0
  102. package/templates/base/skills/{methodology/tdd → tsq-tdd}/SKILL.md +6 -3
  103. package/templates/base/skills/{testing → tsq-testing}/SKILL.md +5 -7
  104. package/templates/base/skills/{typescript → tsq-typescript}/SKILL.md +2 -2
  105. package/templates/base/skills/{ui-design → tsq-ui}/SKILL.md +2 -2
  106. package/templates/base/skills/tsq-update/SKILL.md +48 -0
  107. package/templates/base/timsquad/constraints/competency-framework.xml +2 -2
  108. package/templates/base/timsquad/constraints/ssot-schema.xml +2 -2
  109. package/templates/base/timsquad/process/phase-checklist.yaml +1 -1
  110. package/templates/base/timsquad/process/state-machine.xml +2 -2
  111. package/templates/base/timsquad/process/validation-rules.xml +8 -8
  112. package/templates/base/timsquad/process/workflow-base.xml +8 -8
  113. package/templates/base/timsquad/retrospective/cycle-report.template.md +2 -2
  114. package/templates/base/timsquad/retrospective/patterns/failure-patterns.md +1 -1
  115. package/templates/base/timsquad/retrospective/patterns/success-patterns.md +2 -2
  116. package/templates/base/timsquad/retrospective/retrospective-state.xml +2 -2
  117. package/templates/base/timsquad/ssot/audit-trail-spec.template.md +155 -0
  118. package/templates/base/timsquad/ssot/compliance-matrix.template.md +105 -0
  119. package/templates/base/timsquad/ssot/component-map.template.md +181 -0
  120. package/templates/base/timsquad/ssot/data-design.template.md +4 -4
  121. package/templates/base/timsquad/ssot/deployment-spec.template.md +29 -22
  122. package/templates/base/timsquad/ssot/env-config.template.md +4 -2
  123. package/templates/base/timsquad/ssot/error-codes.template.md +3 -3
  124. package/templates/base/timsquad/ssot/functional-spec.template.md +40 -3
  125. package/templates/base/timsquad/ssot/glossary.template.md +2 -2
  126. package/templates/base/timsquad/ssot/infra-topology.template.md +191 -0
  127. package/templates/base/timsquad/ssot/integration-spec.template.md +2 -2
  128. package/templates/base/timsquad/ssot/monitoring-spec.template.md +185 -0
  129. package/templates/base/timsquad/ssot/navigation-map.template.md +154 -0
  130. package/templates/base/timsquad/ssot/performance-budget.template.md +132 -0
  131. package/templates/base/timsquad/ssot/planning.template.md +3 -3
  132. package/templates/base/timsquad/ssot/prd/_template.md +73 -0
  133. package/templates/base/timsquad/ssot/prd.template.md +10 -21
  134. package/templates/base/timsquad/ssot/requirements.template.md +3 -3
  135. package/templates/base/timsquad/ssot/sdk-spec.template.md +223 -0
  136. package/templates/base/timsquad/ssot/service-spec.template.md +3 -3
  137. package/templates/base/timsquad/ssot/state-machine.template.md +127 -0
  138. package/templates/base/timsquad/ssot/ui-ux-spec.template.md +43 -3
  139. package/templates/base/timsquad/ssot-map.template.yaml +28 -0
  140. package/templates/base/timsquad/state/workspace.xml +11 -11
  141. package/templates/platforms/claude-code/rules/adr-rules.md +1 -1
  142. package/templates/platforms/claude-code/rules/build-gate.md +1 -1
  143. package/templates/platforms/claude-code/rules/completion-verification.md +0 -2
  144. package/templates/platforms/claude-code/rules/context-monitor.md +1 -1
  145. package/templates/platforms/claude-code/rules/feedback-routing.md +2 -2
  146. package/templates/platforms/claude-code/rules/phase-management.md +2 -2
  147. package/templates/platforms/claude-code/rules/plan-review.md +2 -2
  148. package/templates/platforms/claude-code/rules/quality-guards.md +0 -2
  149. package/templates/platforms/claude-code/rules/sequence-management.md +15 -15
  150. package/templates/platforms/claude-code/rules/session-notes.md +1 -1
  151. package/templates/platforms/claude-code/rules/workspace-sync.md +1 -1
  152. package/templates/platforms/claude-code/scripts/build-gate.sh +6 -1
  153. package/templates/platforms/claude-code/scripts/change-scope-guard.sh +1 -4
  154. package/templates/platforms/claude-code/scripts/check-capability.sh +68 -0
  155. package/templates/platforms/claude-code/scripts/completion-guard.sh +62 -4
  156. package/templates/platforms/claude-code/scripts/context-restore.sh +33 -6
  157. package/templates/platforms/claude-code/scripts/phase-guard.sh +2 -5
  158. package/templates/platforms/claude-code/scripts/pre-compact.sh +3 -3
  159. package/templates/platforms/claude-code/scripts/safe-guard.sh +2 -5
  160. package/templates/platforms/claude-code/scripts/subagent-start.sh +11 -0
  161. package/templates/platforms/claude-code/scripts/subagent-stop.sh +11 -0
  162. package/templates/platforms/claude-code/settings.json +20 -74
  163. package/templates/project-types/api-backend/config.yaml +9 -5
  164. package/templates/project-types/api-backend/process/workflow.xml +2 -2
  165. package/templates/project-types/fintech/config.yaml +13 -19
  166. package/templates/project-types/fintech/ssot/audit-trail-spec.template.md +207 -0
  167. package/templates/project-types/fintech/ssot/compliance-matrix.template.md +187 -0
  168. package/templates/project-types/infra/config.yaml +7 -4
  169. package/templates/project-types/infra/process/workflow.xml +3 -3
  170. package/templates/project-types/mobile-app/config.yaml +8 -14
  171. package/templates/project-types/mobile-app/process/workflow.xml +4 -4
  172. package/templates/project-types/platform/config.yaml +8 -5
  173. package/templates/project-types/platform/process/workflow.xml +3 -3
  174. package/templates/project-types/web-app/config.yaml +9 -15
  175. package/templates/project-types/web-app/process/workflow.xml +6 -6
  176. package/templates/project-types/web-service/config.yaml +10 -19
  177. package/templates/project-types/web-service/process/workflow.xml +6 -6
  178. package/dist/commands/audit.d.ts +0 -22
  179. package/dist/commands/audit.d.ts.map +0 -1
  180. package/dist/commands/audit.js +0 -233
  181. package/dist/commands/audit.js.map +0 -1
  182. package/dist/commands/compile.d.ts +0 -3
  183. package/dist/commands/compile.d.ts.map +0 -1
  184. package/dist/commands/compile.js +0 -251
  185. package/dist/commands/compile.js.map +0 -1
  186. package/dist/commands/feedback.d.ts +0 -12
  187. package/dist/commands/feedback.d.ts.map +0 -1
  188. package/dist/commands/feedback.js +0 -382
  189. package/dist/commands/feedback.js.map +0 -1
  190. package/dist/commands/full.d.ts +0 -3
  191. package/dist/commands/full.d.ts.map +0 -1
  192. package/dist/commands/full.js +0 -88
  193. package/dist/commands/full.js.map +0 -1
  194. package/dist/commands/git/commit.d.ts +0 -3
  195. package/dist/commands/git/commit.d.ts.map +0 -1
  196. package/dist/commands/git/commit.js +0 -85
  197. package/dist/commands/git/commit.js.map +0 -1
  198. package/dist/commands/git/index.d.ts +0 -5
  199. package/dist/commands/git/index.d.ts.map +0 -1
  200. package/dist/commands/git/index.js +0 -5
  201. package/dist/commands/git/index.js.map +0 -1
  202. package/dist/commands/git/pr.d.ts +0 -3
  203. package/dist/commands/git/pr.d.ts.map +0 -1
  204. package/dist/commands/git/pr.js +0 -139
  205. package/dist/commands/git/pr.js.map +0 -1
  206. package/dist/commands/git/release.d.ts +0 -3
  207. package/dist/commands/git/release.d.ts.map +0 -1
  208. package/dist/commands/git/release.js +0 -153
  209. package/dist/commands/git/release.js.map +0 -1
  210. package/dist/commands/git/sync.d.ts +0 -3
  211. package/dist/commands/git/sync.d.ts.map +0 -1
  212. package/dist/commands/git/sync.js +0 -132
  213. package/dist/commands/git/sync.js.map +0 -1
  214. package/dist/commands/improve.d.ts +0 -3
  215. package/dist/commands/improve.d.ts.map +0 -1
  216. package/dist/commands/improve.js +0 -286
  217. package/dist/commands/improve.js.map +0 -1
  218. package/dist/commands/knowledge.d.ts +0 -3
  219. package/dist/commands/knowledge.d.ts.map +0 -1
  220. package/dist/commands/knowledge.js +0 -316
  221. package/dist/commands/knowledge.js.map +0 -1
  222. package/dist/commands/log.d.ts.map +0 -1
  223. package/dist/commands/log.js +0 -1468
  224. package/dist/commands/log.js.map +0 -1
  225. package/dist/commands/meta-index.d.ts +0 -3
  226. package/dist/commands/meta-index.d.ts.map +0 -1
  227. package/dist/commands/meta-index.js +0 -431
  228. package/dist/commands/meta-index.js.map +0 -1
  229. package/dist/commands/metrics.d.ts +0 -3
  230. package/dist/commands/metrics.d.ts.map +0 -1
  231. package/dist/commands/metrics.js +0 -843
  232. package/dist/commands/metrics.js.map +0 -1
  233. package/dist/commands/quick.d.ts +0 -3
  234. package/dist/commands/quick.d.ts.map +0 -1
  235. package/dist/commands/quick.js +0 -136
  236. package/dist/commands/quick.js.map +0 -1
  237. package/dist/commands/retro.d.ts +0 -3
  238. package/dist/commands/retro.d.ts.map +0 -1
  239. package/dist/commands/retro.js +0 -885
  240. package/dist/commands/retro.js.map +0 -1
  241. package/dist/commands/session.d.ts +0 -3
  242. package/dist/commands/session.d.ts.map +0 -1
  243. package/dist/commands/session.js +0 -346
  244. package/dist/commands/session.js.map +0 -1
  245. package/dist/commands/skills.d.ts +0 -12
  246. package/dist/commands/skills.d.ts.map +0 -1
  247. package/dist/commands/skills.js +0 -228
  248. package/dist/commands/skills.js.map +0 -1
  249. package/dist/commands/status.d.ts +0 -3
  250. package/dist/commands/status.d.ts.map +0 -1
  251. package/dist/commands/status.js +0 -127
  252. package/dist/commands/status.js.map +0 -1
  253. package/dist/commands/upgrade.d.ts.map +0 -1
  254. package/dist/commands/upgrade.js.map +0 -1
  255. package/dist/commands/watch.d.ts +0 -3
  256. package/dist/commands/watch.d.ts.map +0 -1
  257. package/dist/commands/watch.js +0 -213
  258. package/dist/commands/watch.js.map +0 -1
  259. package/dist/commands/workflow.d.ts +0 -5
  260. package/dist/commands/workflow.d.ts.map +0 -1
  261. package/dist/commands/workflow.js +0 -781
  262. package/dist/commands/workflow.js.map +0 -1
  263. package/templates/base/skills/audit/SKILL.md +0 -66
  264. package/templates/base/skills/controller/SKILL.md +0 -77
  265. package/templates/base/skills/controller/delegation/developer.md +0 -25
  266. package/templates/base/skills/controller/delegation/librarian.md +0 -33
  267. package/templates/base/skills/controller/delegation/reviewer.md +0 -19
  268. package/templates/base/skills/controller/triggers/phase-complete.md +0 -25
  269. package/templates/base/skills/controller/triggers/sequence-complete.md +0 -15
  270. package/templates/base/skills/controller/triggers/ssot-changed.md +0 -14
  271. package/templates/base/skills/controller/triggers/task-complete.md +0 -14
  272. package/templates/base/skills/librarian/SKILL.md +0 -53
  273. package/templates/base/skills/main-session-constraints/SKILL.md +0 -62
  274. package/templates/base/skills/retrospective/SKILL.md +0 -77
  275. package/templates/base/skills/review/SKILL.md +0 -72
  276. package/templates/base/skills/tsq-cli/SKILL.md +0 -73
  277. package/templates/base/skills/tsq-cli/references/cli-reference.md +0 -92
  278. package/templates/base/timsquad/feedback/feedback-router.sh +0 -341
  279. package/templates/base/timsquad/feedback/routing-rules.yaml +0 -352
  280. package/templates/platforms/claude-code/CLAUDE.md.template +0 -89
  281. package/templates/platforms/claude-code/rules/skill-suggest.md +0 -27
  282. package/templates/platforms/claude-code/scripts/skill-inject.sh +0 -216
  283. package/templates/platforms/claude-code/scripts/skill-rules.json +0 -95
  284. package/templates/platforms/claude-code/scripts/skill-suggest.sh +0 -105
  285. package/templates/platforms/claude-code/scripts/subagent-inject.sh +0 -53
  286. /package/templates/base/skills/{architecture → tsq-architecture}/references/adr-template.md +0 -0
  287. /package/templates/base/skills/{architecture → tsq-architecture}/references/api-design.md +0 -0
  288. /package/templates/base/skills/{methodology/bdd → tsq-bdd}/rules/gherkin-patterns.md +0 -0
  289. /package/templates/base/skills/{coding → tsq-coding}/rules/async-patterns.md +0 -0
  290. /package/templates/base/skills/{coding → tsq-coding}/rules/code-organization.md +0 -0
  291. /package/templates/base/skills/{coding → tsq-coding}/rules/error-handling.md +0 -0
  292. /package/templates/base/skills/{coding → tsq-coding}/rules/patterns.md +0 -0
  293. /package/templates/base/skills/{coding → tsq-coding}/rules/type-safety.md +0 -0
  294. /package/templates/base/skills/{controller → tsq-controller}/memory/.gitkeep +0 -0
  295. /package/templates/base/skills/{controller → tsq-controller}/references/README.md +0 -0
  296. /package/templates/base/skills/{controller → tsq-controller}/rules/README.md +0 -0
  297. /package/templates/base/skills/{mobile/dart → tsq-dart}/rules/async-patterns.md +0 -0
  298. /package/templates/base/skills/{mobile/dart → tsq-dart}/rules/code-style.md +0 -0
  299. /package/templates/base/skills/{mobile/dart → tsq-dart}/rules/null-safety.md +0 -0
  300. /package/templates/base/skills/{mobile/dart → tsq-dart}/rules/type-system.md +0 -0
  301. /package/templates/base/skills/{database → tsq-database}/rules/query-optimization.md +0 -0
  302. /package/templates/base/skills/{database → tsq-database}/rules/supabase-patterns.md +0 -0
  303. /package/templates/base/skills/{methodology/ddd → tsq-ddd}/rules/strategic-patterns.md +0 -0
  304. /package/templates/base/skills/{methodology/debugging → tsq-debugging}/references/root-cause-tracing.md +0 -0
  305. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/SKILL.md +0 -0
  306. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/references/ci-cd-pipeline.md +0 -0
  307. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/code-signing.md +0 -0
  308. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/codemagic-setup.md +0 -0
  309. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/fastlane-setup.md +0 -0
  310. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/github-actions.md +0 -0
  311. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/store-deployment.md +0 -0
  312. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/versioning.md +0 -0
  313. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/SKILL.md +0 -0
  314. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/references/i18n-architecture.md +0 -0
  315. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/arb-files.md +0 -0
  316. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/locale-switching.md +0 -0
  317. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/localization-setup.md +0 -0
  318. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/plural-gender.md +0 -0
  319. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/text-direction.md +0 -0
  320. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/SKILL.md +0 -0
  321. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/references/monitoring-architecture.md +0 -0
  322. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/analytics.md +0 -0
  323. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/crashlytics-setup.md +0 -0
  324. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/logging.md +0 -0
  325. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/performance-monitoring.md +0 -0
  326. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/sentry-integration.md +0 -0
  327. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/SKILL.md +0 -0
  328. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/references/api-client-architecture.md +0 -0
  329. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/caching.md +0 -0
  330. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/connectivity.md +0 -0
  331. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/dio-setup.md +0 -0
  332. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/error-handling.md +0 -0
  333. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/interceptors.md +0 -0
  334. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/retrofit-patterns.md +0 -0
  335. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/SKILL.md +0 -0
  336. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/references/notification-architecture.md +0 -0
  337. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/references/platform-setup.md +0 -0
  338. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/background-processing.md +0 -0
  339. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/deep-linking.md +0 -0
  340. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/fcm-setup.md +0 -0
  341. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/local-notifications.md +0 -0
  342. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/notification-handling.md +0 -0
  343. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/notification-permissions.md +0 -0
  344. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/rich-notifications.md +0 -0
  345. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/references/freezed-patterns.md +0 -0
  346. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/references/project-structure.md +0 -0
  347. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/animations.md +0 -0
  348. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/architecture.md +0 -0
  349. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/navigation-routing.md +0 -0
  350. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/performance.md +0 -0
  351. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/platform-adaptive.md +0 -0
  352. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/state-management.md +0 -0
  353. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/testing.md +0 -0
  354. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/widget-conventions.md +0 -0
  355. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/SKILL.md +0 -0
  356. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/references/mobile-security-checklist.md +0 -0
  357. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/api-key-protection.md +0 -0
  358. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/authentication.md +0 -0
  359. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/data-protection.md +0 -0
  360. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/obfuscation.md +0 -0
  361. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/secure-storage.md +0 -0
  362. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/ssl-pinning.md +0 -0
  363. /package/templates/base/skills/{backend/node → tsq-hono}/rules/async-patterns.md +0 -0
  364. /package/templates/base/skills/{backend/node → tsq-hono}/rules/deployment.md +0 -0
  365. /package/templates/base/skills/{backend/node → tsq-hono}/rules/env-config.md +0 -0
  366. /package/templates/base/skills/{backend/node → tsq-hono}/rules/error-handling.md +0 -0
  367. /package/templates/base/skills/{backend/node → tsq-hono}/rules/hono-app-setup.md +0 -0
  368. /package/templates/base/skills/{backend/node → tsq-hono}/rules/jwt-auth.md +0 -0
  369. /package/templates/base/skills/{backend/node → tsq-hono}/rules/middleware.md +0 -0
  370. /package/templates/base/skills/{backend/node → tsq-hono}/rules/testing.md +0 -0
  371. /package/templates/base/skills/{frontend/nextjs → tsq-nextjs}/rules/app-router.md +0 -0
  372. /package/templates/base/skills/{planning → tsq-planning}/references/prd-guide.md +0 -0
  373. /package/templates/base/skills/{planning → tsq-planning}/references/requirements-guide.md +0 -0
  374. /package/templates/base/skills/{database/prisma → tsq-prisma}/rules/queries.md +0 -0
  375. /package/templates/base/skills/{database/prisma → tsq-prisma}/rules/schema-design.md +0 -0
  376. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/01-security.md +0 -0
  377. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/02-performance.md +0 -0
  378. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/03-seo.md +0 -0
  379. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/04-accessibility.md +0 -0
  380. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/05-ui-ux.md +0 -0
  381. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/06-architecture.md +0 -0
  382. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/07-functional-requirements.md +0 -0
  383. /package/templates/base/skills/{product-audit → tsq-product-audit}/rules/audit-protocol.md +0 -0
  384. /package/templates/base/skills/{product-audit → tsq-product-audit}/rules/false-positive-guard.md +0 -0
  385. /package/templates/base/skills/{product-audit → tsq-product-audit}/rules/scoring-criteria.md +0 -0
  386. /package/templates/base/skills/{product-audit → tsq-product-audit}/templates/improvement-plan-template.md +0 -0
  387. /package/templates/base/skills/{product-audit → tsq-product-audit}/templates/report-template.md +0 -0
  388. /package/templates/base/skills/{frontend/react → tsq-react}/rules/_sections.md +0 -0
  389. /package/templates/base/skills/{frontend/react → tsq-react}/rules/anti-patterns.md +0 -0
  390. /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-api-routes.md +0 -0
  391. /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-defer-await.md +0 -0
  392. /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-dependencies.md +0 -0
  393. /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-parallel.md +0 -0
  394. /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-suspense-boundaries.md +0 -0
  395. /package/templates/base/skills/{frontend/react → tsq-react}/rules/bundle-barrel-imports.md +0 -0
  396. /package/templates/base/skills/{frontend/react → tsq-react}/rules/bundle-defer-third-party.md +0 -0
  397. /package/templates/base/skills/{frontend/react → tsq-react}/rules/bundle-dynamic-imports.md +0 -0
  398. /package/templates/base/skills/{frontend/react → tsq-react}/rules/component-conventions.md +0 -0
  399. /package/templates/base/skills/{frontend/react → tsq-react}/rules/js-combine-iterations.md +0 -0
  400. /package/templates/base/skills/{frontend/react → tsq-react}/rules/js-early-exit.md +0 -0
  401. /package/templates/base/skills/{frontend/react → tsq-react}/rules/js-index-maps.md +0 -0
  402. /package/templates/base/skills/{frontend/react → tsq-react}/rules/js-set-map-lookups.md +0 -0
  403. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rendering-conditional-render.md +0 -0
  404. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rendering-content-visibility.md +0 -0
  405. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rendering-hoist-jsx.md +0 -0
  406. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rerender-defer-reads.md +0 -0
  407. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rerender-derived-state.md +0 -0
  408. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rerender-memo.md +0 -0
  409. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rerender-transitions.md +0 -0
  410. /package/templates/base/skills/{frontend/react → tsq-react}/rules/server-after-nonblocking.md +0 -0
  411. /package/templates/base/skills/{frontend/react → tsq-react}/rules/server-cache-react.md +0 -0
  412. /package/templates/base/skills/{frontend/react → tsq-react}/rules/server-parallel-fetching.md +0 -0
  413. /package/templates/base/skills/{frontend/react → tsq-react}/rules/state-location.md +0 -0
  414. /package/templates/base/skills/{retrospective → tsq-retro}/references/improvement-template.md +0 -0
  415. /package/templates/base/skills/{security → tsq-security}/rules/auth-patterns.md +0 -0
  416. /package/templates/base/skills/{security → tsq-security}/rules/dependency-security.md +0 -0
  417. /package/templates/base/skills/{security → tsq-security}/rules/input-validation.md +0 -0
  418. /package/templates/base/skills/{security → tsq-security}/rules/owasp-examples.md +0 -0
  419. /package/templates/base/skills/{security → tsq-security}/rules/secrets-management.md +0 -0
  420. /package/templates/base/skills/{security → tsq-security}/scripts/check-secrets.sh +0 -0
  421. /package/templates/base/skills/{stability-verification → tsq-stability}/references/release-checklist.md +0 -0
  422. /package/templates/base/skills/{stability-verification → tsq-stability}/references/security-fix-patterns.md +0 -0
  423. /package/templates/base/skills/{stability-verification → tsq-stability}/rules/verification-layers.md +0 -0
  424. /package/templates/base/skills/{stability-verification → tsq-stability}/rules/verification-workflow.md +0 -0
  425. /package/templates/base/skills/{stability-verification → tsq-stability}/scripts/verify.sh +0 -0
  426. /package/templates/base/skills/{methodology/tdd → tsq-tdd}/rules/real-world-example.md +0 -0
  427. /package/templates/base/skills/{methodology/tdd → tsq-tdd}/rules/techniques.md +0 -0
  428. /package/templates/base/skills/{testing → tsq-testing}/references/e2e-stability.md +0 -0
  429. /package/templates/base/skills/{testing → tsq-testing}/references/testing-patterns.md +0 -0
  430. /package/templates/base/skills/{typescript → tsq-typescript}/rules/type-patterns.md +0 -0
  431. /package/templates/base/skills/{typescript → tsq-typescript}/rules/utility-types.md +0 -0
@@ -25,6 +25,21 @@ export const REQUIRED_SSOT_BY_TYPE = {
25
25
  'infra': ['deployment-spec', 'env-config'],
26
26
  'mobile-app': ['ui-ux-spec'],
27
27
  };
28
+ /**
29
+ * Type-specific SSOT documents with minimum level requirement.
30
+ * Value = minimum ProjectLevel at which the document becomes required for that type.
31
+ */
32
+ export const SSOT_TYPE_LEVEL_MAP = {
33
+ 'state-machine': { 'web-service': 2, 'api-backend': 2, 'mobile-app': 2, 'fintech': 1 },
34
+ 'performance-budget': { 'web-service': 2, 'api-backend': 2, 'web-app': 2, 'mobile-app': 2, 'fintech': 2 },
35
+ 'monitoring-spec': { 'web-service': 3, 'api-backend': 3, 'fintech': 2, 'infra': 1 },
36
+ 'compliance-matrix': { 'fintech': 1 },
37
+ 'audit-trail-spec': { 'fintech': 1 },
38
+ 'navigation-map': { 'mobile-app': 1 },
39
+ 'infra-topology': { 'fintech': 3, 'infra': 1 },
40
+ 'sdk-spec': { 'platform': 1 },
41
+ 'component-map': { 'web-service': 2, 'web-app': 2, 'mobile-app': 2 },
42
+ };
28
43
  /**
29
44
  * Platform descriptions
30
45
  */
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"AA0HA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAmC;IACpE,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,CAAC;IACrE,CAAC,EAAE;QACD,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa;QAChE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW;KACtF;IACD,CAAC,EAAE;QACD,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa;QAChE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW;QACrF,iBAAiB,EAAE,kBAAkB,EAAE,eAAe;KACvD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAkC;IAClE,aAAa,EAAE,CAAC,YAAY,CAAC;IAC7B,SAAS,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;IACxC,aAAa,EAAE,EAAE;IACjB,UAAU,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC;IAC5C,SAAS,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,iBAAiB,CAAC;IAC9D,OAAO,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;IAC1C,YAAY,EAAE,CAAC,YAAY,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA6B;IAC7D,aAAa,EAAE,6BAA6B;IAC5C,QAAQ,EAAE,YAAY;IACtB,UAAU,EAAE,cAAc;IAC1B,KAAK,EAAE,eAAe;IACtB,QAAQ,EAAE,oBAAoB;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,aAAa,EAAE,UAAU;IACzB,gBAAgB,EAAE,aAAa;IAC/B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAgC;IACpE,aAAa,EAAE,iBAAiB;IAChC,SAAS,EAAE,mCAAmC;IAC9C,aAAa,EAAE,iBAAiB;IAChC,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,aAAa;IACtB,YAAY,EAAE,iCAAiC;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAiC;IACtE,CAAC,EAAE,oBAAoB;IACvB,CAAC,EAAE,sBAAsB;IACzB,CAAC,EAAE,4BAA4B;CAChC,CAAC"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"AA0HA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAmC;IACpE,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,CAAC;IACrE,CAAC,EAAE;QACD,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa;QAChE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW;KACtF;IACD,CAAC,EAAE;QACD,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa;QAChE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW;QACrF,iBAAiB,EAAE,kBAAkB,EAAE,eAAe;KACvD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAkC;IAClE,aAAa,EAAE,CAAC,YAAY,CAAC;IAC7B,SAAS,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;IACxC,aAAa,EAAE,EAAE;IACjB,UAAU,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC;IAC5C,SAAS,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,iBAAiB,CAAC;IAC9D,OAAO,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;IAC1C,YAAY,EAAE,CAAC,YAAY,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA+D;IAC7F,eAAe,EAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;IAC5F,oBAAoB,EAAG,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;IAC1G,iBAAiB,EAAM,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;IACvF,mBAAmB,EAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACvC,kBAAkB,EAAK,EAAE,SAAS,EAAE,CAAC,EAAE;IACvC,gBAAgB,EAAO,EAAE,YAAY,EAAE,CAAC,EAAE;IAC1C,gBAAgB,EAAO,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;IACnD,UAAU,EAAa,EAAE,UAAU,EAAE,CAAC,EAAE;IACxC,eAAe,EAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;CAC3E,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA6B;IAC7D,aAAa,EAAE,6BAA6B;IAC5C,QAAQ,EAAE,YAAY;IACtB,UAAU,EAAE,cAAc;IAC1B,KAAK,EAAE,eAAe;IACtB,QAAQ,EAAE,oBAAoB;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,aAAa,EAAE,UAAU;IACzB,gBAAgB,EAAE,aAAa;IAC/B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAgC;IACpE,aAAa,EAAE,iBAAiB;IAChC,SAAS,EAAE,mCAAmC;IAC9C,aAAa,EAAE,iBAAiB;IAChC,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,aAAa;IACtB,YAAY,EAAE,iCAAiC;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAiC;IACtE,CAAC,EAAE,oBAAoB;IACvB,CAAC,EAAE,sBAAsB;IACzB,CAAC,EAAE,4BAA4B;CAChC,CAAC"}
@@ -11,6 +11,8 @@ export interface SSOTDocumentEntry {
11
11
  source: string;
12
12
  /** H2/H3 기준 분할 (선택) */
13
13
  split?: 'H2' | 'H3';
14
+ /** 타입별 선택 배포 문서 — 미존재 시 건너뜀 (validate에서 missing 제외) */
15
+ optional?: boolean;
14
16
  /** 메모 */
15
17
  note?: string;
16
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ssot-map.d.ts","sourceRoot":"","sources":["../../src/types/ssot-map.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,QAAQ,GAAG,eAAe,GAAG,cAAc,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAC5F,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,SAAS;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,OAAO;IACtB,eAAe,EAAE,cAAc,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,EAAE,cAAc,CAAC;IAClC,aAAa,EAAE,cAAc,CAAC;CAC/B"}
1
+ {"version":3,"file":"ssot-map.d.ts","sourceRoot":"","sources":["../../src/types/ssot-map.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,QAAQ,GAAG,eAAe,GAAG,cAAc,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAC5F,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,OAAO;IACtB,eAAe,EAAE,cAAc,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,EAAE,cAAc,CAAC;IAClC,aAAa,EAAE,cAAc,CAAC;CAC/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "timsquad",
3
- "version": "3.6.0",
3
+ "version": "3.7.0",
4
4
  "description": "AI Agent Development Process Framework - SSOT 기반 문서 체계, 최적화된 에이전트 롤, 회고적 학습",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -5,7 +5,7 @@ description: |
5
5
  Use when: "시퀀스 분석", "아키텍처 리뷰", "태스크 로그 분석", "구조 검토", "계획 검증", "plan review"
6
6
  model: opus
7
7
  tools: [Read, Bash, Grep, Glob]
8
- skills: [tsq-protocol, architecture]
8
+ skills: [tsq-protocol, tsq-architecture]
9
9
  ---
10
10
 
11
11
  <agent role="architect">
@@ -5,7 +5,7 @@ description: |
5
5
  Use when: "DB 설계", "스키마 변경", "쿼리 최적화", "마이그레이션"
6
6
  model: sonnet
7
7
  tools: [Read, Write, Edit, Bash, Grep, Glob]
8
- skills: [tsq-protocol, database]
8
+ skills: [tsq-protocol, tsq-database]
9
9
  ---
10
10
 
11
11
  <agent role="dba">
@@ -29,6 +29,8 @@ skills: [tsq-protocol, database]
29
29
  `.timsquad/ssot/data-design.md` — 데이터 설계 문서
30
30
  `.timsquad/ssot/requirements.md` — 요구사항 (NFR 포함)
31
31
  `.timsquad/ssot/glossary.md` — 용어 사전
32
+ `.timsquad/ssot/performance-budget.md` — DB 쿼리 성능 예산 (있는 경우)
33
+ `.timsquad/ssot/audit-trail-spec.md` — 감사 테이블 스키마 (있는 경우)
32
34
  </prerequisites>
33
35
 
34
36
  <input-contract>
@@ -5,7 +5,7 @@ description: |
5
5
  Use when: "화면 설계", "와이어프레임", "디자인 토큰", "접근성 검토"
6
6
  model: sonnet
7
7
  tools: [Read, Write, Edit, Bash, Grep, Glob]
8
- skills: [tsq-protocol, ui-design]
8
+ skills: [tsq-protocol, tsq-ui]
9
9
  ---
10
10
 
11
11
  <agent role="designer">
@@ -30,6 +30,8 @@ skills: [tsq-protocol, ui-design]
30
30
  `.timsquad/ssot/ui-ux-spec.md` — UI/UX 명세
31
31
  `.timsquad/ssot/requirements.md` — 기능 요구사항
32
32
  `.timsquad/ssot/glossary.md` — 용어 사전 (라벨링)
33
+ `.timsquad/ssot/component-map.md` — 컴포넌트 계층/재사용 정책 (있는 경우)
34
+ `.timsquad/ssot/navigation-map.md` — 네비게이션 구조/딥링크 (있는 경우)
33
35
  </prerequisites>
34
36
 
35
37
  <input-contract>
@@ -5,7 +5,7 @@ description: |
5
5
  Use when: "구현해줘", "코드 작성", "테스트 작성", "리팩토링", "버그 수정"
6
6
  model: sonnet
7
7
  tools: [Read, Write, Edit, Bash, Grep, Glob]
8
- skills: [tsq-protocol, coding, testing, typescript]
8
+ skills: [tsq-protocol, tsq-coding, tsq-testing, tsq-typescript]
9
9
  ---
10
10
 
11
11
  <agent role="developer">
@@ -18,6 +18,8 @@ skills: [tsq-protocol, coding, testing, typescript]
18
18
  `.timsquad/ssot/service-spec.md` — API 명세
19
19
  `.timsquad/ssot/data-design.md` — 데이터 설계
20
20
  `.timsquad/ssot/error-codes.md` — 에러 코드
21
+ `.timsquad/ssot/state-machine.md` — 상태 전이 규칙 (있는 경우)
22
+ `.timsquad/ssot/performance-budget.md` — 성능 예산/임계값 (있는 경우)
21
23
  `.timsquad/knowledge/tribal.md` — 코딩 컨벤션 (있는 경우)
22
24
  </prerequisites>
23
25
 
@@ -5,7 +5,7 @@ description: |
5
5
  Use when: "기록해줘", "리포트 작성", "Phase 정리", "문서 갱신"
6
6
  model: sonnet
7
7
  tools: [Read, Write, Edit, Grep, Glob, Bash]
8
- skills: [tsq-protocol, librarian]
8
+ skills: [tsq-protocol, tsq-librarian]
9
9
  ---
10
10
 
11
11
  <agent role="librarian">
@@ -5,7 +5,7 @@ description: |
5
5
  Use when: "리뷰해줘", "검증해줘", "테스트 확인", "품질 검토"
6
6
  model: sonnet
7
7
  tools: [Read, Bash, Grep, Glob]
8
- skills: [tsq-protocol, testing, security]
8
+ skills: [tsq-protocol, tsq-testing, tsq-security]
9
9
  ---
10
10
 
11
11
  <agent role="qa">
@@ -29,6 +29,8 @@ skills: [tsq-protocol, testing, security]
29
29
  `.timsquad/ssot/service-spec.md` — API 명세
30
30
  `.timsquad/ssot/data-design.md` — 데이터 설계
31
31
  `.timsquad/ssot/error-codes.md` — 에러 코드
32
+ `.timsquad/ssot/performance-budget.md` — 성능 테스트 기준선 (있는 경우)
33
+ `.timsquad/ssot/monitoring-spec.md` — 모니터링 검증 기준 (있는 경우)
32
34
  </prerequisites>
33
35
 
34
36
  <input-contract>
@@ -5,7 +5,7 @@ description: |
5
5
  Use when: "보안 검토", "취약점 분석", "보안 설계", "컴플라이언스"
6
6
  model: sonnet
7
7
  tools: [Read, Bash, Grep, Glob]
8
- skills: [tsq-protocol, security]
8
+ skills: [tsq-protocol, tsq-security]
9
9
  ---
10
10
 
11
11
  <agent role="security">
@@ -28,6 +28,8 @@ skills: [tsq-protocol, security]
28
28
  <prerequisites>
29
29
  `.timsquad/ssot/security-spec.md` — 보안 명세 (있는 경우)
30
30
  `.timsquad/ssot/service-spec.md` — API 명세
31
+ `.timsquad/ssot/compliance-matrix.md` — 규제 준수 매트릭스 (있는 경우)
32
+ `.timsquad/ssot/audit-trail-spec.md` — 감사 추적 설계 (있는 경우)
31
33
  인증/인가 흐름 파악, 민감 데이터 식별
32
34
  </prerequisites>
33
35
 
@@ -6,7 +6,7 @@ version: 1.0.0
6
6
 
7
7
  <overlay>
8
8
  <rules strategy="APPEND">
9
- <must>tsq-protocol 스킬의 CLI 규칙 준수 (tsq log, tsq feedback, tsq commit)</must>
10
- <must>작업 시작/완료 시 tsq log로 기록</must>
9
+ <must>tsq-protocol 스킬의 프로토콜 준수 (로그 직접 기록, Completion Report, Decision Log)</must>
10
+ <must>작업 시작/완료 시 .timsquad/logs/ 직접 기록</must>
11
11
  </rules>
12
12
  </overlay>
@@ -59,33 +59,22 @@ stack:
59
59
  # ============================================================
60
60
  # 에이전트 스킬 설정
61
61
  # ============================================================
62
- # 스킬 구조 (Vercel 패턴):
63
- # SKILL.md = 인덱스 (~100줄, 항상 로드)
64
- # rules/ = 개별 패턴 파일 (on-demand 로드)
65
- # 500줄 초과 스킬은 반드시 SKILL.md(인덱스) + rules/(개별 파일)로 분리
66
- # 새 스킬 생성 시 _template/ 참조
67
- skills:
68
- # 기본 스킬 (항상 로드)
69
- base:
70
- - coding
71
- - testing
72
- - security
73
-
74
- # 방법론에 따라 자동 로드
75
- methodology:
76
- tdd: [methodology/tdd]
77
- bdd: [methodology/bdd]
78
-
79
- # 스택에 따라 자동 로드
80
- stack:
81
- typescript: [typescript]
82
- react: [frontend/react]
83
- nextjs: [frontend/nextjs, frontend/react]
84
- vue: [frontend/vue]
85
- node: [backend/node]
86
- python: [backend/python]
87
- prisma: [database/prisma]
88
- typeorm: [database/typeorm]
62
+ # 스킬은 project.type / project.domain / project.stack / methodology.development 으로
63
+ # 자동 결정됩니다 (BASE_SKILLS + SKILL_PRESETS + DOMAIN_SKILL_MAP + STACK_SKILL_MAP).
64
+ # 아래 섹션은 참고용이며 코드에서 읽히지 않습니다.
65
+ #
66
+ # skills:
67
+ # base: [tsq-coding, tsq-testing, tsq-security]
68
+ # methodology:
69
+ # tdd: [tsq-tdd]
70
+ # bdd: [tsq-bdd]
71
+ # stack:
72
+ # typescript: [tsq-typescript]
73
+ # react: [tsq-react]
74
+ # nextjs: [tsq-nextjs, tsq-react]
75
+ # node: [tsq-hono]
76
+ # prisma: [tsq-prisma]
77
+ # typeorm: [tsq-typeorm]
89
78
 
90
79
  # ============================================================
91
80
  # 에이전트 설정
@@ -163,7 +152,7 @@ quality:
163
152
  # 네이밍 규칙
164
153
  # ============================================================
165
154
  # Phase/Sequence/Task ID 자동 생성 시 사용하는 숫자 기반 패턴.
166
- # PM이 이 규칙에 따라 tsq wf set-phase / add-sequence를 자동 호출합니다.
155
+ # Controller가 이 규칙에 따라 Phase/Sequence/Task ID를 자동 생성합니다.
167
156
  # 예: P1 = planning, P3-S001 = implementation 1번 시퀀스, P3-S001-T002 = 2번 태스크
168
157
  naming:
169
158
  # Phase ID: P{N} — N은 order 배열의 인덱스 (1부터)
@@ -27,11 +27,9 @@
27
27
  | component | layout | colorScheme | spacing | states | responsive |
28
28
  |-----------|--------|-------------|---------|--------|------------|
29
29
 
30
- ### TSQ Log Enrich (필수)
31
- 위 내용을 기반으로 반드시 tsq log enrich를 호출하세요:
32
- ```bash
33
- tsq log enrich {agent} --json '{"summary":"...", "techniques":[...], "ssot_refs":[...], "decisions":[...], "issues":[...]}'
34
- ```
30
+ ### Decision Log (필수)
31
+ 위 내용을 기반으로 `.timsquad/state/decisions.jsonl`에 결정 사항을 기록하세요.
32
+ tsq-protocol 스킬의 로그 프로토콜을 따릅니다.
35
33
 
36
34
  ---
37
35
 
@@ -67,11 +65,8 @@ POST /auth/login 엔드포인트 구현 + 단위 테스트 3개 작성
67
65
  ### Issues / Handoff Notes
68
66
  - 없음
69
67
 
70
- ### TSQ Log Enrich
71
- ```
72
-
73
- ```bash
74
- tsq log enrich developer --json '{"summary":"POST /auth/login 엔드포인트 구현 + 단위 테스트 3개","techniques":[{"name":"Zod validation","reason":"런타임 입력 검증"},{"name":"Repository pattern","reason":"Supabase 추상화"}],"ssot_refs":[{"doc":"service-spec.md","section":"POST-auth-login","status":"aligned"},{"doc":"data-design.md","section":"users-table","status":"aligned"}],"decisions":[{"decision":"session-based auth","rationale":"Supabase RLS 호환성"}],"issues":[]}'
68
+ ### Decision Log
69
+ decisions.jsonl에 결정 사항 기록 완료.
75
70
  ```
76
71
 
77
72
  ### 예제 2: QA — 리뷰 결과
@@ -5,8 +5,6 @@ description: |
5
5
  {에이전트가 이 description만 보고 스킬 필요 여부를 판단함.}
6
6
  version: "1.0.0"
7
7
  tags: [{tag1}, {tag2}]
8
- depends_on: []
9
- conflicts_with: []
10
8
  user-invocable: false
11
9
  ---
12
10
 
@@ -26,7 +24,7 @@ user-invocable: false
26
24
  - **Input**: {필요한 입력/컨텍스트}
27
25
  - **Output**: {보장하는 출력/결과}
28
26
  - **Error**: {실패 시 행동}
29
- - **Dependencies**: {depends_on 스킬 목록 또는 "없음"}
27
+ - **Dependencies**: {관련 스킬 또는 "없음"}
30
28
 
31
29
  ## Protocol
32
30
 
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: architecture
2
+ name: tsq-architecture
3
3
  description: |
4
4
  아키텍처 설계 및 API 명세 가이드라인.
5
5
  Clean Architecture, RESTful API 설계, ADR, 데이터 모델링을 다룸.
6
6
  Use when: "아키텍처 설계, API 설계, ADR, 레이어 구조, 데이터 모델"
7
7
  version: "1.0.0"
8
- tags: [architecture, api, design]
8
+ tags: [tsq, architecture, api, design]
9
9
  user-invocable: false
10
10
  ---
11
11
 
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: tsq-audit
3
+ description: |
4
+ 코드 감사 스킬. 변경 파일 기반으로 관련 스킬 Verification 자동 실행 + 6관점 분석 + severity별 리포트.
5
+ 자기감사(self-audit)와 교차리뷰(cross-review)를 통합.
6
+ Use when: `/tsq-audit` 호출 시, Phase gate 전 품질 확인 시, 코드 리뷰 요청 시, PR 리뷰 시.
7
+ version: "2.0.0"
8
+ tags: [tsq, audit, review, verification, quality, code-review]
9
+ user-invocable: true
10
+ context: fork
11
+ allowed-tools: Read, Grep, Glob, Bash
12
+ argument-hint: "[대상] — 변경 사항 감사/리뷰"
13
+ ---
14
+
15
+ # Code Audit
16
+
17
+ 변경 파일 기반 감사를 수행하여 품질 게이트를 통과하도록 돕는다.
18
+ 별도 컨텍스트(fork)에서 실행하여 구현자와 독립된 판단을 보장한다.
19
+
20
+ ## Contract
21
+
22
+ - **Trigger**: `/tsq-audit` 호출 또는 Phase gate 전 품질 확인
23
+ - **Input**: 현재 변경 파일 목록 + 관련 스킬 Verification
24
+ - **Output**: 스킬별 Verification 결과 + 6관점 severity별 리포트
25
+ - **Error**: Verification 실패 시 해당 항목 + 수정 가이드 출력
26
+ - **Dependencies**: coding, testing, security
27
+
28
+ ## Protocol
29
+
30
+ 1. **변경 수집**: `git diff --name-only` 또는 staged changes로 대상 수집
31
+ 2. **스킬 매칭**: 변경 파일 확장자/경로 기반으로 관련 스킬 자동 감지
32
+ - `.ts/.tsx` → coding, typescript 스킬
33
+ - `test` 포함 경로 → testing 스킬
34
+ - `security`, `auth`, `middleware` → security 스킬
35
+ - `.sh` 파일 → security 스킬 (shellcheck)
36
+ - `schema`, `migration` → database 스킬
37
+ 3. **Verification 실행**: 매칭된 각 스킬의 Verification 테이블에서 Command 실행
38
+ 4. **6관점 분석**: 변경 코드를 아래 관점에서 분석
39
+ 5. **리포트 생성**: severity별 구조화된 결과 출력
40
+
41
+ ## 6관점 분석
42
+
43
+ | 관점 | 점검 항목 |
44
+ |------|----------|
45
+ | **보안** | OWASP Top 10, 시크릿 노출, injection, XSS |
46
+ | **타입 안전성** | any 타입, 타입 단언(as), 미검증 캐스팅 |
47
+ | **에러 핸들링** | catch 누락, 에러 무시, 불완전한 에러 처리 |
48
+ | **API 호환성** | 기존 인터페이스 변경, breaking changes |
49
+ | **테스트 커버리지** | 변경 코드의 테스트 존재 여부 |
50
+ | **성능** | N+1 쿼리, 불필요한 리렌더링, 메모리 누수 |
51
+
52
+ ## Report Format
53
+
54
+ ```
55
+ ## Audit Report
56
+ ### CRITICAL (즉시 수정)
57
+ - [CRITICAL] src/auth.ts:42 — SQL injection 가능성
58
+ ### HIGH (머지 전 수정)
59
+ - [HIGH] src/api.ts:15 — 에러 핸들링 누락
60
+ ### MEDIUM (개선 권장)
61
+ - [MEDIUM] src/utils.ts:8 — any 타입 사용
62
+ ### LOW (참고)
63
+ - [LOW] src/config.ts:3 — 매직넘버 사용
64
+ ```
65
+
66
+ ## Verification
67
+
68
+ | Check | Command | Pass Criteria |
69
+ |-------|---------|---------------|
70
+ | 변경 파일 감지 | `git diff --name-only` | 1개 이상 변경 파일 |
71
+ | 스킬 Verification | 관련 스킬 체크 실행 | 모든 체크 통과 |
72
+ | 6관점 커버리지 | 6가지 관점 체크 | 모든 관점 포함 |
73
+ | severity 분류 | 구조화 리포트 | severity 태그 존재 |
74
+ | 파일/라인 참조 | 코드 위치 명시 | 정확한 위치 참조 |
@@ -1,10 +1,12 @@
1
1
  ---
2
- name: bdd
3
- description: Behavior-Driven Development 가이드라인
2
+ name: tsq-bdd
3
+ description: |
4
+ Behavior-Driven Development 가이드라인. Given-When-Then 시나리오, 비즈니스 언어 기반 명세.
5
+ Use when: BDD 방식 개발, Given-When-Then 시나리오 작성, Feature 파일 작성, 인수 테스트 설계 시.
4
6
  version: "1.0.0"
5
- tags: [bdd, methodology, testing]
7
+ tags: [tsq, bdd, methodology, testing]
6
8
  user-invocable: false
7
- compatible-with: [tdd, ddd]
9
+ compatible-with: [tsq-tdd, tsq-ddd]
8
10
  ---
9
11
 
10
12
  # BDD (Behavior-Driven Development)
@@ -59,11 +61,14 @@ Then [기대 결과]
59
61
  - UI 구현 세부사항 시나리오에 포함
60
62
 
61
63
  ## Checklist
62
- - [ ] Feature 파일이 비즈니스 언어로 작성됨
63
- - [ ] Given-When-Then 형식 준수
64
- - [ ] 시나리오가 독립적으로 실행 가능
65
- - [ ] Step Definition 재사용성 확보
66
- - [ ] Background로 공통 전제조건 추출
64
+
65
+ | Priority | Item |
66
+ |----------|------|
67
+ | CRITICAL | Feature 파일이 비즈니스 언어로 작성됨 |
68
+ | CRITICAL | Given-When-Then 형식 준수 |
69
+ | HIGH | 시나리오가 독립적으로 실행 가능 |
70
+ | HIGH | Step Definition 재사용성 확보 |
71
+ | MEDIUM | Background로 공통 전제조건 추출 |
67
72
 
68
73
  ## 참조
69
74
  - `rules/gherkin-patterns.md` — Feature 파일, Step Definition, API BDD 예시, 디렉토리 구조
@@ -1,13 +1,11 @@
1
1
  ---
2
- name: coding
2
+ name: tsq-coding
3
3
  description: |
4
4
  코드 작성 규칙 및 패턴 가이드라인.
5
5
  네이밍 규칙, 함수 원칙, 에러 핸들링, 금지 패턴을 다룸.
6
6
  Use when: "코드 작성, 구현, 리팩토링, 네이밍, 코딩 컨벤션"
7
7
  version: "1.0.0"
8
- tags: [coding, conventions, naming]
9
- depends_on: []
10
- conflicts_with: []
8
+ tags: [tsq, coding, conventions, naming]
11
9
  user-invocable: false
12
10
  ---
13
11
 
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: tsq-controller
3
+ description: |
4
+ Context DI 컨테이너. 서브에이전트 위임 시 compiled spec을 의존성으로 주입.
5
+ 서브에이전트 호출, Task() 위임, 에이전트 실행 시 자동 트리거.
6
+ Use when: "구현해줘", "테스트해줘", "리뷰해줘", "설계해줘", 서브에이전트 위임
7
+ version: "2.1.0"
8
+ tags: [tsq, controller, di, context-injection]
9
+ user-invocable: false
10
+ ---
11
+
12
+ # Controller (Context DI Container)
13
+
14
+ 서브에이전트에게 작업을 위임할 때 컨텍스트를 자동 해석하고 주입하는 컨테이너.
15
+
16
+ ## Contract
17
+
18
+ - **Trigger**: 서브에이전트 위임 시 (구현, 테스트, 리뷰 등)
19
+ - **Input**: 에이전트 파일 + prerequisites + compiled specs
20
+ - **Output**: 조합된 프롬프트로 Task() 실행
21
+ - **Error**: spec stale 시 `tsq compile` 재실행 안내
22
+
23
+ ## Protocol
24
+
25
+ 1. **Memory 참조**: `memory/` 디렉토리의 모든 .md 파일 Read
26
+ 2. **SSOT Map 참조**: `.timsquad/ssot-map.yaml` → 티어 compiled spec 목록 확인
27
+ 3. **Capability Token 발급**: `.timsquad/state/controller-active` + `allowed-paths.txt` 생성
28
+ 4. **에이전트 파일 확인**: `.claude/agents/{agent}.md` 읽기
29
+ 5. **Prerequisites 파싱**: `<prerequisites>` 태그에서 SSOT 목록 추출
30
+ 6. **Spec Resolve**: `references/`에서 해당 compiled spec 로드
31
+ 7. **Stale 체크**: `.compile-manifest.json` hash 비교
32
+ 8. **방법론 참조**: `config.yaml`의 `methodology.development` → 해당 스킬 Protocol 로드
33
+ 9. **프롬프트 조합**: tsq-protocol + **phase-memory carry-over** + memory + specs + methodology + phase 제약 + 지시
34
+ - `.timsquad/state/phase-memory.md` 존재 시 carry-over/주의 섹션을 프롬프트 앞에 강제 삽입
35
+ - 미존재 시 스킵 (초기 프로젝트)
36
+ 10. **Task() 호출**: 조합된 프롬프트로 서브에이전트 실행. 에이전트 파일의 `model` 필드가 있으면 Task()의 model 파라미터로 전달 (예: model: sonnet → 빠른 모델, model: opus → 정밀 모델)
37
+ 11. **Completion Report 검증**: 5개 필드(Task, Status, Files, Tests, Notes) 확인 — 누락 시 재요청
38
+ 12. **완료 트리거**: Triggers 섹션의 해당 규칙 수행
39
+ 13. **Capability Token 회수**: `controller-active` + `allowed-paths.txt` 삭제
40
+
41
+ ## Delegation Rules
42
+
43
+ **Developer** — 코드 구현 + 단위 테스트. 도구: 전체. 완료: 테스트 통과 + `tsc --noEmit` 클린.
44
+ **QA** (`tsq-qa.md`) — 코드 리뷰 (읽기 전용). 도구: Read, Grep, Glob, Bash. 출력: severity별 리포트.
45
+ **Librarian** (`tsq-librarian.md`) — Phase 종합 기록 (소스 수정 금지). 도구: 전체 (src/ 제외). 호출 조건: Phase Gate PASS.
46
+ **Architect** (`tsq-architect.md`) — 실행 계획 검증 (읽기 전용, fork 컨텍스트). 도구: Read, Grep, Glob. 출력: 커버리지/의존성/크기 검증 리포트.
47
+
48
+ ## Triggers
49
+
50
+ 동기(Controller) = 프로세스 강제, 게이트 판정. 비동기(Daemon) = 관찰, 로그 기록. Daemon 장애 시 Controller는 정상 동작.
51
+
52
+ ### task-complete (동기)
53
+ 1. **Completion Report 검증** — 5개 필드(Task, Status, Files, Tests, Notes) 확인, 누락 시 재요청
54
+ 2. **단위 테스트 확인** — Status=pass 필수, fail 시 Developer에 재위임
55
+ 3. **L1 로그 + Decision Log 확인** — Daemon이 L1 생성 (SubagentStop Hook). Daemon 장애 시 Controller가 수동 기록
56
+ 4. **workflow.json 갱신** — `.timsquad/state/workflow.json`에 완료된 task/sequence/phase 상태 기록 (compact 후 재개 시 진행 상태 복구용)
57
+ 5. **Sequence 완료 판정**: 해당 sequence의 expected_agents 모두 완료 → sequence-complete
58
+ 6. **미완료 시**: 다음 태스크 위임. planning.md의 해당 Task 산출물(출력 파일)이 이미 존재하면 스킵하고 그 다음 Task로 진행 (세션 재개 시 중복 작업 방지)
59
+
60
+ ### sequence-complete (동기)
61
+ 1. **통합 게이트**: `npm run test:integration` + `tsc --noEmit` — 실패 시 차단, Developer에 수정 위임
62
+ 2. **L2 로그 확인**: `.timsquad/logs/sequences/{seq-id}.md` 존재 확인
63
+ 3. **문서 갱신 체크**: ROADMAP/STATUS/CHANGELOG stale 여부 (7일 이상 미수정 시 경고)
64
+ 3.5. **Spec Compliance 체크**: 해당 Sequence의 Sub-PRD Must-Have 목록과 완료된 Task 산출물을 대조. 누락 항목이 있으면 경고 표시 (block 아님 — 다른 Sequence나 Phase에서 처리 가능). 경고 내용을 L2 로그에 기록
65
+ 4. **Phase 완료 판정**: 모든 시퀀스 완료 → phase-complete
66
+
67
+ ### phase-complete (동기)
68
+ 1. **E2E 게이트**: `npm run test:e2e` — 실패 시 차단
69
+ 2. **L3 로그 + Phase Gate 확인**: `.timsquad/logs/phases/{phase-id}.md` 존재
70
+ 3. **Librarian 호출**: Task(librarian) — Phase Memory 아카이브 + 새 HEAD 생성 + Trail + 리포트
71
+ 4. **사용자 안내**: "Phase {id} 완료. 다음 단계: (1) `/tsq-retro` — 회고 실행, (2) `/clear` — 컨텍스트 초기화 (phase-memory 자동 주입됩니다)"
72
+
73
+ ### ssot-changed (비동기, Daemon 전담)
74
+ Daemon이 파일 감시로 `.compile-manifest.json` 갱신. 다음 Controller 실행 시 Stale 체크로 감지.
75
+
76
+ ## Mode Declaration
77
+ 서브에이전트 매 응답 첫 줄: `[MODE: {phase}] [TASK: {id}] [SPEC: {file}]`
78
+
79
+ ## P3 Workflow
80
+ Developer(구현+테스트) → vitest → QA(L1 피드백) → L2 자동 생성.
81
+ QA 진입: developer completed + tests pass + build success.
@@ -1,8 +1,10 @@
1
1
  ---
2
- name: dart
3
- description: Dart 언어 가이드라인. Sound null safety, 패턴 매칭, sealed class, 비동기 프로그래밍, Effective Dart 스타일.
2
+ name: tsq-dart
3
+ description: |
4
+ Dart 언어 가이드라인. Sound null safety, 패턴 매칭, sealed class, 비동기 프로그래밍, Effective Dart 스타일.
5
+ Use when: Dart 코드 작성·수정, null safety 적용, 패턴 매칭 사용, .dart 파일 편집 시.
4
6
  version: "1.0.0"
5
- tags: [dart, language, null-safety, async]
7
+ tags: [tsq, dart, language, null-safety, async]
6
8
  user-invocable: false
7
9
  ---
8
10
 
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: database
2
+ name: tsq-database
3
3
  description: |
4
4
  데이터베이스 설계 및 운영 방법론.
5
5
  정규화/비정규화 결정, 쿼리 최적화 프로세스, 마이그레이션 안전 규칙.
6
6
  Use when: DB 설계, 스키마 변경, 쿼리 최적화, 마이그레이션
7
7
  version: "1.0.0"
8
- tags: [database, sql, migration]
8
+ tags: [tsq, database, sql, migration]
9
9
  user-invocable: false
10
10
  ---
11
11
 
@@ -79,3 +79,6 @@ ALTER TABLE users ADD COLUMN phone VARCHAR(20);
79
79
  -- Down
80
80
  ALTER TABLE users DROP COLUMN phone;
81
81
  ```
82
+
83
+ ## 관련 스킬
84
+ - **tsq-prisma** — Prisma ORM 사용 시 스키마·쿼리·마이그레이션은 tsq-prisma 참조
@@ -1,10 +1,12 @@
1
1
  ---
2
- name: ddd
3
- description: Domain-Driven Design 전략적 설계 가이드라인
2
+ name: tsq-ddd
3
+ description: |
4
+ Domain-Driven Design 전략적 설계 가이드라인. Bounded Context, Ubiquitous Language, Context Map.
5
+ Use when: 도메인 모델링, Bounded Context 설계, 유비쿼터스 언어 정의, 컨텍스트 맵 작성 시.
4
6
  version: "1.0.0"
5
- tags: [ddd, methodology, architecture]
7
+ tags: [tsq, ddd, methodology, architecture]
6
8
  user-invocable: false
7
- compatible-with: [tdd, bdd]
9
+ compatible-with: [tsq-tdd, tsq-bdd]
8
10
  ---
9
11
 
10
12
  # DDD (Domain-Driven Design) — Strategic
@@ -63,12 +65,15 @@ Bounded Context 간 관계: Partnership, Shared Kernel, Customer-Supplier, Confo
63
65
  - 기술 용어를 도메인 모델에 사용
64
66
 
65
67
  ## Checklist
66
- - [ ] 용어 사전 존재 및 최신화
67
- - [ ] Bounded Context 경계 정의됨
68
- - [ ] 코드가 유비쿼터스 언어 사용
69
- - [ ] Context Map 문서화
70
- - [ ] 외부 연동에 ACL 적용
71
- - [ ] Subdomain 분류 (Core/Supporting/Generic)
68
+
69
+ | Priority | Item |
70
+ |----------|------|
71
+ | CRITICAL | 용어 사전 존재 및 최신화 |
72
+ | CRITICAL | Bounded Context 경계 정의됨 |
73
+ | HIGH | 코드가 유비쿼터스 언어 사용 |
74
+ | HIGH | Context Map 문서화 |
75
+ | MEDIUM | 외부 연동에 ACL 적용 |
76
+ | MEDIUM | Subdomain 분류 (Core/Supporting/Generic) |
72
77
 
73
78
  ## 참조
74
79
  - `rules/strategic-patterns.md` — Context Map, ACL 예시, Event Storming, 디렉토리 구조
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: debugging
2
+ name: tsq-debugging
3
3
  description: |
4
4
  체계적 디버깅 방법론.
5
5
  근본 원인 추적, defense-in-depth, 가설-실험 루프, 로그 기반 진단.
6
6
  Use when: "버그 수정, 디버깅, 에러 추적, 원인 분석, 트러블슈팅"
7
7
  version: "1.0.0"
8
- tags: [debugging, troubleshooting, methodology]
8
+ tags: [tsq, debugging, troubleshooting, methodology]
9
9
  user-invocable: false
10
10
  ---
11
11