timsquad 2.1.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ko.md +288 -0
- package/README.md +170 -763
- package/dist/commands/compile.d.ts +3 -0
- package/dist/commands/compile.d.ts.map +1 -0
- package/dist/commands/compile.js +170 -0
- package/dist/commands/compile.js.map +1 -0
- package/dist/commands/daemon.d.ts +7 -0
- package/dist/commands/daemon.d.ts.map +1 -0
- package/dist/commands/daemon.js +229 -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 +118 -22
- 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/skills.d.ts +12 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +231 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/upgrade.d.ts +8 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +292 -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 +29 -0
- package/dist/daemon/index.d.ts.map +1 -0
- package/dist/daemon/index.js +296 -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 +63 -0
- package/dist/daemon/meta-cache.d.ts.map +1 -0
- package/dist/daemon/meta-cache.js +249 -0
- package/dist/daemon/meta-cache.js.map +1 -0
- package/dist/daemon/session-state.d.ts +19 -0
- package/dist/daemon/session-state.d.ts.map +1 -0
- package/dist/daemon/session-state.js +132 -0
- package/dist/daemon/session-state.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 +164 -0
- package/dist/daemon/shutdown.js.map +1 -0
- package/dist/index.js +24 -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/compile-rules.d.ts +66 -0
- package/dist/lib/compile-rules.d.ts.map +1 -0
- package/dist/lib/compile-rules.js +114 -0
- package/dist/lib/compile-rules.js.map +1 -0
- package/dist/lib/compiler.d.ts +105 -0
- package/dist/lib/compiler.d.ts.map +1 -0
- package/dist/lib/compiler.js +368 -0
- package/dist/lib/compiler.js.map +1 -0
- package/dist/lib/config.d.ts +7 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +34 -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 +115 -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 +103 -2
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +184 -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 +19 -3
- package/dist/types/project.d.ts.map +1 -1
- package/dist/types/project.js +23 -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/domain/mobile/_common.md +13 -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/controller/SKILL.md +111 -0
- package/templates/base/skills/controller/references/README.md +35 -0
- package/templates/base/skills/controller/rules/README.md +18 -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/mobile/dart/SKILL.md +69 -0
- package/templates/base/skills/mobile/dart/rules/async-patterns.md +112 -0
- package/templates/base/skills/mobile/dart/rules/code-style.md +96 -0
- package/templates/base/skills/mobile/dart/rules/null-safety.md +84 -0
- package/templates/base/skills/mobile/dart/rules/type-system.md +111 -0
- package/templates/base/skills/mobile/flutter/SKILL.md +89 -0
- package/templates/base/skills/mobile/flutter/ci-cd/SKILL.md +82 -0
- package/templates/base/skills/mobile/flutter/ci-cd/references/ci-cd-pipeline.md +314 -0
- package/templates/base/skills/mobile/flutter/ci-cd/rules/code-signing.md +106 -0
- package/templates/base/skills/mobile/flutter/ci-cd/rules/codemagic-setup.md +116 -0
- package/templates/base/skills/mobile/flutter/ci-cd/rules/fastlane-setup.md +105 -0
- package/templates/base/skills/mobile/flutter/ci-cd/rules/github-actions.md +112 -0
- package/templates/base/skills/mobile/flutter/ci-cd/rules/store-deployment.md +106 -0
- package/templates/base/skills/mobile/flutter/ci-cd/rules/versioning.md +107 -0
- package/templates/base/skills/mobile/flutter/i18n/SKILL.md +78 -0
- package/templates/base/skills/mobile/flutter/i18n/references/i18n-architecture.md +225 -0
- package/templates/base/skills/mobile/flutter/i18n/rules/arb-files.md +182 -0
- package/templates/base/skills/mobile/flutter/i18n/rules/locale-switching.md +226 -0
- package/templates/base/skills/mobile/flutter/i18n/rules/localization-setup.md +137 -0
- package/templates/base/skills/mobile/flutter/i18n/rules/plural-gender.md +159 -0
- package/templates/base/skills/mobile/flutter/i18n/rules/text-direction.md +199 -0
- package/templates/base/skills/mobile/flutter/monitoring/SKILL.md +81 -0
- package/templates/base/skills/mobile/flutter/monitoring/references/monitoring-architecture.md +269 -0
- package/templates/base/skills/mobile/flutter/monitoring/rules/analytics.md +227 -0
- package/templates/base/skills/mobile/flutter/monitoring/rules/crashlytics-setup.md +195 -0
- package/templates/base/skills/mobile/flutter/monitoring/rules/logging.md +258 -0
- package/templates/base/skills/mobile/flutter/monitoring/rules/performance-monitoring.md +248 -0
- package/templates/base/skills/mobile/flutter/monitoring/rules/sentry-integration.md +249 -0
- package/templates/base/skills/mobile/flutter/networking/SKILL.md +88 -0
- package/templates/base/skills/mobile/flutter/networking/references/api-client-architecture.md +305 -0
- package/templates/base/skills/mobile/flutter/networking/rules/caching.md +212 -0
- package/templates/base/skills/mobile/flutter/networking/rules/connectivity.md +213 -0
- package/templates/base/skills/mobile/flutter/networking/rules/dio-setup.md +159 -0
- package/templates/base/skills/mobile/flutter/networking/rules/error-handling.md +209 -0
- package/templates/base/skills/mobile/flutter/networking/rules/interceptors.md +205 -0
- package/templates/base/skills/mobile/flutter/networking/rules/retrofit-patterns.md +194 -0
- package/templates/base/skills/mobile/flutter/push-notifications/SKILL.md +87 -0
- package/templates/base/skills/mobile/flutter/push-notifications/references/notification-architecture.md +340 -0
- package/templates/base/skills/mobile/flutter/push-notifications/references/platform-setup.md +286 -0
- package/templates/base/skills/mobile/flutter/push-notifications/rules/background-processing.md +308 -0
- package/templates/base/skills/mobile/flutter/push-notifications/rules/deep-linking.md +217 -0
- package/templates/base/skills/mobile/flutter/push-notifications/rules/fcm-setup.md +164 -0
- package/templates/base/skills/mobile/flutter/push-notifications/rules/local-notifications.md +262 -0
- package/templates/base/skills/mobile/flutter/push-notifications/rules/notification-handling.md +210 -0
- package/templates/base/skills/mobile/flutter/push-notifications/rules/notification-permissions.md +246 -0
- package/templates/base/skills/mobile/flutter/push-notifications/rules/rich-notifications.md +320 -0
- package/templates/base/skills/mobile/flutter/references/freezed-patterns.md +162 -0
- package/templates/base/skills/mobile/flutter/references/project-structure.md +170 -0
- package/templates/base/skills/mobile/flutter/rules/animations.md +112 -0
- package/templates/base/skills/mobile/flutter/rules/architecture.md +121 -0
- package/templates/base/skills/mobile/flutter/rules/navigation-routing.md +117 -0
- package/templates/base/skills/mobile/flutter/rules/performance.md +112 -0
- package/templates/base/skills/mobile/flutter/rules/platform-adaptive.md +126 -0
- package/templates/base/skills/mobile/flutter/rules/state-management.md +110 -0
- package/templates/base/skills/mobile/flutter/rules/testing.md +131 -0
- package/templates/base/skills/mobile/flutter/rules/widget-conventions.md +122 -0
- package/templates/base/skills/mobile/flutter/security/SKILL.md +86 -0
- package/templates/base/skills/mobile/flutter/security/references/mobile-security-checklist.md +168 -0
- package/templates/base/skills/mobile/flutter/security/rules/api-key-protection.md +206 -0
- package/templates/base/skills/mobile/flutter/security/rules/authentication.md +248 -0
- package/templates/base/skills/mobile/flutter/security/rules/data-protection.md +271 -0
- package/templates/base/skills/mobile/flutter/security/rules/obfuscation.md +213 -0
- package/templates/base/skills/mobile/flutter/security/rules/secure-storage.md +171 -0
- package/templates/base/skills/mobile/flutter/security/rules/ssl-pinning.md +197 -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 +89 -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/scripts/completion-guard.sh +57 -0
- package/templates/platforms/claude-code/scripts/phase-guard.sh +79 -0
- package/templates/platforms/claude-code/settings.json +98 -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/mobile-app/config.yaml +123 -0
- package/templates/project-types/mobile-app/process/workflow.xml +191 -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,865 +1,276 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/timsquad_banner.png" alt="TimSquad" width="100%">
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<p align="center">
|
|
6
|
+
<strong>Vibe Development Framework</strong><br>
|
|
7
|
+
A high-quality software development framework powered by SSOT-based documentation, optimized agent roles, and retrospective learning — continuously improving within Claude Code.
|
|
8
|
+
</p>
|
|
4
9
|
|
|
5
|
-
|
|
10
|
+
<p align="center">
|
|
11
|
+
<strong>English</strong> | <a href="README.ko.md">한국어</a>
|
|
12
|
+
</p>
|
|
6
13
|
|
|
7
14
|
```
|
|
8
|
-
|
|
15
|
+
Optimized Role Definitions + Advanced Skills + Retrospective Learning = Continuously Improving High-Quality Output
|
|
9
16
|
```
|
|
10
17
|
|
|
11
18
|
---
|
|
12
19
|
|
|
13
20
|
## Why TimSquad?
|
|
14
21
|
|
|
15
|
-
| |
|
|
22
|
+
| | Typical Approach | **TimSquad** |
|
|
16
23
|
|---|---------|------------|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
24
|
+
| Philosophy | "Zero learning curve" | **"Structure leads to better results"** |
|
|
25
|
+
| Decision Making | LLM decides everything | **Developer stays in control** |
|
|
26
|
+
| Priority | Speed | **Quality + Consistency** |
|
|
27
|
+
| Repetitive Tasks | LLM handles (token cost) | **Program handles (zero tokens)** |
|
|
28
|
+
| Learning | None | **Retrospective learning for continuous improvement** |
|
|
22
29
|
|
|
23
30
|
**For developers who want structure, not magic.**
|
|
24
31
|
|
|
25
|
-
###
|
|
32
|
+
### Target Users
|
|
26
33
|
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
|
|
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% 절약** |
|
|
34
|
+
- Senior developers who value structured processes
|
|
35
|
+
- Solo CTOs / Tech Leads (need team-level quality working alone)
|
|
36
|
+
- Developers who prioritize documentation and consistency
|
|
48
37
|
|
|
49
38
|
---
|
|
50
39
|
|
|
51
|
-
##
|
|
52
|
-
|
|
53
|
-
### npm (권장)
|
|
40
|
+
## Installation
|
|
54
41
|
|
|
55
42
|
```bash
|
|
56
|
-
#
|
|
43
|
+
# Global install
|
|
57
44
|
npm install -g timsquad
|
|
58
45
|
|
|
59
|
-
#
|
|
46
|
+
# Or run directly with npx
|
|
60
47
|
npx timsquad init
|
|
61
48
|
```
|
|
62
49
|
|
|
63
|
-
|
|
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
|
-
**요구사항:**
|
|
50
|
+
**Requirements:**
|
|
72
51
|
- Node.js >= 18.0.0
|
|
73
|
-
- [Claude Code](https://claude.ai/claude-code) (
|
|
74
|
-
- Git (선택 - `tsq commit`, `tsq pr` 등)
|
|
75
|
-
- GitHub CLI `gh` (선택 - 회고 Issue, Improvement 분석)
|
|
52
|
+
- [Claude Code](https://claude.ai/claude-code) (agent execution environment)
|
|
76
53
|
|
|
77
54
|
---
|
|
78
55
|
|
|
79
|
-
##
|
|
56
|
+
## Quick Start
|
|
80
57
|
|
|
81
|
-
### 1.
|
|
58
|
+
### 1. Initialize a Project
|
|
82
59
|
|
|
83
60
|
```bash
|
|
84
|
-
#
|
|
85
|
-
tsq init
|
|
86
|
-
|
|
87
|
-
# 비대화형
|
|
88
|
-
tsq init -n my-app -t web-service -l 2 -y
|
|
61
|
+
tsq init # Interactive setup
|
|
62
|
+
tsq init -n my-app -t web-service -l 2 -y # Non-interactive
|
|
89
63
|
```
|
|
90
64
|
|
|
91
|
-
### 2.
|
|
65
|
+
### 2. Generated Structure
|
|
92
66
|
|
|
93
67
|
```
|
|
94
68
|
my-app/
|
|
95
|
-
├── CLAUDE.md # PM
|
|
96
|
-
├── .gitignore # TimSquad 맞춤 설정
|
|
69
|
+
├── CLAUDE.md # PM role definition (agent instructions)
|
|
97
70
|
├── .claude/
|
|
98
|
-
│ ├── settings.json # Claude Code
|
|
99
|
-
│ ├──
|
|
100
|
-
│
|
|
101
|
-
│ │ ├── tsq-
|
|
102
|
-
│ │ ├── tsq-
|
|
103
|
-
│ │ ├── tsq-
|
|
104
|
-
│ │ ├── tsq-
|
|
105
|
-
│ │ ├── tsq-
|
|
106
|
-
│ │
|
|
107
|
-
│
|
|
108
|
-
│ ├──
|
|
109
|
-
│ │ ├──
|
|
110
|
-
│ │ ├──
|
|
111
|
-
│ │
|
|
112
|
-
│
|
|
113
|
-
│
|
|
114
|
-
│
|
|
115
|
-
│
|
|
116
|
-
│
|
|
117
|
-
│
|
|
71
|
+
│ ├── settings.json # Claude Code settings
|
|
72
|
+
│ ├── rules/ # Main session rules
|
|
73
|
+
│ ├── agents/ # 6 specialized agents
|
|
74
|
+
│ │ ├── tsq-architect.md # Architecture design (Sonnet)
|
|
75
|
+
│ │ ├── tsq-developer.md # Code implementation (Sonnet)
|
|
76
|
+
│ │ ├── tsq-qa.md # Verification/review (Sonnet)
|
|
77
|
+
│ │ ├── tsq-security.md # Security audit (Sonnet)
|
|
78
|
+
│ │ ├── tsq-dba.md # DB design (Sonnet)
|
|
79
|
+
│ │ └── tsq-designer.md # UI/UX design (Sonnet)
|
|
80
|
+
│ ├── skills/ # Domain-specific skillsets
|
|
81
|
+
│ │ ├── tsq-protocol/ # Shared agent protocol
|
|
82
|
+
│ │ ├── coding/ # Coding rules + rules/
|
|
83
|
+
│ │ ├── testing/ # Test strategies + references/
|
|
84
|
+
│ │ ├── typescript/ # TypeScript patterns + rules/
|
|
85
|
+
│ │ ├── frontend/(react|nextjs)/ # Frontend + 22 Vercel rules
|
|
86
|
+
│ │ ├── backend/node/ # Node.js backend + rules/
|
|
87
|
+
│ │ ├── database/prisma/ # Prisma ORM + rules/
|
|
88
|
+
│ │ ├── mobile/dart/ # Dart language + rules/
|
|
89
|
+
│ │ ├── mobile/flutter/ # Flutter dev + rules/ + refs/
|
|
90
|
+
│ │ │ └── push-notifications/ # FCM + local + background
|
|
91
|
+
│ │ ├── methodology/(tdd|bdd|ddd|debugging)/
|
|
92
|
+
│ │ └── ...
|
|
93
|
+
│ └── knowledge/ # Agent reference knowledge
|
|
94
|
+
│ ├── checklists/ # Security, accessibility, SSOT validation
|
|
95
|
+
│ └── templates/ # Output formats (task-result, etc.)
|
|
118
96
|
└── .timsquad/
|
|
119
|
-
├── config.yaml #
|
|
120
|
-
├── ssot/ # SSOT
|
|
121
|
-
├── process/ #
|
|
122
|
-
├── state/ #
|
|
123
|
-
├──
|
|
124
|
-
├──
|
|
125
|
-
|
|
126
|
-
└── retrospective/ # 회고 데이터
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### 3. Claude Code에서 작업
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
claude # Claude Code 실행
|
|
133
|
-
|
|
134
|
-
# PM(CLAUDE.md)이 자동으로 작업을 분류하고 에이전트에 위임
|
|
135
|
-
@tsq-planner "PRD 작성 시작해줘"
|
|
136
|
-
@tsq-developer "로그인 API 구현해줘"
|
|
137
|
-
@tsq-qa "코드 리뷰해줘"
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### 4. CLI로 작업 관리
|
|
141
|
-
|
|
142
|
-
```bash
|
|
143
|
-
tsq status # 현재 상태 확인
|
|
144
|
-
tsq q "버튼 색상 변경" # Quick 모드 (간단한 작업)
|
|
145
|
-
tsq f "결제 기능 추가" # Full 모드 (SSOT 검증)
|
|
146
|
-
tsq log today # 오늘 작업 로그
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
## 핵심 개념
|
|
152
|
-
|
|
153
|
-
### SSOT (Single Source of Truth)
|
|
154
|
-
|
|
155
|
-
모든 에이전트가 참조하는 단일 문서 체계. 프로젝트 레벨에 따라 필수 문서 수가 결정됩니다:
|
|
156
|
-
|
|
157
|
-
| 레벨 | 설명 | 필수 문서 | 대상 |
|
|
158
|
-
|------|------|----------|------|
|
|
159
|
-
| **Level 1** (MVP) | 최소 문서, 빠른 개발 | PRD, Planning, Requirements, Service Spec, Data Design (5개) | 사이드 프로젝트, PoC |
|
|
160
|
-
| **Level 2** (Standard) | 균형 잡힌 문서화 | Level 1 + Glossary, Functional Spec, UI/UX Spec, Error Codes, Env Config, Test Spec (11개) | 일반 프로젝트, 스타트업 |
|
|
161
|
-
| **Level 3** (Enterprise) | 완전한 문서화 + 추적성 | Level 2 + Deployment Spec, Integration Spec, Security Spec (14개) | 엔터프라이즈, fintech |
|
|
162
|
-
|
|
163
|
-
### 분수(Fountain) 모델
|
|
164
|
-
|
|
165
|
-
SSOT는 순차적 의존성, 실제 작업은 병렬 실행:
|
|
166
|
-
|
|
167
|
-
```
|
|
168
|
-
SSOT (순차: PRD → 기획 → 설계)
|
|
169
|
-
│
|
|
170
|
-
┌────┼────┐
|
|
171
|
-
↓ ↓ ↓
|
|
172
|
-
화면 요건 API ← 병렬 작업
|
|
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
|
-
---
|
|
199
|
-
|
|
200
|
-
## 에이전트 시스템
|
|
201
|
-
|
|
202
|
-
PM(CLAUDE.md)이 총괄하며, 작업 유형에 따라 전문 에이전트에게 위임합니다:
|
|
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
|
-
### 위임 규칙
|
|
217
|
-
|
|
218
|
-
```
|
|
219
|
-
기획/PRD/아키텍처 → @tsq-planner
|
|
220
|
-
코드/테스트/리팩토링 → @tsq-developer (SSOT 필수)
|
|
221
|
-
코드 리뷰/검증 → @tsq-qa
|
|
222
|
-
보안 검토 → @tsq-security
|
|
223
|
-
기타 → PM이 직접 처리
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
### Workspace 동기화
|
|
227
|
-
|
|
228
|
-
에이전트 간 작업 상태는 `.timsquad/state/workspace.xml`로 실시간 공유됩니다:
|
|
229
|
-
|
|
230
|
-
```xml
|
|
231
|
-
<workspace>
|
|
232
|
-
<current-task>로그인 API 구현</current-task>
|
|
233
|
-
<completed-tasks>...</completed-tasks>
|
|
234
|
-
<blockers>...</blockers>
|
|
235
|
-
<handoff-notes>...</handoff-notes>
|
|
236
|
-
</workspace>
|
|
97
|
+
├── config.yaml # Project configuration
|
|
98
|
+
├── ssot/ # SSOT documents (5–14 per level)
|
|
99
|
+
├── process/ # Workflow definitions
|
|
100
|
+
├── state/ # State management + Meta Index
|
|
101
|
+
├── feedback/ # Feedback store
|
|
102
|
+
├── logs/ # 3-tier logs (L1→L2→L3)
|
|
103
|
+
└── retrospective/ # Retrospective data
|
|
237
104
|
```
|
|
238
105
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
## CLI 명령어 상세
|
|
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
|
-
### 작업 모드
|
|
256
|
-
|
|
257
|
-
```bash
|
|
258
|
-
# Quick 모드 - 간단한 작업 (SSOT 검증 생략)
|
|
259
|
-
tsq q "버튼 색상을 파란색으로 변경"
|
|
260
|
-
tsq quick "오타 수정"
|
|
261
|
-
|
|
262
|
-
# Full 모드 - 본격 작업 (SSOT 검증 포함)
|
|
263
|
-
tsq f "사용자 인증 기능 추가"
|
|
264
|
-
tsq full "결제 모듈 구현"
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
**Quick vs Full 판단 기준:**
|
|
268
|
-
|
|
269
|
-
| | Quick (`tsq q`) | Full (`tsq f`) |
|
|
270
|
-
|---|---|---|
|
|
271
|
-
| SSOT 검증 | 생략 | 필수 |
|
|
272
|
-
| 라우팅 | `@tsq-developer` 직행 | `@tsq-planner` 경유 |
|
|
273
|
-
| 적합한 작업 | CSS 수정, 오타, 간단한 버그 | 새 기능, API 변경, DB 변경 |
|
|
274
|
-
| 복잡도 판단 | 자동 (키워드 분석) | - |
|
|
275
|
-
| 로그 위치 | `logs/quick/` | `logs/{date}-planner.md` |
|
|
276
|
-
|
|
277
|
-
Quick 모드는 작업 복잡도를 자동 분석합니다. "API 변경", "DB 스키마", "인증" 등 복잡한 키워드가 감지되면 Full 모드 전환을 제안합니다.
|
|
278
|
-
|
|
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
|
-
```
|
|
294
|
-
|
|
295
|
-
**로그 타입:**
|
|
296
|
-
|
|
297
|
-
| 타입 | 설명 | 예시 |
|
|
298
|
-
|------|------|------|
|
|
299
|
-
| `work` | 수행한 작업 | "로그인 API 구현 완료" |
|
|
300
|
-
| `decision` | 내린 결정 | "JWT 대신 세션 방식 채택" |
|
|
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 # 미리보기 (실제 삭제 안 함)
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
**압축 방식:**
|
|
316
|
-
- **세션 JSONL** → 월별 summary JSON으로 통합 (이벤트 수, 도구 사용, 실패율 등 통계 보존)
|
|
317
|
-
- **작업 로그 MD** → 월별 archive MD로 병합
|
|
318
|
-
- 원본 파일은 삭제되어 디스크 절약
|
|
319
|
-
- `--dry-run`으로 먼저 확인 후 실행 권장
|
|
320
|
-
|
|
321
|
-
### Git 연동
|
|
106
|
+
### 3. Work in Claude Code
|
|
322
107
|
|
|
323
108
|
```bash
|
|
324
|
-
|
|
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
|
-
```
|
|
331
|
-
|
|
332
|
-
### SSOT 감시
|
|
109
|
+
claude # Launch Claude Code
|
|
333
110
|
|
|
334
|
-
|
|
335
|
-
tsq
|
|
336
|
-
tsq
|
|
337
|
-
tsq
|
|
111
|
+
# PM (CLAUDE.md) automatically classifies tasks and delegates to agents
|
|
112
|
+
@tsq-architect "Design the system architecture"
|
|
113
|
+
@tsq-developer "Implement the login API"
|
|
114
|
+
@tsq-qa "Review the code"
|
|
338
115
|
```
|
|
339
116
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
### 세션 관리
|
|
117
|
+
### 4. Manage Tasks via CLI
|
|
343
118
|
|
|
344
119
|
```bash
|
|
345
|
-
tsq
|
|
346
|
-
tsq
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
---
|
|
350
|
-
|
|
351
|
-
## 피드백 시스템
|
|
352
|
-
|
|
353
|
-
### 피드백 라우팅
|
|
354
|
-
|
|
355
|
-
피드백을 3단계로 분류하여 적절한 담당자에게 자동 전달합니다:
|
|
356
|
-
|
|
357
|
-
```bash
|
|
358
|
-
tsq feedback "테스트 실패: login API 404 에러" # → Level 1
|
|
359
|
-
tsq feedback "API 응답 구조가 프론트와 안 맞음" # → Level 2
|
|
360
|
-
tsq feedback "결제 기능 스펙 변경 필요" # → Level 3
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
```
|
|
364
|
-
Level 1 (구현 수정) → @tsq-developer → 승인 불필요, 즉시 수정
|
|
365
|
-
Level 2 (설계 수정) → @tsq-planner → SSOT 업데이트 필요
|
|
366
|
-
Level 3 (기획 수정) → 사용자 → 승인 필수
|
|
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 회고
|
|
120
|
+
tsq status # Check current status
|
|
121
|
+
tsq q "change button color" # Quick mode (simple tasks)
|
|
122
|
+
tsq f "add payment feature" # Full mode (SSOT validation)
|
|
123
|
+
tsq retro auto # Run retrospective automatically
|
|
398
124
|
```
|
|
399
125
|
|
|
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
|
-
수동 개입 없이 문제 패턴이 자동으로 축적되어 회고 시 분석됩니다.
|
|
431
|
-
|
|
432
126
|
---
|
|
433
127
|
|
|
434
|
-
##
|
|
128
|
+
## Key Features
|
|
435
129
|
|
|
436
|
-
|
|
130
|
+
### SSOT Document System
|
|
437
131
|
|
|
438
|
-
|
|
132
|
+
Required documents are automatically determined by project level:
|
|
439
133
|
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
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
|
-
```
|
|
134
|
+
| Level | Required Documents | Target |
|
|
135
|
+
|-------|-------------------|--------|
|
|
136
|
+
| **Level 1** (MVP) | PRD, Planning, Requirements, Service Spec, Data Design (5) | Side projects, PoC |
|
|
137
|
+
| **Level 2** (Standard) | Level 1 + 6 more (11) | General projects, Startups |
|
|
138
|
+
| **Level 3** (Enterprise) | Level 2 + 3 more (14) | Enterprise, Fintech |
|
|
472
139
|
|
|
473
|
-
###
|
|
140
|
+
### Agent System
|
|
474
141
|
|
|
475
|
-
|
|
142
|
+
The PM (CLAUDE.md) orchestrates and delegates to 6 specialized agents. Each agent features XML-structured prompts, mandatory skill injection, and 3-tier feedback routing.
|
|
476
143
|
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
tsq
|
|
480
|
-
tsq
|
|
481
|
-
tsq
|
|
482
|
-
tsq
|
|
483
|
-
|
|
144
|
+
| Agent | Role |
|
|
145
|
+
|-------|------|
|
|
146
|
+
| `@tsq-architect` | Architecture design, ADR, code structure review |
|
|
147
|
+
| `@tsq-developer` | SSOT-driven code implementation, TDD |
|
|
148
|
+
| `@tsq-qa` | Code review, test verification, SSOT compliance |
|
|
149
|
+
| `@tsq-security` | Security audit, OWASP, vulnerability analysis |
|
|
150
|
+
| `@tsq-dba` | DB design, query optimization, migrations |
|
|
151
|
+
| `@tsq-designer` | UI/UX design, accessibility, design tokens |
|
|
484
152
|
|
|
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
|
-
### 회고 사이클 (수동)
|
|
153
|
+
### Feedback Routing (L1/L2/L3)
|
|
499
154
|
|
|
500
|
-
|
|
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
|
-
```
|
|
155
|
+
Feedback is automatically classified into 3 tiers with appropriate actions:
|
|
510
156
|
|
|
511
|
-
**상태 전이:**
|
|
512
157
|
```
|
|
513
|
-
|
|
158
|
+
L1 (Implementation fix) → Developer auto-handles → No approval needed
|
|
159
|
+
L2 (Design change) → Transitions to in_review → Phase Gate blocks
|
|
160
|
+
L3 (Planning change) → Awaits user approval → approve/reject required
|
|
514
161
|
```
|
|
515
162
|
|
|
516
|
-
|
|
163
|
+
> Details: [docs/feedback-and-retrospective.en.md](docs/feedback-and-retrospective.en.md)
|
|
517
164
|
|
|
518
|
-
###
|
|
165
|
+
### Retrospective Learning
|
|
519
166
|
|
|
520
|
-
|
|
167
|
+
Task logs → Pattern analysis → Improvement suggestions → Prompt/template updates. Instead of LLM fine-tuning, we improve through prompt/template refinement.
|
|
521
168
|
|
|
522
169
|
```bash
|
|
523
|
-
tsq retro auto #
|
|
524
|
-
tsq
|
|
170
|
+
tsq retro auto # Collect → Analyze → Report → Apply (one-click)
|
|
171
|
+
tsq improve analyze # Pattern analysis + improvement suggestions
|
|
525
172
|
```
|
|
526
173
|
|
|
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` 자동 연결
|
|
174
|
+
> Details: [docs/feedback-and-retrospective.en.md](docs/feedback-and-retrospective.en.md)
|
|
545
175
|
|
|
546
|
-
###
|
|
176
|
+
### Daemon-Based Automation Pipeline
|
|
547
177
|
|
|
548
|
-
|
|
178
|
+
**All orchestration at zero token cost** — the program decides:
|
|
549
179
|
|
|
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
180
|
```
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
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회 반복)
|
|
181
|
+
Claude Code session → Daemon watches JSONL in real-time
|
|
182
|
+
→ L1 task logs recorded automatically
|
|
183
|
+
→ L2 sequence logs aggregated automatically
|
|
184
|
+
→ L3 phase logs generated automatically
|
|
185
|
+
→ Phase Gate checked automatically
|
|
186
|
+
→ Metrics accumulated in-memory → flushed at session end
|
|
187
|
+
→ Meta Index updated automatically
|
|
604
188
|
```
|
|
605
189
|
|
|
606
|
-
|
|
190
|
+
> Details: [docs/token-efficiency.en.md](docs/token-efficiency.en.md)
|
|
607
191
|
|
|
608
|
-
|
|
192
|
+
### Meta Index (Code Structure Index)
|
|
609
193
|
|
|
610
|
-
|
|
194
|
+
AST-based code/UI structure auto-indexing + agent semantic data merging:
|
|
611
195
|
|
|
612
196
|
```bash
|
|
613
|
-
tsq
|
|
614
|
-
tsq
|
|
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
|
-
| 항목 | 설명 |
|
|
642
|
-
|------|------|
|
|
643
|
-
| Completion Rate | SSOT 문서 작성 완료율 (%) |
|
|
644
|
-
| Filled / Total | 작성된 문서 수 / 필수 문서 수 |
|
|
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)
|
|
197
|
+
tsq mi rebuild # Build full code+UI index
|
|
198
|
+
tsq mi stats # Health Score + UI Health
|
|
745
199
|
```
|
|
746
200
|
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
세션 JSONL을 분석하여 `latest.json`에 누적 메트릭을 갱신합니다. 기존 데이터에 새 세션 데이터를 더하는 방식으로, 여러 세션에 걸친 트렌드를 추적합니다.
|
|
201
|
+
> Details: [docs/meta-index-architecture.en.md](docs/meta-index-architecture.en.md)
|
|
750
202
|
|
|
751
203
|
---
|
|
752
204
|
|
|
753
|
-
##
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
|
758
|
-
|
|
759
|
-
|
|
|
760
|
-
|
|
|
761
|
-
|
|
|
762
|
-
|
|
763
|
-
|
|
205
|
+
## CLI Commands
|
|
206
|
+
|
|
207
|
+
| Command | Description |
|
|
208
|
+
|---------|-------------|
|
|
209
|
+
| `tsq init` | Initialize project (interactive/non-interactive) |
|
|
210
|
+
| `tsq status` | Check project status |
|
|
211
|
+
| `tsq q "task"` | Quick mode (simple tasks) |
|
|
212
|
+
| `tsq f "task"` | Full mode (SSOT validation) |
|
|
213
|
+
| `tsq log` | 3-tier task log management (L1/L2/L3) |
|
|
214
|
+
| `tsq feedback` | Feedback classification + auto actions |
|
|
215
|
+
| `tsq retro` | Run retrospective (manual/auto) |
|
|
216
|
+
| `tsq metrics` | Metrics collection/trends |
|
|
217
|
+
| `tsq mi` | Meta Index management (rebuild/stats) |
|
|
218
|
+
| `tsq knowledge` | Knowledge file management |
|
|
219
|
+
| `tsq wf` | Workflow automation |
|
|
220
|
+
| `tsq daemon` | Background daemon management |
|
|
221
|
+
|
|
222
|
+
> Full CLI reference: [docs/cli.en.md](docs/cli.en.md)
|
|
764
223
|
|
|
765
224
|
---
|
|
766
225
|
|
|
767
|
-
##
|
|
226
|
+
## Project Types
|
|
768
227
|
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
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
|
-
```
|
|
228
|
+
| Type | Description |
|
|
229
|
+
|------|-------------|
|
|
230
|
+
| `web-service` | SaaS, full-stack web services |
|
|
231
|
+
| `web-app` | BaaS-based (Supabase/Firebase) |
|
|
232
|
+
| `api-backend` | API servers, microservices |
|
|
233
|
+
| `platform` | Frameworks, SDKs |
|
|
234
|
+
| `fintech` | Exchanges, payments (Level 3 enforced) |
|
|
235
|
+
| `infra` | DevOps, automation |
|
|
790
236
|
|
|
791
237
|
---
|
|
792
238
|
|
|
793
|
-
##
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
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
|
-
```
|
|
239
|
+
## Documentation
|
|
240
|
+
|
|
241
|
+
| Document | Description |
|
|
242
|
+
|----------|-------------|
|
|
243
|
+
| [PRD](docs/PRD.en.md) | Full framework specification |
|
|
244
|
+
| [Core Concepts](docs/core-concepts.en.md) | Fountain model, SSOT, agent/skill architecture |
|
|
245
|
+
| [CLI Reference](docs/cli.en.md) | Complete CLI command reference |
|
|
246
|
+
| [Authoring Guide](docs/authoring-guide.en.md) | Agent/skill/knowledge authoring guide |
|
|
247
|
+
| [Log Architecture](docs/log-architecture.en.md) | 3-tier log system (L1→L2→L3) |
|
|
248
|
+
| [Feedback & Retrospective](docs/feedback-and-retrospective.en.md) | Feedback routing + retrospective learning |
|
|
249
|
+
| [Token Efficiency](docs/token-efficiency.en.md) | Token efficiency design |
|
|
250
|
+
| [Knowledge Architecture](docs/knowledge-architecture.en.md) | Knowledge system |
|
|
251
|
+
| [Meta Index Architecture](docs/meta-index-architecture.en.md) | Code/UI structure index |
|
|
252
|
+
| [File Structure](docs/file-structure.en.md) | Templates + post-init structure |
|
|
834
253
|
|
|
835
254
|
---
|
|
836
255
|
|
|
837
256
|
## Theoretical Background
|
|
838
257
|
|
|
839
|
-
|
|
|
840
|
-
|
|
841
|
-
| **Agentsway** (2025) | Prompting Agent, Retrospective Learning |
|
|
842
|
-
| **ACM TOSEM** (2025) | Competency Mapping |
|
|
843
|
-
| **Agentic SE** (2025) | AGENT.md, Meta-Prompt Files |
|
|
844
|
-
| **FRAME** (2025) | Feedback-Driven Refinement |
|
|
845
|
-
|
|
846
|
-
---
|
|
847
|
-
|
|
848
|
-
## Roadmap
|
|
849
|
-
|
|
850
|
-
- [x] **Phase 0 (MVP)** - common 템플릿, 기본 에이전트, CLI
|
|
851
|
-
- [x] **Phase 1** - 자동화 파이프라인, 회고 시스템, 메트릭 고도화
|
|
852
|
-
- [ ] **Phase 2** - Plugin 배포, MCP 서버, 멀티 LLM 지원
|
|
258
|
+
| Theory/Paper | Key Concept | TimSquad Application |
|
|
259
|
+
|-------------|-------------|---------------------|
|
|
260
|
+
| **Agentsway** (2025) | Prompting Agent, Retrospective Learning | Prompt optimization, retrospective learning |
|
|
261
|
+
| **ACM TOSEM** (2025) | Competency Mapping | Competency framework, performance metrics |
|
|
262
|
+
| **Agentic SE** (2025) | AGENT.md, Meta-Prompt Files | Layered meta-prompt architecture |
|
|
263
|
+
| **FRAME** (2025) | Feedback-Driven Refinement | Tiered feedback routing |
|
|
853
264
|
|
|
854
265
|
---
|
|
855
266
|
|
|
856
267
|
## Contributing
|
|
857
268
|
|
|
858
|
-
|
|
269
|
+
Contributions are welcome!
|
|
859
270
|
|
|
860
271
|
1. Fork the repository
|
|
861
272
|
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
862
|
-
3. Commit your changes (`git commit -m '
|
|
273
|
+
3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
|
|
863
274
|
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
864
275
|
5. Open a Pull Request
|
|
865
276
|
|
|
@@ -871,11 +282,7 @@ MIT License - see [LICENSE](LICENSE) for details.
|
|
|
871
282
|
|
|
872
283
|
---
|
|
873
284
|
|
|
874
|
-
## Related
|
|
285
|
+
## Related
|
|
875
286
|
|
|
876
287
|
- [Anthropic Skills](https://github.com/anthropics/skills)
|
|
877
|
-
- [
|
|
878
|
-
|
|
879
|
-
---
|
|
880
|
-
|
|
881
|
-
**TimSquad v2.1** - AI Agent Development Process Framework
|
|
288
|
+
- [Claude Code](https://claude.ai/claude-code)
|