timsquad 2.1.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +124 -724
- package/dist/commands/daemon.d.ts +7 -0
- package/dist/commands/daemon.d.ts.map +1 -0
- package/dist/commands/daemon.js +140 -0
- package/dist/commands/daemon.js.map +1 -0
- package/dist/commands/feedback.d.ts +9 -0
- package/dist/commands/feedback.d.ts.map +1 -1
- package/dist/commands/feedback.js +235 -14
- package/dist/commands/feedback.js.map +1 -1
- package/dist/commands/full.js +2 -2
- package/dist/commands/full.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +107 -20
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/knowledge.d.ts +3 -0
- package/dist/commands/knowledge.d.ts.map +1 -0
- package/dist/commands/knowledge.js +316 -0
- package/dist/commands/knowledge.js.map +1 -0
- package/dist/commands/log.d.ts +27 -0
- package/dist/commands/log.d.ts.map +1 -1
- package/dist/commands/log.js +965 -0
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/meta-index.d.ts +3 -0
- package/dist/commands/meta-index.d.ts.map +1 -0
- package/dist/commands/meta-index.js +401 -0
- package/dist/commands/meta-index.js.map +1 -0
- package/dist/commands/metrics.d.ts.map +1 -1
- package/dist/commands/metrics.js +239 -4
- package/dist/commands/metrics.js.map +1 -1
- package/dist/commands/retro.js +154 -6
- package/dist/commands/retro.js.map +1 -1
- package/dist/commands/upgrade.d.ts +8 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +287 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/workflow.d.ts +3 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +607 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/daemon/context-writer.d.ts +16 -0
- package/dist/daemon/context-writer.d.ts.map +1 -0
- package/dist/daemon/context-writer.js +35 -0
- package/dist/daemon/context-writer.js.map +1 -0
- package/dist/daemon/entry.d.ts +7 -0
- package/dist/daemon/entry.d.ts.map +1 -0
- package/dist/daemon/entry.js +17 -0
- package/dist/daemon/entry.js.map +1 -0
- package/dist/daemon/event-queue.d.ts +52 -0
- package/dist/daemon/event-queue.d.ts.map +1 -0
- package/dist/daemon/event-queue.js +255 -0
- package/dist/daemon/event-queue.js.map +1 -0
- package/dist/daemon/file-watcher.d.ts +19 -0
- package/dist/daemon/file-watcher.d.ts.map +1 -0
- package/dist/daemon/file-watcher.js +87 -0
- package/dist/daemon/file-watcher.js.map +1 -0
- package/dist/daemon/index.d.ts +28 -0
- package/dist/daemon/index.d.ts.map +1 -0
- package/dist/daemon/index.js +204 -0
- package/dist/daemon/index.js.map +1 -0
- package/dist/daemon/jsonl-watcher.d.ts +49 -0
- package/dist/daemon/jsonl-watcher.d.ts.map +1 -0
- package/dist/daemon/jsonl-watcher.js +258 -0
- package/dist/daemon/jsonl-watcher.js.map +1 -0
- package/dist/daemon/meta-cache.d.ts +62 -0
- package/dist/daemon/meta-cache.d.ts.map +1 -0
- package/dist/daemon/meta-cache.js +240 -0
- package/dist/daemon/meta-cache.js.map +1 -0
- package/dist/daemon/shutdown.d.ts +21 -0
- package/dist/daemon/shutdown.d.ts.map +1 -0
- package/dist/daemon/shutdown.js +158 -0
- package/dist/daemon/shutdown.js.map +1 -0
- package/dist/index.js +20 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-composer.d.ts +38 -0
- package/dist/lib/agent-composer.d.ts.map +1 -0
- package/dist/lib/agent-composer.js +128 -0
- package/dist/lib/agent-composer.js.map +1 -0
- package/dist/lib/agent-generator.d.ts +22 -0
- package/dist/lib/agent-generator.d.ts.map +1 -0
- package/dist/lib/agent-generator.js +150 -0
- package/dist/lib/agent-generator.js.map +1 -0
- package/dist/lib/ast-parser.d.ts +11 -0
- package/dist/lib/ast-parser.d.ts.map +1 -0
- package/dist/lib/ast-parser.js +282 -0
- package/dist/lib/ast-parser.js.map +1 -0
- package/dist/lib/config.d.ts +6 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +27 -3
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/meta-index.d.ts +19 -0
- package/dist/lib/meta-index.d.ts.map +1 -0
- package/dist/lib/meta-index.js +573 -0
- package/dist/lib/meta-index.js.map +1 -0
- package/dist/lib/project.js +1 -1
- package/dist/lib/project.js.map +1 -1
- package/dist/lib/skill-generator.d.ts +32 -0
- package/dist/lib/skill-generator.d.ts.map +1 -0
- package/dist/lib/skill-generator.js +187 -0
- package/dist/lib/skill-generator.js.map +1 -0
- package/dist/lib/template.d.ts +16 -2
- package/dist/lib/template.d.ts.map +1 -1
- package/dist/lib/template.js +109 -20
- package/dist/lib/template.js.map +1 -1
- package/dist/lib/ui-index.d.ts +12 -0
- package/dist/lib/ui-index.d.ts.map +1 -0
- package/dist/lib/ui-index.js +239 -0
- package/dist/lib/ui-index.js.map +1 -0
- package/dist/lib/ui-parser.d.ts +12 -0
- package/dist/lib/ui-parser.d.ts.map +1 -0
- package/dist/lib/ui-parser.js +472 -0
- package/dist/lib/ui-parser.js.map +1 -0
- package/dist/lib/update-check.d.ts +6 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +121 -0
- package/dist/lib/update-check.js.map +1 -0
- package/dist/lib/upgrade-backup.d.ts +33 -0
- package/dist/lib/upgrade-backup.d.ts.map +1 -0
- package/dist/lib/upgrade-backup.js +101 -0
- package/dist/lib/upgrade-backup.js.map +1 -0
- package/dist/lib/version.d.ts +19 -0
- package/dist/lib/version.d.ts.map +1 -0
- package/dist/lib/version.js +35 -0
- package/dist/lib/version.js.map +1 -0
- package/dist/lib/workflow-state.d.ts +48 -0
- package/dist/lib/workflow-state.d.ts.map +1 -0
- package/dist/lib/workflow-state.js +67 -0
- package/dist/lib/workflow-state.js.map +1 -0
- package/dist/types/config.d.ts +102 -2
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +173 -9
- package/dist/types/config.js.map +1 -1
- package/dist/types/feedback.d.ts +7 -0
- package/dist/types/feedback.d.ts.map +1 -1
- package/dist/types/feedback.js +1 -1
- package/dist/types/feedback.js.map +1 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/meta-index.d.ts +146 -0
- package/dist/types/meta-index.d.ts.map +1 -0
- package/dist/types/meta-index.js +7 -0
- package/dist/types/meta-index.js.map +1 -0
- package/dist/types/project.d.ts +18 -2
- package/dist/types/project.d.ts.map +1 -1
- package/dist/types/project.js +21 -0
- package/dist/types/project.js.map +1 -1
- package/dist/types/task-log.d.ts +208 -0
- package/dist/types/task-log.d.ts.map +1 -0
- package/dist/types/task-log.js +6 -0
- package/dist/types/task-log.js.map +1 -0
- package/dist/types/ui-meta.d.ts +118 -0
- package/dist/types/ui-meta.d.ts.map +1 -0
- package/dist/types/ui-meta.js +7 -0
- package/dist/types/ui-meta.js.map +1 -0
- package/package.json +12 -4
- package/templates/base/agents/base/tsq-architect.md +68 -0
- package/templates/base/agents/base/tsq-dba.md +56 -0
- package/templates/base/agents/base/tsq-designer.md +72 -0
- package/templates/base/agents/base/tsq-developer.md +67 -0
- package/templates/base/agents/base/tsq-qa.md +55 -0
- package/templates/base/agents/base/tsq-security.md +65 -0
- package/templates/base/agents/overlays/domain/general-web/_common.md +11 -0
- package/templates/base/agents/overlays/platform/claude-code.md +12 -0
- package/templates/base/config.template.yaml +213 -0
- package/templates/base/knowledge/checklists/accessibility.md +37 -0
- package/templates/base/knowledge/checklists/architecture-review.md +28 -0
- package/templates/base/knowledge/checklists/database-standards.md +84 -0
- package/templates/base/knowledge/checklists/design-reference.md +97 -0
- package/templates/base/knowledge/checklists/security.md +50 -0
- package/templates/base/knowledge/checklists/ssot-validation.md +19 -0
- package/templates/base/knowledge/domains/_template.md +16 -0
- package/templates/base/knowledge/platforms/_template.md +16 -0
- package/templates/base/knowledge/templates/sequence-report.md +44 -0
- package/templates/base/knowledge/templates/task-result.md +105 -0
- package/templates/base/skills/_template/SKILL.md +59 -0
- package/templates/base/skills/_template/references/_template.md +35 -0
- package/templates/base/skills/_template/rules/_sections.md +34 -0
- package/templates/base/skills/_template/rules/_template.md +32 -0
- package/templates/base/skills/_template/scripts/_template.sh +31 -0
- package/templates/base/skills/architecture/SKILL.md +54 -0
- package/templates/base/skills/architecture/references/adr-template.md +50 -0
- package/templates/base/skills/architecture/references/api-design.md +64 -0
- package/templates/base/skills/backend/node/SKILL.md +81 -0
- package/templates/base/skills/backend/node/rules/async-patterns.md +81 -0
- package/templates/base/skills/backend/node/rules/deployment.md +33 -0
- package/templates/base/skills/backend/node/rules/env-config.md +41 -0
- package/templates/base/skills/backend/node/rules/error-handling.md +83 -0
- package/templates/base/skills/backend/node/rules/hono-app-setup.md +98 -0
- package/templates/base/skills/backend/node/rules/jwt-auth.md +76 -0
- package/templates/base/skills/backend/node/rules/middleware.md +56 -0
- package/templates/base/skills/backend/node/rules/testing.md +82 -0
- package/templates/base/skills/coding/SKILL.md +47 -0
- package/templates/base/skills/coding/rules/patterns.md +81 -0
- package/templates/base/skills/database/SKILL.md +98 -0
- package/templates/base/skills/database/prisma/SKILL.md +57 -0
- package/templates/base/skills/database/prisma/rules/queries.md +133 -0
- package/templates/base/skills/database/prisma/rules/schema-design.md +80 -0
- package/templates/base/skills/frontend/nextjs/SKILL.md +59 -0
- package/templates/base/skills/frontend/nextjs/rules/app-router.md +138 -0
- package/templates/base/skills/frontend/react/SKILL.md +86 -0
- package/templates/base/skills/frontend/react/rules/_sections.md +88 -0
- package/templates/base/skills/frontend/react/rules/anti-patterns.md +67 -0
- package/templates/base/skills/frontend/react/rules/async-api-routes.md +38 -0
- package/templates/base/skills/frontend/react/rules/async-defer-await.md +80 -0
- package/templates/base/skills/frontend/react/rules/async-dependencies.md +36 -0
- package/templates/base/skills/frontend/react/rules/async-parallel.md +28 -0
- package/templates/base/skills/frontend/react/rules/async-suspense-boundaries.md +99 -0
- package/templates/base/skills/frontend/react/rules/bundle-barrel-imports.md +59 -0
- package/templates/base/skills/frontend/react/rules/bundle-defer-third-party.md +49 -0
- package/templates/base/skills/frontend/react/rules/bundle-dynamic-imports.md +35 -0
- package/templates/base/skills/frontend/react/rules/component-conventions.md +74 -0
- package/templates/base/skills/frontend/react/rules/js-combine-iterations.md +32 -0
- package/templates/base/skills/frontend/react/rules/js-early-exit.md +50 -0
- package/templates/base/skills/frontend/react/rules/js-index-maps.md +37 -0
- package/templates/base/skills/frontend/react/rules/js-set-map-lookups.md +24 -0
- package/templates/base/skills/frontend/react/rules/rendering-conditional-render.md +40 -0
- package/templates/base/skills/frontend/react/rules/rendering-content-visibility.md +38 -0
- package/templates/base/skills/frontend/react/rules/rendering-hoist-jsx.md +46 -0
- package/templates/base/skills/frontend/react/rules/rerender-defer-reads.md +39 -0
- package/templates/base/skills/frontend/react/rules/rerender-derived-state.md +29 -0
- package/templates/base/skills/frontend/react/rules/rerender-memo.md +44 -0
- package/templates/base/skills/frontend/react/rules/rerender-transitions.md +40 -0
- package/templates/base/skills/frontend/react/rules/server-after-nonblocking.md +73 -0
- package/templates/base/skills/frontend/react/rules/server-cache-react.md +26 -0
- package/templates/base/skills/frontend/react/rules/server-parallel-fetching.md +79 -0
- package/templates/base/skills/frontend/react/rules/state-location.md +55 -0
- package/templates/base/skills/methodology/bdd/SKILL.md +69 -0
- package/templates/base/skills/methodology/bdd/rules/gherkin-patterns.md +113 -0
- package/templates/base/skills/methodology/ddd/SKILL.md +74 -0
- package/templates/base/skills/methodology/ddd/rules/strategic-patterns.md +98 -0
- package/templates/base/skills/methodology/debugging/SKILL.md +60 -0
- package/templates/base/skills/methodology/debugging/references/root-cause-tracing.md +84 -0
- package/templates/base/skills/methodology/tdd/SKILL.md +66 -0
- package/templates/base/skills/methodology/tdd/rules/real-world-example.md +88 -0
- package/templates/base/skills/methodology/tdd/rules/techniques.md +185 -0
- package/templates/base/skills/planning/SKILL.md +58 -0
- package/templates/base/skills/planning/references/prd-guide.md +47 -0
- package/templates/base/skills/planning/references/requirements-guide.md +46 -0
- package/templates/base/skills/prompt-engineering/SKILL.md +103 -0
- package/templates/base/skills/retrospective/SKILL.md +102 -0
- package/templates/base/skills/security/SKILL.md +55 -0
- package/templates/base/skills/security/rules/owasp-examples.md +119 -0
- package/templates/base/skills/security/scripts/check-secrets.sh +55 -0
- package/templates/base/skills/testing/SKILL.md +63 -0
- package/templates/base/skills/testing/references/testing-patterns.md +103 -0
- package/templates/base/skills/tsq-protocol/SKILL.md +51 -0
- package/templates/base/skills/typescript/SKILL.md +67 -0
- package/templates/base/skills/typescript/rules/type-patterns.md +135 -0
- package/templates/base/skills/typescript/rules/utility-types.md +76 -0
- package/templates/base/skills/ui-design/SKILL.md +70 -0
- package/templates/{common → base}/timsquad/feedback/routing-rules.yaml +1 -1
- package/templates/{common → base}/timsquad/retrospective/metrics/metrics-schema.json +46 -1
- package/templates/platforms/claude-code/CLAUDE.md.template +64 -0
- package/templates/platforms/claude-code/rules/adr-rules.md +32 -0
- package/templates/platforms/claude-code/rules/feedback-routing.md +18 -0
- package/templates/platforms/claude-code/rules/phase-management.md +23 -0
- package/templates/platforms/claude-code/rules/reporting-format.md +26 -0
- package/templates/platforms/claude-code/rules/sequence-management.md +72 -0
- package/templates/platforms/claude-code/rules/workspace-sync.md +33 -0
- package/templates/platforms/claude-code/settings.json +26 -0
- package/templates/project-types/api-backend/config.yaml +227 -0
- package/templates/project-types/api-backend/process/workflow.xml +214 -0
- package/templates/project-types/fintech/config.yaml +151 -0
- package/templates/project-types/fintech/process/workflow.xml +316 -0
- package/templates/project-types/infra/config.yaml +327 -0
- package/templates/project-types/infra/process/workflow.xml +296 -0
- package/templates/project-types/platform/config.yaml +254 -0
- package/templates/project-types/platform/process/workflow.xml +254 -0
- package/templates/project-types/web-app/config.yaml +198 -0
- package/templates/project-types/web-app/process/workflow.xml +210 -0
- package/templates/project-types/web-service/config.yaml +136 -0
- package/templates/project-types/web-service/process/workflow.xml +184 -0
- package/templates/common/CLAUDE.md.template +0 -254
- package/templates/common/claude/agents/tsq-dba.md +0 -311
- package/templates/common/claude/agents/tsq-designer.md +0 -323
- package/templates/common/claude/agents/tsq-developer.md +0 -177
- package/templates/common/claude/agents/tsq-planner.md +0 -190
- package/templates/common/claude/agents/tsq-prompter.md +0 -356
- package/templates/common/claude/agents/tsq-qa.md +0 -168
- package/templates/common/claude/agents/tsq-retro.md +0 -193
- package/templates/common/claude/agents/tsq-security.md +0 -221
- package/templates/common/claude/hooks/auto-metrics.sh +0 -165
- package/templates/common/claude/hooks/auto-worklog.sh +0 -245
- package/templates/common/claude/hooks/event-logger.sh +0 -208
- package/templates/common/claude/settings.json +0 -86
- package/templates/common/claude/skills/architecture/SKILL.md +0 -123
- package/templates/common/claude/skills/backend/node/SKILL.md +0 -1015
- package/templates/common/claude/skills/coding/SKILL.md +0 -171
- package/templates/common/claude/skills/database/prisma/SKILL.md +0 -357
- package/templates/common/claude/skills/frontend/nextjs/SKILL.md +0 -279
- package/templates/common/claude/skills/frontend/react/SKILL.md +0 -1729
- package/templates/common/claude/skills/methodology/bdd/SKILL.md +0 -234
- package/templates/common/claude/skills/methodology/ddd/SKILL.md +0 -311
- package/templates/common/claude/skills/methodology/tdd/SKILL.md +0 -512
- package/templates/common/claude/skills/planning/SKILL.md +0 -90
- package/templates/common/claude/skills/security/SKILL.md +0 -234
- package/templates/common/claude/skills/testing/SKILL.md +0 -146
- package/templates/common/claude/skills/typescript/SKILL.md +0 -435
- package/templates/common/config.template.yaml +0 -132
- /package/templates/{common → base}/timsquad/architectures/clean/ARCHITECTURE.md +0 -0
- /package/templates/{common → base}/timsquad/architectures/clean/backend.xml +0 -0
- /package/templates/{common → base}/timsquad/architectures/clean/frontend.xml +0 -0
- /package/templates/{common → base}/timsquad/architectures/fsd/ARCHITECTURE.md +0 -0
- /package/templates/{common → base}/timsquad/architectures/fsd/frontend.xml +0 -0
- /package/templates/{common → base}/timsquad/architectures/hexagonal/ARCHITECTURE.md +0 -0
- /package/templates/{common → base}/timsquad/architectures/hexagonal/backend.xml +0 -0
- /package/templates/{common → base}/timsquad/constraints/competency-framework.xml +0 -0
- /package/templates/{common → base}/timsquad/constraints/ssot-schema.xml +0 -0
- /package/templates/{common → base}/timsquad/feedback/feedback-router.sh +0 -0
- /package/templates/{common → base}/timsquad/generators/data-design.xml +0 -0
- /package/templates/{common → base}/timsquad/generators/prd.xml +0 -0
- /package/templates/{common → base}/timsquad/generators/requirements.xml +0 -0
- /package/templates/{common → base}/timsquad/generators/service-spec.xml +0 -0
- /package/templates/{common → base}/timsquad/logs/_example.md +0 -0
- /package/templates/{common → base}/timsquad/logs/_template.md +0 -0
- /package/templates/{common → base}/timsquad/patterns/cqrs.xml +0 -0
- /package/templates/{common → base}/timsquad/patterns/event-sourcing.xml +0 -0
- /package/templates/{common → base}/timsquad/patterns/repository.xml +0 -0
- /package/templates/{common → base}/timsquad/process/phase-checklist.yaml +0 -0
- /package/templates/{common → base}/timsquad/process/state-machine.xml +0 -0
- /package/templates/{common → base}/timsquad/process/validation-rules.xml +0 -0
- /package/templates/{common → base}/timsquad/process/workflow-base.xml +0 -0
- /package/templates/{common → base}/timsquad/retrospective/cycle-report.template.md +0 -0
- /package/templates/{common → base}/timsquad/retrospective/patterns/failure-patterns.md +0 -0
- /package/templates/{common → base}/timsquad/retrospective/patterns/success-patterns.md +0 -0
- /package/templates/{common → base}/timsquad/retrospective/retrospective-config.xml +0 -0
- /package/templates/{common → base}/timsquad/retrospective/retrospective-state.xml +0 -0
- /package/templates/{common → base}/timsquad/ssot/adr/ADR-000-template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/adr/ADR-001-example.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/data-design.template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/deployment-spec.template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/env-config.template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/error-codes.template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/functional-spec.template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/glossary.template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/integration-spec.template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/planning.template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/prd.template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/requirements.template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/security-spec.template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/service-spec.template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/test-spec.template.md +0 -0
- /package/templates/{common → base}/timsquad/ssot/ui-ux-spec.template.md +0 -0
- /package/templates/{common → base}/timsquad/state/workspace.xml +0 -0
package/README.md
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/timsquad_banner.png" alt="TimSquad" width="100%">
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
<p align="center">
|
|
6
|
+
<strong>Vibe Development Framework</strong><br>
|
|
7
|
+
SSOT 기반 문서 체계, 최적화된 에이전트 롤, 회고적 학습을 통해 Claude Code에서 지속적으로 개선되는 고품질 소프트웨어 생성 프레임워크
|
|
8
|
+
</p>
|
|
6
9
|
|
|
7
10
|
```
|
|
8
11
|
최적화된 롤 정의 + 고도화된 스킬 + 회고적 학습 = 지속적으로 개선되는 고품질 결과물
|
|
@@ -12,12 +15,12 @@
|
|
|
12
15
|
|
|
13
16
|
## Why TimSquad?
|
|
14
17
|
|
|
15
|
-
| |
|
|
18
|
+
| | 일반적 접근 | **TimSquad** |
|
|
16
19
|
|---|---------|------------|
|
|
17
20
|
| 철학 | "Zero learning curve" | **"체계를 세우면 더 잘 된다"** |
|
|
18
21
|
| 의사결정 | LLM이 알아서 | **개발자가 컨트롤** |
|
|
19
22
|
| 우선순위 | 속도 | **품질 + 일관성** |
|
|
20
|
-
| 반복 작업 | LLM이 처리 | **프로그램이 처리 (토큰
|
|
23
|
+
| 반복 작업 | LLM이 처리 (토큰 소비) | **프로그램이 처리 (토큰 0)** |
|
|
21
24
|
| 학습 | 없음 | **회고적 학습으로 지속 개선** |
|
|
22
25
|
|
|
23
26
|
**For developers who want structure, not magic.**
|
|
@@ -28,30 +31,10 @@
|
|
|
28
31
|
- 1인 CTO / 테크 리드 (혼자서 팀 수준의 품질 필요)
|
|
29
32
|
- 문서화와 일관성을 중시하는 개발자
|
|
30
33
|
|
|
31
|
-
### NOT for
|
|
32
|
-
|
|
33
|
-
- "알아서 해줘" 원하는 사람 → oh-my-claudecode 추천
|
|
34
|
-
- 코딩만 빠르게 하고 싶은 사람 → Claude Code 그냥 사용
|
|
35
|
-
|
|
36
|
-
### 토큰 효율성
|
|
37
|
-
|
|
38
|
-
> **"LLM은 생각하는 일에만, 반복 작업은 프로그램에게"**
|
|
39
|
-
|
|
40
|
-
| 작업 | oh-my-* 방식 | TimSquad 방식 | 절약률 |
|
|
41
|
-
|-----|-------------|--------------|-------|
|
|
42
|
-
| 피드백 분류 | LLM 판단 | YAML 규칙 | **100%** |
|
|
43
|
-
| 로그 저장 | "저장해" 프롬프트 | bash 파이프 | **100%** |
|
|
44
|
-
| 에이전트 선택 | LLM 오케스트레이터 | 프로그램 스케줄러 | **100%** |
|
|
45
|
-
| 메트릭 수집 | LLM 분석 | jq + bash | **100%** |
|
|
46
|
-
| 품질 경고 | LLM 판단 | threshold 체크 | **100%** |
|
|
47
|
-
| **전체** | 100% | 40-60% | **40-60% 절약** |
|
|
48
|
-
|
|
49
34
|
---
|
|
50
35
|
|
|
51
36
|
## 설치
|
|
52
37
|
|
|
53
|
-
### npm (권장)
|
|
54
|
-
|
|
55
38
|
```bash
|
|
56
39
|
# 전역 설치
|
|
57
40
|
npm install -g timsquad
|
|
@@ -60,19 +43,9 @@ npm install -g timsquad
|
|
|
60
43
|
npx timsquad init
|
|
61
44
|
```
|
|
62
45
|
|
|
63
|
-
### Git Clone
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
git clone https://github.com/sonature-lab/timsquad.git
|
|
67
|
-
cd timsquad
|
|
68
|
-
npm install && npm run build && npm link
|
|
69
|
-
```
|
|
70
|
-
|
|
71
46
|
**요구사항:**
|
|
72
47
|
- Node.js >= 18.0.0
|
|
73
48
|
- [Claude Code](https://claude.ai/claude-code) (에이전트 실행 환경)
|
|
74
|
-
- Git (선택 - `tsq commit`, `tsq pr` 등)
|
|
75
|
-
- GitHub CLI `gh` (선택 - 회고 Issue, Improvement 분석)
|
|
76
49
|
|
|
77
50
|
---
|
|
78
51
|
|
|
@@ -81,11 +54,8 @@ npm install && npm run build && npm link
|
|
|
81
54
|
### 1. 프로젝트 초기화
|
|
82
55
|
|
|
83
56
|
```bash
|
|
84
|
-
# 대화형 초기화
|
|
85
|
-
tsq init
|
|
86
|
-
|
|
87
|
-
# 비대화형
|
|
88
|
-
tsq init -n my-app -t web-service -l 2 -y
|
|
57
|
+
tsq init # 대화형 초기화
|
|
58
|
+
tsq init -n my-app -t web-service -l 2 -y # 비대화형
|
|
89
59
|
```
|
|
90
60
|
|
|
91
61
|
### 2. 생성되는 구조
|
|
@@ -93,46 +63,46 @@ tsq init -n my-app -t web-service -l 2 -y
|
|
|
93
63
|
```
|
|
94
64
|
my-app/
|
|
95
65
|
├── CLAUDE.md # PM 역할 정의 (에이전트 지시사항)
|
|
96
|
-
├── .gitignore # TimSquad 맞춤 설정
|
|
97
66
|
├── .claude/
|
|
98
|
-
│ ├── settings.json # Claude Code
|
|
99
|
-
│ ├──
|
|
100
|
-
│
|
|
67
|
+
│ ├── settings.json # Claude Code 설정
|
|
68
|
+
│ ├── rules/ # 메인 세션 전용 규칙
|
|
69
|
+
│ ├── agents/ # 6개 전문 에이전트
|
|
70
|
+
│ │ ├── tsq-architect.md # 아키텍처 설계 (Sonnet)
|
|
101
71
|
│ │ ├── tsq-developer.md # 코드 구현 (Sonnet)
|
|
102
|
-
│ │ ├── tsq-qa.md # 검증/리뷰
|
|
103
|
-
│ │ ├── tsq-security.md # 보안 검토
|
|
104
|
-
│ │ ├── tsq-dba.md # DB 설계
|
|
105
|
-
│ │
|
|
106
|
-
│
|
|
107
|
-
│ │
|
|
108
|
-
│ ├──
|
|
109
|
-
│ │ ├──
|
|
110
|
-
│ │ ├──
|
|
111
|
-
│ │
|
|
112
|
-
│
|
|
113
|
-
│
|
|
114
|
-
│
|
|
115
|
-
│
|
|
116
|
-
│
|
|
117
|
-
│
|
|
72
|
+
│ │ ├── tsq-qa.md # 검증/리뷰 (Sonnet)
|
|
73
|
+
│ │ ├── tsq-security.md # 보안 검토 (Sonnet)
|
|
74
|
+
│ │ ├── tsq-dba.md # DB 설계 (Sonnet)
|
|
75
|
+
│ │ └── tsq-designer.md # UI/UX 설계 (Sonnet)
|
|
76
|
+
│ ├── skills/ # 도메인별 스킬셋
|
|
77
|
+
│ │ ├── tsq-protocol/ # 에이전트 공통 프로토콜
|
|
78
|
+
│ │ ├── coding/ # 코딩 규칙 + rules/
|
|
79
|
+
│ │ ├── testing/ # 테스트 전략 + references/
|
|
80
|
+
│ │ ├── typescript/ # TypeScript 패턴 + rules/
|
|
81
|
+
│ │ ├── frontend/(react|nextjs)/ # 프론트엔드 + Vercel 22개 룰
|
|
82
|
+
│ │ ├── backend/node/ # Node.js 백엔드 + rules/
|
|
83
|
+
│ │ ├── database/prisma/ # Prisma ORM + rules/
|
|
84
|
+
│ │ ├── methodology/(tdd|bdd|ddd|debugging)/
|
|
85
|
+
│ │ └── ...
|
|
86
|
+
│ └── knowledge/ # 에이전트 참조 지식
|
|
87
|
+
│ ├── checklists/ # 보안, 접근성, SSOT 검증
|
|
88
|
+
│ └── templates/ # 출력 형식 (task-result 등)
|
|
118
89
|
└── .timsquad/
|
|
119
90
|
├── config.yaml # 프로젝트 설정
|
|
120
|
-
├── ssot/ # SSOT 문서 (
|
|
91
|
+
├── ssot/ # SSOT 문서 (레벨별 5~14개)
|
|
121
92
|
├── process/ # 워크플로우 정의
|
|
122
|
-
├── state/ # 상태 관리
|
|
123
|
-
├── knowledge/ # 프로젝트 지식 베이스
|
|
93
|
+
├── state/ # 상태 관리 + Meta Index
|
|
124
94
|
├── feedback/ # 피드백 저장소
|
|
125
|
-
├── logs/ #
|
|
95
|
+
├── logs/ # 3계층 로그 (L1→L2→L3)
|
|
126
96
|
└── retrospective/ # 회고 데이터
|
|
127
97
|
```
|
|
128
98
|
|
|
129
99
|
### 3. Claude Code에서 작업
|
|
130
100
|
|
|
131
101
|
```bash
|
|
132
|
-
claude
|
|
102
|
+
claude # Claude Code 실행
|
|
133
103
|
|
|
134
104
|
# PM(CLAUDE.md)이 자동으로 작업을 분류하고 에이전트에 위임
|
|
135
|
-
@tsq-
|
|
105
|
+
@tsq-architect "시스템 아키텍처 설계해줘"
|
|
136
106
|
@tsq-developer "로그인 API 구현해줘"
|
|
137
107
|
@tsq-qa "코드 리뷰해줘"
|
|
138
108
|
```
|
|
@@ -143,694 +113,136 @@ claude # Claude Code 실행
|
|
|
143
113
|
tsq status # 현재 상태 확인
|
|
144
114
|
tsq q "버튼 색상 변경" # Quick 모드 (간단한 작업)
|
|
145
115
|
tsq f "결제 기능 추가" # Full 모드 (SSOT 검증)
|
|
146
|
-
tsq
|
|
116
|
+
tsq retro auto # 회고 자동 실행
|
|
147
117
|
```
|
|
148
118
|
|
|
149
119
|
---
|
|
150
120
|
|
|
151
|
-
## 핵심
|
|
121
|
+
## 핵심 기능
|
|
152
122
|
|
|
153
|
-
### SSOT
|
|
123
|
+
### SSOT 문서 체계
|
|
154
124
|
|
|
155
|
-
|
|
125
|
+
프로젝트 레벨에 따라 필수 문서가 자동 결정됩니다:
|
|
156
126
|
|
|
157
|
-
| 레벨 |
|
|
158
|
-
|
|
159
|
-
| **Level 1** (MVP) |
|
|
160
|
-
| **Level 2** (Standard) |
|
|
161
|
-
| **Level 3** (Enterprise) |
|
|
127
|
+
| 레벨 | 필수 문서 | 대상 |
|
|
128
|
+
|------|----------|------|
|
|
129
|
+
| **Level 1** (MVP) | PRD, Planning, Requirements, Service Spec, Data Design (5개) | 사이드 프로젝트, PoC |
|
|
130
|
+
| **Level 2** (Standard) | Level 1 + 6개 추가 (11개) | 일반 프로젝트, 스타트업 |
|
|
131
|
+
| **Level 3** (Enterprise) | Level 2 + 3개 추가 (14개) | 엔터프라이즈, fintech |
|
|
162
132
|
|
|
163
|
-
###
|
|
133
|
+
### 에이전트 시스템
|
|
164
134
|
|
|
165
|
-
|
|
135
|
+
PM(CLAUDE.md)이 총괄하며 6개 전문 에이전트에 위임합니다. 각 에이전트는 XML 구조화된 프롬프트, 필수 스킬 주입, 3단계 피드백 라우팅을 갖추고 있습니다.
|
|
166
136
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
↓
|
|
176
|
-
ERD + 구현 (병렬)
|
|
177
|
-
↓
|
|
178
|
-
QA/Test
|
|
179
|
-
│
|
|
180
|
-
┌────┼────┐
|
|
181
|
-
↓ ↓ ↓
|
|
182
|
-
L1 L2 L3 ← 피드백 라우팅
|
|
183
|
-
↓
|
|
184
|
-
회고적 학습 → 템플릿/프롬프트 자동 개선
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
### 프로젝트 타입
|
|
188
|
-
|
|
189
|
-
| 타입 | 설명 | 추가 필수 문서 |
|
|
190
|
-
|------|------|--------------|
|
|
191
|
-
| `web-service` | SaaS, 풀스택 웹 서비스 | UI/UX Spec |
|
|
192
|
-
| `web-app` | BaaS 기반 (Supabase/Firebase) | UI/UX Spec, Data Design |
|
|
193
|
-
| `api-backend` | API 서버, 마이크로서비스 | - |
|
|
194
|
-
| `platform` | 프레임워크, SDK | Integration Spec, Glossary |
|
|
195
|
-
| `fintech` | 거래소, 결제 (Level 3 강제) | Security Spec, Error Codes, Deployment Spec |
|
|
196
|
-
| `infra` | DevOps, 자동화 | Deployment Spec, Env Config |
|
|
197
|
-
|
|
198
|
-
---
|
|
137
|
+
| 에이전트 | 역할 |
|
|
138
|
+
|----------|------|
|
|
139
|
+
| `@tsq-architect` | 아키텍처 설계, ADR, 코드 구조 리뷰 |
|
|
140
|
+
| `@tsq-developer` | SSOT 기반 코드 구현, TDD |
|
|
141
|
+
| `@tsq-qa` | 코드 리뷰, 테스트 검증, SSOT 적합성 |
|
|
142
|
+
| `@tsq-security` | 보안 검증, OWASP, 취약점 분석 |
|
|
143
|
+
| `@tsq-dba` | DB 설계, 쿼리 최적화, 마이그레이션 |
|
|
144
|
+
| `@tsq-designer` | UI/UX 설계, 접근성, 디자인 토큰 |
|
|
199
145
|
|
|
200
|
-
|
|
146
|
+
### 피드백 라우팅 (L1/L2/L3)
|
|
201
147
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
| 에이전트 | 모델 | 역할 | 도구 |
|
|
205
|
-
|----------|------|------|------|
|
|
206
|
-
| **PM** (CLAUDE.md) | Opus | 총괄 관리, 작업 분류, SSOT 관리 | 전체 |
|
|
207
|
-
| `@tsq-planner` | Opus | 기획, 아키텍처, API 설계 | Read, Write, Edit, Bash, Grep, Glob, WebSearch |
|
|
208
|
-
| `@tsq-developer` | Sonnet | 코드 구현, 테스트, 리팩토링 | Read, Write, Edit, Bash, Grep, Glob |
|
|
209
|
-
| `@tsq-qa` | Sonnet | 코드 리뷰, 테스트 검증 | Read, Bash, Grep, Glob |
|
|
210
|
-
| `@tsq-security` | Sonnet | 보안 리뷰, 취약점 분석 | Read, Bash, Grep, Glob |
|
|
211
|
-
| `@tsq-dba` | Sonnet | DB 설계, 쿼리 최적화 | Read, Write, Edit, Bash |
|
|
212
|
-
| `@tsq-designer` | Sonnet | UI/UX 설계 | Read, Write, Edit |
|
|
213
|
-
| `@tsq-prompter` | Sonnet | 프롬프트 최적화 | Read, Write, Edit, Grep |
|
|
214
|
-
| `@tsq-retro` | Sonnet | 회고 분석, 학습 | Read, Write, Grep, Glob |
|
|
215
|
-
|
|
216
|
-
### 위임 규칙
|
|
148
|
+
피드백을 3단계로 자동 분류하고 적절한 액션을 실행합니다:
|
|
217
149
|
|
|
218
150
|
```
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
보안 검토 → @tsq-security
|
|
223
|
-
기타 → PM이 직접 처리
|
|
151
|
+
L1 (구현 수정) → Developer 자동 처리 → 승인 불필요
|
|
152
|
+
L2 (설계 수정) → in_review 상태로 전환 → Phase Gate 차단
|
|
153
|
+
L3 (기획 수정) → 사용자 승인 대기 → approve/reject 필수
|
|
224
154
|
```
|
|
225
155
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
에이전트 간 작업 상태는 `.timsquad/state/workspace.xml`로 실시간 공유됩니다:
|
|
156
|
+
→ 상세: [docs/feedback-and-retrospective.md](docs/feedback-and-retrospective.md)
|
|
229
157
|
|
|
230
|
-
|
|
231
|
-
<workspace>
|
|
232
|
-
<current-task>로그인 API 구현</current-task>
|
|
233
|
-
<completed-tasks>...</completed-tasks>
|
|
234
|
-
<blockers>...</blockers>
|
|
235
|
-
<handoff-notes>...</handoff-notes>
|
|
236
|
-
</workspace>
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
---
|
|
158
|
+
### 회고적 학습
|
|
240
159
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
### 프로젝트 관리
|
|
244
|
-
|
|
245
|
-
```bash
|
|
246
|
-
tsq init # 프로젝트 초기화
|
|
247
|
-
tsq init -n my-app -t web-service -l 2 -y # 비대화형
|
|
248
|
-
tsq status # 프로젝트 상태 확인
|
|
249
|
-
tsq status --ssot # SSOT 문서 상태만
|
|
250
|
-
tsq status --phase # 현재 Phase만
|
|
251
|
-
tsq status --metrics # 메트릭만
|
|
252
|
-
tsq status --all # 전체 상세
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
### 작업 모드
|
|
160
|
+
작업 로그 → 패턴 분석 → 개선 제안 → 프롬프트/템플릿 업데이트. LLM 파인튜닝 대신 프롬프트/템플릿 개선으로 실용화합니다.
|
|
256
161
|
|
|
257
162
|
```bash
|
|
258
|
-
#
|
|
259
|
-
tsq
|
|
260
|
-
tsq quick "오타 수정"
|
|
261
|
-
|
|
262
|
-
# Full 모드 - 본격 작업 (SSOT 검증 포함)
|
|
263
|
-
tsq f "사용자 인증 기능 추가"
|
|
264
|
-
tsq full "결제 모듈 구현"
|
|
163
|
+
tsq retro auto # 수집 → 분석 → 리포트 → 적용 (원클릭)
|
|
164
|
+
tsq improve analyze # 패턴 분석 + 개선 제안
|
|
265
165
|
```
|
|
266
166
|
|
|
267
|
-
|
|
167
|
+
→ 상세: [docs/feedback-and-retrospective.md](docs/feedback-and-retrospective.md)
|
|
268
168
|
|
|
269
|
-
|
|
270
|
-
|---|---|---|
|
|
271
|
-
| SSOT 검증 | 생략 | 필수 |
|
|
272
|
-
| 라우팅 | `@tsq-developer` 직행 | `@tsq-planner` 경유 |
|
|
273
|
-
| 적합한 작업 | CSS 수정, 오타, 간단한 버그 | 새 기능, API 변경, DB 변경 |
|
|
274
|
-
| 복잡도 판단 | 자동 (키워드 분석) | - |
|
|
275
|
-
| 로그 위치 | `logs/quick/` | `logs/{date}-planner.md` |
|
|
169
|
+
### 데몬 기반 자동화 파이프라인
|
|
276
170
|
|
|
277
|
-
|
|
171
|
+
**모든 오케스트레이션은 토큰 비용 0** — 프로그램이 판단합니다:
|
|
278
172
|
|
|
279
|
-
### 작업 로그
|
|
280
|
-
|
|
281
|
-
```bash
|
|
282
|
-
tsq log add developer work "인증 모듈 구현 완료"
|
|
283
|
-
tsq log add qa decision "E2E 테스트 프레임워크로 Playwright 선택"
|
|
284
|
-
tsq log add developer error "Prisma migration 실패"
|
|
285
|
-
tsq log list # 로그 파일 목록
|
|
286
|
-
tsq log list developer # 특정 에이전트만
|
|
287
|
-
tsq log today # 오늘 로그
|
|
288
|
-
tsq log today developer # 오늘 특정 에이전트 로그
|
|
289
|
-
tsq log view 2026-02-13-developer.md # 특정 파일
|
|
290
|
-
tsq log search "인증" # 키워드 검색
|
|
291
|
-
tsq log summary # 오늘 요약
|
|
292
|
-
tsq log summary 2026-02-10 # 특정 날짜 요약
|
|
293
173
|
```
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
| `error` | 발생한 에러 | "DB connection timeout" |
|
|
302
|
-
| `feedback` | 피드백 기록 | "API 응답 형식 변경 필요" |
|
|
303
|
-
| `handoff` | 작업 인수인계 | "보안 검토 필요 → @tsq-security" |
|
|
304
|
-
|
|
305
|
-
#### 로그 압축 (`tsq log compact`)
|
|
306
|
-
|
|
307
|
-
오래된 로그를 압축하여 디스크를 절약합니다:
|
|
308
|
-
|
|
309
|
-
```bash
|
|
310
|
-
tsq log compact # 기본 30일 이상 로그 압축
|
|
311
|
-
tsq log compact --days 14 # 14일 이상 로그 압축
|
|
312
|
-
tsq log compact --dry-run # 미리보기 (실제 삭제 안 함)
|
|
174
|
+
Claude Code 세션 → 데몬이 JSONL 실시간 감시
|
|
175
|
+
→ L1 태스크 로그 자동 기록
|
|
176
|
+
→ L2 시퀀스 로그 자동 집계
|
|
177
|
+
→ L3 Phase 로그 자동 생성
|
|
178
|
+
→ Phase Gate 자동 확인
|
|
179
|
+
→ 메트릭 인메모리 누적 → 세션 끝 flush
|
|
180
|
+
→ Meta Index 자동 업데이트
|
|
313
181
|
```
|
|
314
182
|
|
|
315
|
-
|
|
316
|
-
- **세션 JSONL** → 월별 summary JSON으로 통합 (이벤트 수, 도구 사용, 실패율 등 통계 보존)
|
|
317
|
-
- **작업 로그 MD** → 월별 archive MD로 병합
|
|
318
|
-
- 원본 파일은 삭제되어 디스크 절약
|
|
319
|
-
- `--dry-run`으로 먼저 확인 후 실행 권장
|
|
320
|
-
|
|
321
|
-
### Git 연동
|
|
183
|
+
→ 상세: [docs/token-efficiency.md](docs/token-efficiency.md)
|
|
322
184
|
|
|
323
|
-
|
|
324
|
-
tsq commit # 대화형 커밋
|
|
325
|
-
tsq commit -m "feat: 로그인 추가" # 메시지 지정
|
|
326
|
-
tsq commit -a -m "fix: 버그 수정" # 전체 스테이지 + 커밋
|
|
327
|
-
tsq pr # Pull Request 생성
|
|
328
|
-
tsq sync # fetch + rebase
|
|
329
|
-
tsq release # 태그 + GitHub Release
|
|
330
|
-
```
|
|
185
|
+
### Meta Index (코드 구조 인덱스)
|
|
331
186
|
|
|
332
|
-
|
|
187
|
+
AST 기반 코드/UI 구조 자동 인덱싱 + 에이전트 semantic 데이터 병합:
|
|
333
188
|
|
|
334
189
|
```bash
|
|
335
|
-
tsq
|
|
336
|
-
tsq
|
|
337
|
-
tsq watch status # 감시 상태 확인
|
|
190
|
+
tsq mi rebuild # 전체 코드+UI 인덱스 구축
|
|
191
|
+
tsq mi stats # Health Score + UI Health
|
|
338
192
|
```
|
|
339
193
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
### 세션 관리
|
|
343
|
-
|
|
344
|
-
```bash
|
|
345
|
-
tsq session list # 세션 목록
|
|
346
|
-
tsq session view <id> # 세션 상세
|
|
347
|
-
```
|
|
194
|
+
→ 상세: [docs/meta-index-architecture.md](docs/meta-index-architecture.md)
|
|
348
195
|
|
|
349
196
|
---
|
|
350
197
|
|
|
351
|
-
##
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
tsq
|
|
359
|
-
tsq
|
|
360
|
-
tsq feedback
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
### 자동 분류 트리거 (15종)
|
|
370
|
-
|
|
371
|
-
| Level | 트리거 | 키워드 예시 |
|
|
372
|
-
|-------|--------|-----------|
|
|
373
|
-
| **1** (구현) | `test_failure` | 테스트 실패, test fail |
|
|
374
|
-
| **1** | `lint_error` | lint, eslint, prettier |
|
|
375
|
-
| **1** | `type_error` | 타입 에러, type error, TS2304 |
|
|
376
|
-
| **1** | `runtime_error` | 런타임 에러, crash, 500, timeout |
|
|
377
|
-
| **1** | `code_style_violation` | 코드 스타일, convention |
|
|
378
|
-
| **2** (설계) | `architecture_issue` | 아키텍처, 구조 변경, 레이어 |
|
|
379
|
-
| **2** | `api_mismatch` | API 불일치, 인터페이스, 스펙 |
|
|
380
|
-
| **2** | `performance_problem` | 성능, 느림, N+1, 메모리 |
|
|
381
|
-
| **2** | `scalability_concern` | 확장성, 스케일링, 부하 |
|
|
382
|
-
| **2** | `security_vulnerability` | 보안, 취약점, XSS, SQL injection |
|
|
383
|
-
| **3** (기획) | `requirement_ambiguity` | 요구사항 모호, 스펙 불명확 |
|
|
384
|
-
| **3** | `scope_change` | 범위 변경, 추가 기능, 일정 변경 |
|
|
385
|
-
| **3** | `business_logic_error` | 비즈니스 로직, 정책, 규칙 |
|
|
386
|
-
| **3** | `feature_request` | 기능 요청, 새 기능 |
|
|
387
|
-
| **3** | `stakeholder_feedback` | 피드백, 리뷰 결과, 고객 의견 |
|
|
388
|
-
|
|
389
|
-
### 피드백 저장
|
|
390
|
-
|
|
391
|
-
```
|
|
392
|
-
.timsquad/
|
|
393
|
-
├── logs/{date}-feedback.md # 사람이 읽는 로그
|
|
394
|
-
└── feedback/
|
|
395
|
-
├── FB-0001.json # 구조화 데이터 (회고 집계용)
|
|
396
|
-
├── FB-0002.json
|
|
397
|
-
└── phase-planning-2026-02-13.json # Phase KPT 회고
|
|
398
|
-
```
|
|
399
|
-
|
|
400
|
-
**FB JSON 구조:**
|
|
401
|
-
```json
|
|
402
|
-
{
|
|
403
|
-
"id": "FB-0001",
|
|
404
|
-
"timestamp": "2026-02-13T10:30:00Z",
|
|
405
|
-
"type": "user-feedback",
|
|
406
|
-
"level": 1,
|
|
407
|
-
"trigger": "test_failure",
|
|
408
|
-
"message": "login API 404 에러",
|
|
409
|
-
"routeTo": "developer",
|
|
410
|
-
"tags": ["api", "testing"]
|
|
411
|
-
}
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
### 자동 피드백 생성
|
|
415
|
-
|
|
416
|
-
Claude Code 세션 종료 시 도구 실패가 **3회 이상**이면 `auto-worklog.sh`가 자동으로 `FB-XXXX.json`을 생성합니다:
|
|
417
|
-
|
|
418
|
-
```json
|
|
419
|
-
{
|
|
420
|
-
"id": "FB-0005",
|
|
421
|
-
"type": "auto-feedback",
|
|
422
|
-
"level": 1,
|
|
423
|
-
"trigger": "tool_failure",
|
|
424
|
-
"message": "세션 abc123에서 도구 실패 5회 감지. 실패 도구: Bash(3) Edit(2)",
|
|
425
|
-
"routeTo": "developer",
|
|
426
|
-
"tags": ["auto-detected", "tool_failure", "abc123"]
|
|
427
|
-
}
|
|
428
|
-
```
|
|
429
|
-
|
|
430
|
-
수동 개입 없이 문제 패턴이 자동으로 축적되어 회고 시 분석됩니다.
|
|
198
|
+
## CLI 명령어 요약
|
|
199
|
+
|
|
200
|
+
| 명령어 | 설명 |
|
|
201
|
+
|--------|------|
|
|
202
|
+
| `tsq init` | 프로젝트 초기화 (대화형/비대화형) |
|
|
203
|
+
| `tsq status` | 프로젝트 상태 확인 |
|
|
204
|
+
| `tsq q "작업"` | Quick 모드 (간단한 작업) |
|
|
205
|
+
| `tsq f "작업"` | Full 모드 (SSOT 검증) |
|
|
206
|
+
| `tsq log` | 3계층 작업 로그 관리 (L1/L2/L3) |
|
|
207
|
+
| `tsq feedback` | 피드백 분류 + 자동 액션 |
|
|
208
|
+
| `tsq retro` | 회고 실행 (수동/자동) |
|
|
209
|
+
| `tsq metrics` | 메트릭 수집/트렌드 |
|
|
210
|
+
| `tsq mi` | Meta Index 관리 (rebuild/stats) |
|
|
211
|
+
| `tsq knowledge` | Knowledge 파일 관리 |
|
|
212
|
+
| `tsq wf` | 워크플로우 자동화 |
|
|
213
|
+
| `tsq daemon` | 백그라운드 데몬 관리 |
|
|
214
|
+
|
|
215
|
+
→ 전체 CLI 레퍼런스: [docs/cli.md](docs/cli.md)
|
|
431
216
|
|
|
432
217
|
---
|
|
433
218
|
|
|
434
|
-
##
|
|
435
|
-
|
|
436
|
-
TimSquad의 핵심 차별점인 **회고적 학습 파이프라인**입니다. 축적된 데이터를 분석하여 에이전트 프롬프트, SSOT 템플릿, 워크플로우를 지속적으로 개선합니다.
|
|
437
|
-
|
|
438
|
-
### 전체 파이프라인
|
|
439
|
-
|
|
440
|
-
```
|
|
441
|
-
[Claude Code 세션]
|
|
442
|
-
│
|
|
443
|
-
▼
|
|
444
|
-
[Hook 자동화] ─── event-logger.sh ──→ 이벤트 JSONL 기록
|
|
445
|
-
(토큰 0) │
|
|
446
|
-
├──→ auto-worklog.sh ──→ 작업 로그 + 품질 경고 + 자동 피드백
|
|
447
|
-
└──→ auto-metrics.sh ──→ 누적 메트릭 갱신
|
|
448
|
-
│
|
|
449
|
-
▼
|
|
450
|
-
[피드백 축적] ─── tsq feedback ──→ FB-XXXX.json (수동)
|
|
451
|
-
auto-worklog ──→ FB-XXXX.json (자동, 실패 3회+)
|
|
452
|
-
tsq retro phase ──→ phase-{name}-{date}.json (KPT)
|
|
453
|
-
│
|
|
454
|
-
▼
|
|
455
|
-
[회고 사이클] ─── tsq retro auto ──→ 수집 → 분석 → 리포트 → 적용
|
|
456
|
-
│ │
|
|
457
|
-
│ ├──→ cycle-N.md (리포트)
|
|
458
|
-
│ ├──→ GitHub Issue (retro-feedback 라벨)
|
|
459
|
-
│ └──→ 피드백 아카이브
|
|
460
|
-
│
|
|
461
|
-
▼
|
|
462
|
-
[개선 분석] ─── tsq improve fetch ──→ GitHub Issue 수집
|
|
463
|
-
tsq improve analyze ──→ 패턴 분석 + 개선 제안
|
|
464
|
-
tsq improve summary ──→ 결과 확인
|
|
465
|
-
│
|
|
466
|
-
▼
|
|
467
|
-
[적용] ──→ 에이전트 프롬프트 개선
|
|
468
|
-
SSOT 템플릿 최적화
|
|
469
|
-
워크플로우 조정
|
|
470
|
-
피드백 라우팅 정확도 향상
|
|
471
|
-
```
|
|
472
|
-
|
|
473
|
-
### Phase 회고 (KPT)
|
|
474
|
-
|
|
475
|
-
개발 단계별로 KPT(Keep-Problem-Try) 프레임워크 회고를 실행합니다:
|
|
219
|
+
## 프로젝트 타입
|
|
476
220
|
|
|
477
|
-
|
|
478
|
-
tsq retro phase planning # planning 단계 회고
|
|
479
|
-
tsq retro phase implementation # implementation 단계 회고
|
|
480
|
-
tsq retro phase review # review 단계 회고
|
|
481
|
-
tsq retro phase security # security 단계 회고
|
|
482
|
-
tsq retro phase deployment # deployment 단계 회고
|
|
483
|
-
```
|
|
484
|
-
|
|
485
|
-
대화형으로 진행:
|
|
486
|
-
```
|
|
487
|
-
? Keep (잘 된 것) 추가: SSOT 문서 기반 구현으로 일관성 확보
|
|
488
|
-
? 더 추가? (y/n): n
|
|
489
|
-
? Problem (문제점) 추가: API 스펙 변경이 프론트에 자동 전파 안 됨
|
|
490
|
-
? 더 추가? (y/n): n
|
|
491
|
-
? Try (다음에 시도) 추가: API 변경 시 프론트 자동 알림 추가
|
|
492
|
-
? 더 추가? (y/n): n
|
|
493
|
-
✓ Phase retrospective saved
|
|
494
|
-
```
|
|
495
|
-
|
|
496
|
-
저장: `.timsquad/feedback/phase-{phase}-{date}.json`
|
|
497
|
-
|
|
498
|
-
### 회고 사이클 (수동)
|
|
499
|
-
|
|
500
|
-
5단계로 구성된 전체 회고 사이클:
|
|
501
|
-
|
|
502
|
-
```bash
|
|
503
|
-
tsq retro start # 1. 새 사이클 시작
|
|
504
|
-
tsq retro collect # 2. 로그 및 메트릭 수집
|
|
505
|
-
tsq retro analyze # 3. 패턴 분석
|
|
506
|
-
tsq retro report # 4. 리포트 생성 + GitHub Issue
|
|
507
|
-
tsq retro apply # 5. 개선 적용 (피드백 아카이브)
|
|
508
|
-
tsq retro status # 현재 사이클 상태 확인
|
|
509
|
-
```
|
|
510
|
-
|
|
511
|
-
**상태 전이:**
|
|
512
|
-
```
|
|
513
|
-
idle → collecting → analyzing → reporting → applying → idle
|
|
514
|
-
```
|
|
515
|
-
|
|
516
|
-
각 단계는 중간에 중단해도 이어서 진행할 수 있습니다.
|
|
517
|
-
|
|
518
|
-
### 자동 회고 (`tsq retro auto`)
|
|
519
|
-
|
|
520
|
-
위 5단계를 원클릭으로 자동 실행합니다:
|
|
521
|
-
|
|
522
|
-
```bash
|
|
523
|
-
tsq retro auto # 전체 자동 실행
|
|
524
|
-
tsq retro auto --local # GitHub Issue 생성 생략
|
|
525
|
-
```
|
|
526
|
-
|
|
527
|
-
**실행 흐름:**
|
|
528
|
-
```
|
|
529
|
-
[1/4] Cycle 3 started
|
|
530
|
-
[2/4] Metrics collected (15 logs, 4 agents)
|
|
531
|
-
[3/4] Analysis skipped (programmatic mode)
|
|
532
|
-
[4/4] Cycle 3 completed
|
|
533
|
-
→ Improvement analysis 자동 실행 중...
|
|
534
|
-
→ Improvement analysis completed
|
|
535
|
-
결과 확인: tsq improve summary
|
|
536
|
-
```
|
|
537
|
-
|
|
538
|
-
**자동으로 수행하는 작업:**
|
|
539
|
-
1. 새 사이클 시작 (또는 기존 사이클 이어서 진행)
|
|
540
|
-
2. 로그 파일 수집 + 에이전트별 통계 생성
|
|
541
|
-
3. Phase 회고 + 피드백 데이터 집계 리포트 생성
|
|
542
|
-
4. GitHub Issue 자동 생성 (라벨: `retro-feedback`)
|
|
543
|
-
5. 처리된 피드백 아카이브 (`feedback/` → `archive-cycle-N/`)
|
|
544
|
-
6. `tsq improve fetch` + `tsq improve analyze` 자동 연결
|
|
545
|
-
|
|
546
|
-
### 개선 분석 (`tsq improve`)
|
|
547
|
-
|
|
548
|
-
회고에서 생성된 GitHub Issue를 분석하여 개선 패턴을 도출합니다:
|
|
549
|
-
|
|
550
|
-
```bash
|
|
551
|
-
tsq improve fetch # retro-feedback 라벨 Issue 수집
|
|
552
|
-
tsq improve fetch --limit 50 # 최대 50개 수집
|
|
553
|
-
tsq improve fetch --repo org/repo # 특정 레포
|
|
554
|
-
tsq improve analyze # 패턴 분석 + 개선 제안
|
|
555
|
-
tsq improve summary # 결과 확인
|
|
556
|
-
```
|
|
557
|
-
|
|
558
|
-
**분석 패턴 카테고리:**
|
|
559
|
-
|
|
560
|
-
| 카테고리 | 설명 | 개선 대상 |
|
|
561
|
-
|---------|------|----------|
|
|
562
|
-
| `agent-prompt` | 에이전트 지시/역할 개선 | `.claude/agents/*.md` |
|
|
563
|
-
| `ssot-template` | SSOT 템플릿 최적화 | `.timsquad/ssot/*.md` |
|
|
564
|
-
| `workflow` | 단계/전환 프로세스 개선 | `.timsquad/process/` |
|
|
565
|
-
| `feedback-routing` | 피드백 분류 정확도 향상 | 라우팅 규칙 |
|
|
566
|
-
| `config` | 프로젝트 설정 옵션 | `config.yaml` |
|
|
567
|
-
| `tooling` | CLI/명령어 UX 개선 | CLI 코드 |
|
|
568
|
-
|
|
569
|
-
저장: `.timsquad-improve/` 디렉토리
|
|
570
|
-
|
|
571
|
-
### 회고 리포트 구조
|
|
572
|
-
|
|
573
|
-
`tsq retro report` 또는 `tsq retro auto`가 생성하는 리포트:
|
|
574
|
-
|
|
575
|
-
```markdown
|
|
576
|
-
# Retrospective Report - Cycle 3
|
|
577
|
-
|
|
578
|
-
## Summary
|
|
579
|
-
- Phase Retros: 3건
|
|
580
|
-
- Feedbacks: 12건 (L1: 8, L2: 3, L3: 1)
|
|
581
|
-
|
|
582
|
-
## By Level
|
|
583
|
-
### Level 1 (구현 수정) - 8건
|
|
584
|
-
- 테스트 실패 관련 3건
|
|
585
|
-
- 타입 에러 관련 2건
|
|
586
|
-
- 도구 실패 자동 감지 3건
|
|
587
|
-
|
|
588
|
-
### Level 2 (설계 수정) - 3건
|
|
589
|
-
- API 스펙 불일치 2건
|
|
590
|
-
- 성능 이슈 1건
|
|
591
|
-
|
|
592
|
-
### Level 3 (기획 수정) - 1건
|
|
593
|
-
- 요구사항 변경 1건
|
|
594
|
-
|
|
595
|
-
## By Phase
|
|
596
|
-
### Implementation
|
|
597
|
-
- Keep: TDD 적용으로 버그 조기 발견
|
|
598
|
-
- Problem: API 스펙 변경이 프론트에 전파 안 됨
|
|
599
|
-
- Try: API 변경 시 자동 알림 추가
|
|
600
|
-
|
|
601
|
-
## Top Issues
|
|
602
|
-
1. API 스펙 불일치 (3회 반복)
|
|
603
|
-
2. 테스트 커버리지 미달 (2회 반복)
|
|
604
|
-
```
|
|
605
|
-
|
|
606
|
-
---
|
|
607
|
-
|
|
608
|
-
## 메트릭 시스템
|
|
609
|
-
|
|
610
|
-
### 수집 및 조회
|
|
611
|
-
|
|
612
|
-
```bash
|
|
613
|
-
tsq metrics collect # 메트릭 수집
|
|
614
|
-
tsq metrics collect --days 7 # 최근 7일만 수집
|
|
615
|
-
tsq metrics summary # 최신 메트릭 요약
|
|
616
|
-
tsq metrics trend # 기간별 트렌드 비교
|
|
617
|
-
tsq metrics trend --n 5 # 최근 5개 기간 비교
|
|
618
|
-
tsq metrics export # JSON 내보내기
|
|
619
|
-
tsq metrics export --output report.json
|
|
620
|
-
```
|
|
621
|
-
|
|
622
|
-
### 수집 항목
|
|
623
|
-
|
|
624
|
-
**프로세스 메트릭:**
|
|
625
|
-
|
|
626
|
-
| 항목 | 설명 |
|
|
627
|
-
|------|------|
|
|
628
|
-
| Log Activity | 에이전트별 로그 파일 빈도 |
|
|
629
|
-
| Decision Ratio | 의사결정 로그 비율 |
|
|
630
|
-
| Error Rate | 에러 로그 비율 |
|
|
631
|
-
|
|
632
|
-
**피드백 메트릭:**
|
|
633
|
-
|
|
634
|
-
| 항목 | 설명 |
|
|
635
|
-
|------|------|
|
|
636
|
-
| Total Feedback | 총 피드백 수 |
|
|
637
|
-
| Level 1/2/3 | 레벨별 분포 |
|
|
638
|
-
|
|
639
|
-
**SSOT 건강도:**
|
|
640
|
-
|
|
641
|
-
| 항목 | 설명 |
|
|
221
|
+
| 타입 | 설명 |
|
|
642
222
|
|------|------|
|
|
643
|
-
|
|
|
644
|
-
|
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
|
649
|
-
|------|------|------|
|
|
650
|
-
| Tool Efficiency | 도구 성공률 (%) | 90%+ 정상 |
|
|
651
|
-
| Cache Hit Rate | 프롬프트 캐시 적중률 | **80%+ 우수** / 60-80% 보통 / **<60% 주의** |
|
|
652
|
-
| Output Tokens/Turn | 턴당 평균 출력 토큰 | - |
|
|
653
|
-
| CLI Adoption | Bash에서 tsq CLI 사용률 (%) | 높을수록 자동화 활용 |
|
|
654
|
-
|
|
655
|
-
### 자동 메트릭 수집 (`auto-metrics.sh`)
|
|
656
|
-
|
|
657
|
-
Claude Code 세션 종료 시 자동으로 세션 JSONL을 분석하여 `.timsquad/retrospective/metrics/latest.json`에 누적합니다. **토큰 비용 0**.
|
|
658
|
-
|
|
659
|
-
누적 수집 항목:
|
|
660
|
-
- 총 세션 수, 총 이벤트 수
|
|
661
|
-
- 도구 사용 횟수, 실패 횟수
|
|
662
|
-
- 서브에이전트 호출 횟수
|
|
663
|
-
- 토큰 (Input, Output, Cache Create, Cache Read)
|
|
664
|
-
- 파생 지표: Tool Efficiency, Cache Hit Rate, CLI Adoption
|
|
665
|
-
|
|
666
|
-
### 품질 경고 (Quality Alerts)
|
|
667
|
-
|
|
668
|
-
`auto-worklog.sh`가 세션 종료 시 자동으로 threshold를 검사합니다:
|
|
669
|
-
|
|
670
|
-
| 경고 | 조건 | 의미 | 조치 |
|
|
671
|
-
|------|------|------|------|
|
|
672
|
-
| Tool Failure Rate | > 10% | 도구 실패 과다 | 에이전트 프롬프트, 권한 설정 점검 |
|
|
673
|
-
| Cache Hit Rate | < 60% | 캐시 비효율 | CLAUDE.md, 에이전트 프롬프트 구조 검토 |
|
|
674
|
-
|
|
675
|
-
경고 발생 시: `.timsquad/logs/{date}-alerts.md`에 자동 기록
|
|
676
|
-
|
|
677
|
-
```markdown
|
|
678
|
-
# Quality Alerts - 2026-02-13
|
|
679
|
-
|
|
680
|
-
> TimSquad 자동 품질 경고 - threshold 초과 시 자동 생성
|
|
681
|
-
|
|
682
|
-
- **[10:45:00]** Tool Failure Rate 15% (> 10%) - 세션 `abc123`
|
|
683
|
-
- 도구 실패 6/40회. 에이전트 프롬프트나 권한 설정 점검
|
|
684
|
-
- **[14:30:00]** Cache Hit Rate 45% (< 60%) - 세션 `def456`
|
|
685
|
-
- 프롬프트 구조 불안정. CLAUDE.md 또는 에이전트 프롬프트 검토
|
|
686
|
-
```
|
|
687
|
-
|
|
688
|
-
---
|
|
689
|
-
|
|
690
|
-
## 자동화 파이프라인
|
|
691
|
-
|
|
692
|
-
### Claude Code Hook 아키텍처
|
|
693
|
-
|
|
694
|
-
Claude Code 세션 이벤트에 반응하는 3개의 훅 스크립트:
|
|
695
|
-
|
|
696
|
-
```
|
|
697
|
-
SessionStart ───────→ event-logger.sh (세션 시작 로깅)
|
|
698
|
-
PostToolUse ────────→ event-logger.sh (도구 사용 기록)
|
|
699
|
-
PostToolUseFailure ─→ event-logger.sh (도구 실패 + 에러 기록)
|
|
700
|
-
SubagentStart ──────→ event-logger.sh (서브에이전트 시작)
|
|
701
|
-
SubagentStop ───────→ event-logger.sh (서브에이전트 종료)
|
|
702
|
-
Stop ───────────────→ event-logger.sh (에이전트 중단)
|
|
703
|
-
|
|
704
|
-
SessionEnd ─────────→ event-logger.sh ─┬→ auto-worklog.sh (작업 로그 자동 생성)
|
|
705
|
-
│ ├→ 품질 경고 (threshold 체크)
|
|
706
|
-
│ └→ 자동 피드백 (실패 3회+)
|
|
707
|
-
└→ auto-metrics.sh (누적 메트릭 갱신)
|
|
708
|
-
```
|
|
709
|
-
|
|
710
|
-
**모든 자동화는 토큰 비용 0** — bash + jq를 사용한 순수 파일 I/O
|
|
711
|
-
|
|
712
|
-
### event-logger.sh
|
|
713
|
-
|
|
714
|
-
세션의 모든 이벤트를 JSONL 형식으로 기록:
|
|
715
|
-
|
|
716
|
-
```jsonl
|
|
717
|
-
{"timestamp":"10:30:00","event":"SessionStart","session":"abc123"}
|
|
718
|
-
{"timestamp":"10:30:05","event":"PostToolUse","tool":"Read","session":"abc123"}
|
|
719
|
-
{"timestamp":"10:30:10","event":"PostToolUseFailure","tool":"Bash","error":"permission denied","session":"abc123"}
|
|
720
|
-
{"timestamp":"10:35:00","event":"SubagentStart","subagent_type":"developer","session":"abc123"}
|
|
721
|
-
{"timestamp":"10:40:00","event":"SubagentStop","session":"abc123"}
|
|
722
|
-
{"timestamp":"10:45:00","event":"SessionEnd","session":"abc123","total_usage":{"input_tokens":125000,"output_tokens":8500}}
|
|
723
|
-
```
|
|
724
|
-
|
|
725
|
-
저장: `.timsquad/logs/sessions/{date}-{session-id}.jsonl`
|
|
726
|
-
|
|
727
|
-
### auto-worklog.sh
|
|
728
|
-
|
|
729
|
-
세션 종료 시 JSONL을 분석하여 사람이 읽을 수 있는 작업 로그를 자동 생성합니다:
|
|
730
|
-
|
|
731
|
-
```markdown
|
|
732
|
-
## Session abc123 (2026-02-13 10:30)
|
|
733
|
-
| 항목 | 값 | 설명 |
|
|
734
|
-
|------|---|------|
|
|
735
|
-
| Tool Uses | 45 | PostToolUse 이벤트 수 |
|
|
736
|
-
| Failures | 2 | PostToolUseFailure 이벤트 수 |
|
|
737
|
-
| Subagents | 3 | 서브에이전트 호출 수 |
|
|
738
|
-
| Duration | ~15min | 세션 추정 시간 |
|
|
739
|
-
| Input Tokens | 125,000 | 프롬프트 입력 토큰 |
|
|
740
|
-
| Output Tokens | 8,500 | 모델 출력 토큰 |
|
|
741
|
-
| Cache Hit Rate | 82% | 80%+ 우수 / 60-80% 보통 / <60% 주의 |
|
|
742
|
-
|
|
743
|
-
### Top Tools
|
|
744
|
-
Read(15) Edit(12) Bash(8) Grep(5) Glob(3) Write(2)
|
|
745
|
-
```
|
|
746
|
-
|
|
747
|
-
### auto-metrics.sh
|
|
748
|
-
|
|
749
|
-
세션 JSONL을 분석하여 `latest.json`에 누적 메트릭을 갱신합니다. 기존 데이터에 새 세션 데이터를 더하는 방식으로, 여러 세션에 걸친 트렌드를 추적합니다.
|
|
750
|
-
|
|
751
|
-
---
|
|
752
|
-
|
|
753
|
-
## 아키텍처 템플릿
|
|
754
|
-
|
|
755
|
-
`tsq init` 시 포함되는 아키텍처 참조 문서:
|
|
756
|
-
|
|
757
|
-
| 패턴 | 설명 | 적합한 타입 |
|
|
758
|
-
|------|------|-----------|
|
|
759
|
-
| **Hexagonal** (Ports & Adapters) | 외부 의존성 격리 | api-backend, platform |
|
|
760
|
-
| **FSD** (Feature-Sliced Design) | 프론트엔드 기능 단위 분리 | web-app, web-service |
|
|
761
|
-
| **Clean Architecture** | 계층 분리, 의존성 역전 | 범용 |
|
|
762
|
-
|
|
763
|
-
추가로 CQRS, Event Sourcing, Repository 패턴 참조 파일도 포함됩니다.
|
|
223
|
+
| `web-service` | SaaS, 풀스택 웹 서비스 |
|
|
224
|
+
| `web-app` | BaaS 기반 (Supabase/Firebase) |
|
|
225
|
+
| `api-backend` | API 서버, 마이크로서비스 |
|
|
226
|
+
| `platform` | 프레임워크, SDK |
|
|
227
|
+
| `fintech` | 거래소, 결제 (Level 3 강제) |
|
|
228
|
+
| `infra` | DevOps, 자동화 |
|
|
764
229
|
|
|
765
230
|
---
|
|
766
231
|
|
|
767
|
-
##
|
|
768
|
-
|
|
769
|
-
`.timsquad/config.yaml`:
|
|
770
|
-
|
|
771
|
-
```yaml
|
|
772
|
-
project:
|
|
773
|
-
name: "my-app"
|
|
774
|
-
type: web-service
|
|
775
|
-
level: 2
|
|
776
|
-
|
|
777
|
-
agents:
|
|
778
|
-
planner:
|
|
779
|
-
model: opus
|
|
780
|
-
developer:
|
|
781
|
-
model: sonnet
|
|
782
|
-
qa:
|
|
783
|
-
model: sonnet
|
|
784
|
-
|
|
785
|
-
methodology:
|
|
786
|
-
development: tdd
|
|
787
|
-
process: agile
|
|
788
|
-
branching: github-flow
|
|
789
|
-
```
|
|
790
|
-
|
|
791
|
-
---
|
|
232
|
+
## 문서
|
|
792
233
|
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
│ │ ├── retro.ts # 회고 시스템 (수동/자동)
|
|
806
|
-
│ │ ├── feedback.ts # 피드백 라우팅
|
|
807
|
-
│ │ ├── metrics.ts # 메트릭 수집/트렌드
|
|
808
|
-
│ │ ├── quick.ts # Quick 모드
|
|
809
|
-
│ │ ├── full.ts # Full 모드
|
|
810
|
-
│ │ ├── watch.ts # SSOT 감시
|
|
811
|
-
│ │ ├── improve.ts # 개선 분석
|
|
812
|
-
│ │ ├── session.ts # 세션 관리
|
|
813
|
-
│ │ └── git/ # Git 명령어
|
|
814
|
-
│ │ ├── commit.ts
|
|
815
|
-
│ │ ├── pr.ts
|
|
816
|
-
│ │ ├── release.ts
|
|
817
|
-
│ │ └── sync.ts
|
|
818
|
-
│ ├── lib/ # 핵심 라이브러리
|
|
819
|
-
│ ├── types/ # TypeScript 타입
|
|
820
|
-
│ └── utils/ # 유틸리티
|
|
821
|
-
├── templates/ # 프로젝트 타입별 템플릿
|
|
822
|
-
│ ├── common/ # 공통 (에이전트, 훅, 스킬, SSOT)
|
|
823
|
-
│ ├── web-service/
|
|
824
|
-
│ ├── web-app/
|
|
825
|
-
│ ├── api-backend/
|
|
826
|
-
│ ├── platform/
|
|
827
|
-
│ ├── fintech/
|
|
828
|
-
│ └── infra/
|
|
829
|
-
├── scripts/ # 레거시 셸 스크립트
|
|
830
|
-
├── docs/
|
|
831
|
-
│ └── PRD.md # 상세 기획 문서
|
|
832
|
-
└── install/
|
|
833
|
-
```
|
|
234
|
+
| 문서 | 설명 |
|
|
235
|
+
|------|------|
|
|
236
|
+
| [PRD](docs/PRD.md) | 프레임워크 전체 기획 |
|
|
237
|
+
| [Core Concepts](docs/core-concepts.md) | 분수 모델, SSOT, 에이전트/스킬 구조 |
|
|
238
|
+
| [CLI Reference](docs/cli.md) | 전체 CLI 명령어 레퍼런스 |
|
|
239
|
+
| [Authoring Guide](docs/authoring-guide.md) | 에이전트/스킬/Knowledge 작성 가이드 |
|
|
240
|
+
| [Log Architecture](docs/log-architecture.md) | 3계층 로그 체계 (L1→L2→L3) |
|
|
241
|
+
| [Feedback & Retrospective](docs/feedback-and-retrospective.md) | 피드백 라우팅 + 회고적 학습 |
|
|
242
|
+
| [Token Efficiency](docs/token-efficiency.md) | 토큰 효율성 설계 |
|
|
243
|
+
| [Knowledge Architecture](docs/knowledge-architecture.md) | Knowledge 시스템 |
|
|
244
|
+
| [Meta Index Architecture](docs/meta-index-architecture.md) | 코드/UI 구조 인덱스 |
|
|
245
|
+
| [File Structure](docs/file-structure.md) | 템플릿 + 초기화 후 구조 |
|
|
834
246
|
|
|
835
247
|
---
|
|
836
248
|
|
|
@@ -845,21 +257,13 @@ timsquad/
|
|
|
845
257
|
|
|
846
258
|
---
|
|
847
259
|
|
|
848
|
-
## Roadmap
|
|
849
|
-
|
|
850
|
-
- [x] **Phase 0 (MVP)** - common 템플릿, 기본 에이전트, CLI
|
|
851
|
-
- [x] **Phase 1** - 자동화 파이프라인, 회고 시스템, 메트릭 고도화
|
|
852
|
-
- [ ] **Phase 2** - Plugin 배포, MCP 서버, 멀티 LLM 지원
|
|
853
|
-
|
|
854
|
-
---
|
|
855
|
-
|
|
856
260
|
## Contributing
|
|
857
261
|
|
|
858
262
|
기여를 환영합니다!
|
|
859
263
|
|
|
860
264
|
1. Fork the repository
|
|
861
265
|
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
862
|
-
3. Commit your changes (`git commit -m '
|
|
266
|
+
3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
|
|
863
267
|
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
864
268
|
5. Open a Pull Request
|
|
865
269
|
|
|
@@ -871,11 +275,7 @@ MIT License - see [LICENSE](LICENSE) for details.
|
|
|
871
275
|
|
|
872
276
|
---
|
|
873
277
|
|
|
874
|
-
## Related
|
|
278
|
+
## Related
|
|
875
279
|
|
|
876
280
|
- [Anthropic Skills](https://github.com/anthropics/skills)
|
|
877
|
-
- [
|
|
878
|
-
|
|
879
|
-
---
|
|
880
|
-
|
|
881
|
-
**TimSquad v2.1** - AI Agent Development Process Framework
|
|
281
|
+
- [Claude Code](https://claude.ai/claude-code)
|