timsquad 3.5.0 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ko.md +103 -107
- package/README.md +100 -104
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +48 -2
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/init.js +46 -14
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/{upgrade.d.ts → update.d.ts} +3 -3
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/{upgrade.js → update.js} +12 -17
- package/dist/commands/update.js.map +1 -0
- package/dist/daemon/context-writer.d.ts +14 -0
- package/dist/daemon/context-writer.d.ts.map +1 -1
- package/dist/daemon/context-writer.js +29 -0
- package/dist/daemon/context-writer.js.map +1 -1
- package/dist/daemon/event-queue.d.ts +7 -11
- package/dist/daemon/event-queue.d.ts.map +1 -1
- package/dist/daemon/event-queue.js +78 -118
- package/dist/daemon/event-queue.js.map +1 -1
- package/dist/daemon/file-watcher.d.ts +14 -8
- package/dist/daemon/file-watcher.d.ts.map +1 -1
- package/dist/daemon/file-watcher.js +78 -41
- package/dist/daemon/file-watcher.js.map +1 -1
- package/dist/daemon/index.d.ts +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +54 -47
- package/dist/daemon/index.js.map +1 -1
- package/dist/index.js +3 -41
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-generator.d.ts.map +1 -1
- package/dist/lib/agent-generator.js +21 -10
- package/dist/lib/agent-generator.js.map +1 -1
- package/dist/lib/compile-rules.d.ts +2 -0
- package/dist/lib/compile-rules.d.ts.map +1 -1
- package/dist/lib/compile-rules.js +39 -4
- package/dist/lib/compile-rules.js.map +1 -1
- package/dist/lib/compiler.d.ts +22 -1
- package/dist/lib/compiler.d.ts.map +1 -1
- package/dist/lib/compiler.js +178 -12
- package/dist/lib/compiler.js.map +1 -1
- package/dist/lib/config.d.ts +3 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +17 -2
- package/dist/lib/config.js.map +1 -1
- package/dist/{commands/log.d.ts → lib/log-utils.d.ts} +7 -15
- package/dist/lib/log-utils.d.ts.map +1 -0
- package/dist/lib/log-utils.js +347 -0
- package/dist/lib/log-utils.js.map +1 -0
- package/dist/lib/skill-generator.d.ts +1 -1
- package/dist/lib/skill-generator.d.ts.map +1 -1
- package/dist/lib/skill-generator.js +19 -44
- package/dist/lib/skill-generator.js.map +1 -1
- package/dist/lib/ssot-map.d.ts +31 -0
- package/dist/lib/ssot-map.d.ts.map +1 -0
- package/dist/lib/ssot-map.js +79 -0
- package/dist/lib/ssot-map.js.map +1 -0
- package/dist/lib/template.d.ts +10 -3
- package/dist/lib/template.d.ts.map +1 -1
- package/dist/lib/template.js +137 -22
- package/dist/lib/template.js.map +1 -1
- package/dist/lib/upgrade-backup.js +1 -1
- package/dist/lib/upgrade-backup.js.map +1 -1
- package/dist/lib/workflow-state.d.ts +1 -1
- package/dist/lib/workflow-state.d.ts.map +1 -1
- package/dist/lib/workflow-state.js +1 -1
- package/dist/lib/workflow-state.js.map +1 -1
- package/dist/types/config.d.ts +10 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +46 -41
- package/dist/types/config.js.map +1 -1
- package/dist/types/feedback.d.ts +1 -54
- package/dist/types/feedback.d.ts.map +1 -1
- package/dist/types/feedback.js +1 -22
- package/dist/types/feedback.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/meta-index.d.ts +8 -0
- package/dist/types/meta-index.d.ts.map +1 -1
- package/dist/types/project.d.ts +6 -1
- package/dist/types/project.d.ts.map +1 -1
- package/dist/types/project.js +15 -0
- package/dist/types/project.js.map +1 -1
- package/dist/types/ssot-map.d.ts +30 -0
- package/dist/types/ssot-map.d.ts.map +1 -0
- package/dist/types/ssot-map.js +6 -0
- package/dist/types/ssot-map.js.map +1 -0
- package/package.json +1 -1
- package/templates/base/agents/base/tsq-architect.md +1 -1
- package/templates/base/agents/base/tsq-dba.md +3 -1
- package/templates/base/agents/base/tsq-designer.md +3 -1
- package/templates/base/agents/base/tsq-developer.md +3 -1
- package/templates/base/agents/base/tsq-librarian.md +45 -0
- package/templates/base/agents/base/tsq-qa.md +3 -1
- package/templates/base/agents/base/tsq-security.md +3 -1
- package/templates/base/agents/overlays/platform/claude-code.md +2 -2
- package/templates/base/config.template.yaml +17 -28
- package/templates/base/knowledge/templates/task-result.md +5 -10
- package/templates/base/skills/_shared/naming-conventions.md +49 -0
- package/templates/base/skills/_template/SKILL.md +31 -17
- package/templates/base/skills/{architecture → tsq-architecture}/SKILL.md +2 -2
- package/templates/base/skills/tsq-audit/SKILL.md +74 -0
- package/templates/base/skills/{methodology/bdd → tsq-bdd}/SKILL.md +14 -9
- package/templates/base/skills/tsq-coding/SKILL.md +65 -0
- package/templates/base/skills/tsq-coding/rules/async-patterns.md +81 -0
- package/templates/base/skills/tsq-coding/rules/code-organization.md +80 -0
- package/templates/base/skills/tsq-coding/rules/error-handling.md +76 -0
- package/templates/base/skills/tsq-coding/rules/type-safety.md +85 -0
- package/templates/base/skills/tsq-controller/SKILL.md +81 -0
- package/templates/base/skills/tsq-controller/memory/.gitkeep +0 -0
- package/templates/base/skills/{mobile/dart → tsq-dart}/SKILL.md +5 -3
- package/templates/base/skills/{database → tsq-database}/SKILL.md +13 -27
- package/templates/base/skills/tsq-database/rules/query-optimization.md +32 -0
- package/templates/base/skills/tsq-database/rules/supabase-patterns.md +94 -0
- package/templates/base/skills/{methodology/ddd → tsq-ddd}/SKILL.md +15 -10
- package/templates/base/skills/{methodology/debugging → tsq-debugging}/SKILL.md +2 -2
- package/templates/base/skills/tsq-decompose/SKILL.md +117 -0
- package/templates/base/skills/tsq-delete/SKILL.md +72 -0
- package/templates/base/skills/{mobile/flutter → tsq-flutter}/SKILL.md +6 -3
- package/templates/base/skills/tsq-grill/SKILL.md +86 -0
- package/templates/base/skills/{backend/node → tsq-hono}/SKILL.md +6 -4
- package/templates/base/skills/tsq-librarian/SKILL.md +78 -0
- package/templates/base/skills/tsq-log/SKILL.md +30 -0
- package/templates/base/skills/{frontend/nextjs → tsq-nextjs}/SKILL.md +14 -9
- package/templates/base/skills/{planning → tsq-planning}/SKILL.md +2 -2
- package/templates/base/skills/{database/prisma → tsq-prisma}/SKILL.md +15 -9
- package/templates/base/skills/tsq-product-audit/SKILL.md +113 -0
- package/templates/base/skills/tsq-product-audit/checklists/01-security.md +86 -0
- package/templates/base/skills/tsq-product-audit/checklists/02-performance.md +67 -0
- package/templates/base/skills/tsq-product-audit/checklists/03-seo.md +46 -0
- package/templates/base/skills/tsq-product-audit/checklists/04-accessibility.md +66 -0
- package/templates/base/skills/tsq-product-audit/checklists/05-ui-ux.md +50 -0
- package/templates/base/skills/tsq-product-audit/checklists/06-architecture.md +53 -0
- package/templates/base/skills/tsq-product-audit/checklists/07-functional-requirements.md +55 -0
- package/templates/base/skills/tsq-product-audit/rules/audit-protocol.md +136 -0
- package/templates/base/skills/tsq-product-audit/rules/false-positive-guard.md +81 -0
- package/templates/base/skills/tsq-product-audit/rules/scoring-criteria.md +113 -0
- package/templates/base/skills/tsq-product-audit/templates/improvement-plan-template.md +60 -0
- package/templates/base/skills/tsq-product-audit/templates/report-template.md +88 -0
- package/templates/base/skills/tsq-prompt/SKILL.md +86 -0
- package/templates/base/skills/tsq-protocol/SKILL.md +101 -33
- package/templates/base/skills/{frontend/react → tsq-react}/SKILL.md +6 -3
- package/templates/base/skills/tsq-retro/SKILL.md +86 -0
- package/templates/base/skills/tsq-retro/references/feedback-guide.md +58 -0
- package/templates/base/skills/tsq-retro/references/improve-protocol.md +87 -0
- package/templates/base/skills/tsq-retro/references/improvement-template.md +26 -0
- package/templates/base/skills/tsq-security/SKILL.md +66 -0
- package/templates/base/skills/tsq-security/rules/auth-patterns.md +62 -0
- package/templates/base/skills/tsq-security/rules/dependency-security.md +69 -0
- package/templates/base/skills/tsq-security/rules/input-validation.md +68 -0
- package/templates/base/skills/tsq-security/rules/secrets-management.md +65 -0
- package/templates/base/skills/tsq-spec/SKILL.md +58 -0
- package/templates/base/skills/{stability-verification → tsq-stability}/SKILL.md +3 -3
- package/templates/base/skills/tsq-start/SKILL.md +90 -0
- package/templates/base/skills/tsq-start/references/onboarding-questions.md +177 -0
- package/templates/base/skills/tsq-status/SKILL.md +32 -0
- package/templates/base/skills/{methodology/tdd → tsq-tdd}/SKILL.md +12 -3
- package/templates/base/skills/tsq-testing/SKILL.md +69 -0
- package/templates/base/skills/tsq-testing/references/e2e-stability.md +33 -0
- package/templates/base/skills/{typescript → tsq-typescript}/SKILL.md +5 -11
- package/templates/base/skills/{ui-design → tsq-ui}/SKILL.md +2 -2
- package/templates/base/skills/tsq-update/SKILL.md +48 -0
- package/templates/base/timsquad/constraints/competency-framework.xml +2 -2
- package/templates/base/timsquad/constraints/ssot-schema.xml +2 -2
- package/templates/base/timsquad/process/phase-checklist.yaml +1 -1
- package/templates/base/timsquad/process/state-machine.xml +2 -2
- package/templates/base/timsquad/process/validation-rules.xml +8 -8
- package/templates/base/timsquad/process/workflow-base.xml +8 -8
- package/templates/base/timsquad/retrospective/cycle-report.template.md +2 -2
- package/templates/base/timsquad/retrospective/patterns/failure-patterns.md +1 -1
- package/templates/base/timsquad/retrospective/patterns/success-patterns.md +2 -2
- package/templates/base/timsquad/retrospective/retrospective-state.xml +2 -2
- package/templates/base/timsquad/ssot/audit-trail-spec.template.md +155 -0
- package/templates/base/timsquad/ssot/compliance-matrix.template.md +105 -0
- package/templates/base/timsquad/ssot/component-map.template.md +181 -0
- package/templates/base/timsquad/ssot/data-design.template.md +4 -4
- package/templates/base/timsquad/ssot/deployment-spec.template.md +29 -22
- package/templates/base/timsquad/ssot/env-config.template.md +4 -2
- package/templates/base/timsquad/ssot/error-codes.template.md +3 -3
- package/templates/base/timsquad/ssot/functional-spec.template.md +40 -3
- package/templates/base/timsquad/ssot/glossary.template.md +2 -2
- package/templates/base/timsquad/ssot/infra-topology.template.md +191 -0
- package/templates/base/timsquad/ssot/integration-spec.template.md +2 -2
- package/templates/base/timsquad/ssot/monitoring-spec.template.md +185 -0
- package/templates/base/timsquad/ssot/navigation-map.template.md +154 -0
- package/templates/base/timsquad/ssot/performance-budget.template.md +132 -0
- package/templates/base/timsquad/ssot/planning.template.md +3 -3
- package/templates/base/timsquad/ssot/prd/_template.md +73 -0
- package/templates/base/timsquad/ssot/prd.template.md +10 -21
- package/templates/base/timsquad/ssot/requirements.template.md +3 -3
- package/templates/base/timsquad/ssot/sdk-spec.template.md +223 -0
- package/templates/base/timsquad/ssot/service-spec.template.md +3 -3
- package/templates/base/timsquad/ssot/state-machine.template.md +127 -0
- package/templates/base/timsquad/ssot/test-spec.template.md +11 -1
- package/templates/base/timsquad/ssot/ui-ux-spec.template.md +43 -3
- package/templates/base/timsquad/ssot-map.template.yaml +69 -0
- package/templates/base/timsquad/state/workspace.xml +11 -11
- package/templates/platforms/claude-code/rules/adr-rules.md +1 -1
- package/templates/platforms/claude-code/rules/api-conventions.md +12 -0
- package/templates/platforms/claude-code/rules/build-gate.md +1 -1
- package/templates/platforms/claude-code/rules/completion-verification.md +0 -2
- package/templates/platforms/claude-code/rules/context-monitor.md +1 -1
- package/templates/platforms/claude-code/rules/feedback-routing.md +2 -2
- package/templates/platforms/claude-code/rules/librarian-constraints.md +11 -0
- package/templates/platforms/claude-code/rules/phase-management.md +2 -2
- package/templates/platforms/claude-code/rules/plan-review.md +2 -2
- package/templates/platforms/claude-code/rules/quality-guards.md +0 -2
- package/templates/platforms/claude-code/rules/sequence-management.md +15 -15
- package/templates/platforms/claude-code/rules/session-notes.md +1 -1
- package/templates/platforms/claude-code/rules/test-conventions.md +13 -0
- package/templates/platforms/claude-code/rules/workspace-sync.md +1 -1
- package/templates/platforms/claude-code/scripts/build-gate.sh +6 -1
- package/templates/platforms/claude-code/scripts/change-scope-guard.sh +110 -0
- package/templates/platforms/claude-code/scripts/check-capability.sh +68 -0
- package/templates/platforms/claude-code/scripts/completion-guard.sh +134 -14
- package/templates/platforms/claude-code/scripts/context-restore.sh +95 -0
- package/templates/platforms/claude-code/scripts/e2e-commit-gate.sh +70 -0
- package/templates/platforms/claude-code/scripts/e2e-marker.sh +51 -0
- package/templates/platforms/claude-code/scripts/phase-guard.sh +3 -6
- package/templates/platforms/claude-code/scripts/pre-compact.sh +70 -0
- package/templates/platforms/claude-code/scripts/safe-guard.sh +2 -5
- package/templates/platforms/claude-code/scripts/subagent-start.sh +11 -0
- package/templates/platforms/claude-code/scripts/subagent-stop.sh +11 -0
- package/templates/platforms/claude-code/settings.json +28 -56
- package/templates/project-types/api-backend/config.yaml +9 -5
- package/templates/project-types/api-backend/process/workflow.xml +2 -2
- package/templates/project-types/fintech/config.yaml +13 -19
- package/templates/project-types/fintech/ssot/audit-trail-spec.template.md +207 -0
- package/templates/project-types/fintech/ssot/compliance-matrix.template.md +187 -0
- package/templates/project-types/infra/config.yaml +7 -4
- package/templates/project-types/infra/process/workflow.xml +3 -3
- package/templates/project-types/mobile-app/config.yaml +8 -14
- package/templates/project-types/mobile-app/process/workflow.xml +4 -4
- package/templates/project-types/platform/config.yaml +8 -5
- package/templates/project-types/platform/process/workflow.xml +3 -3
- package/templates/project-types/web-app/config.yaml +9 -15
- package/templates/project-types/web-app/process/workflow.xml +6 -6
- package/templates/project-types/web-service/config.yaml +10 -19
- package/templates/project-types/web-service/process/workflow.xml +6 -6
- package/dist/commands/compile.d.ts +0 -3
- package/dist/commands/compile.d.ts.map +0 -1
- package/dist/commands/compile.js +0 -170
- package/dist/commands/compile.js.map +0 -1
- package/dist/commands/feedback.d.ts +0 -12
- package/dist/commands/feedback.d.ts.map +0 -1
- package/dist/commands/feedback.js +0 -382
- package/dist/commands/feedback.js.map +0 -1
- package/dist/commands/full.d.ts +0 -3
- package/dist/commands/full.d.ts.map +0 -1
- package/dist/commands/full.js +0 -88
- package/dist/commands/full.js.map +0 -1
- package/dist/commands/git/commit.d.ts +0 -3
- package/dist/commands/git/commit.d.ts.map +0 -1
- package/dist/commands/git/commit.js +0 -85
- package/dist/commands/git/commit.js.map +0 -1
- package/dist/commands/git/index.d.ts +0 -5
- package/dist/commands/git/index.d.ts.map +0 -1
- package/dist/commands/git/index.js +0 -5
- package/dist/commands/git/index.js.map +0 -1
- package/dist/commands/git/pr.d.ts +0 -3
- package/dist/commands/git/pr.d.ts.map +0 -1
- package/dist/commands/git/pr.js +0 -139
- package/dist/commands/git/pr.js.map +0 -1
- package/dist/commands/git/release.d.ts +0 -3
- package/dist/commands/git/release.d.ts.map +0 -1
- package/dist/commands/git/release.js +0 -153
- package/dist/commands/git/release.js.map +0 -1
- package/dist/commands/git/sync.d.ts +0 -3
- package/dist/commands/git/sync.d.ts.map +0 -1
- package/dist/commands/git/sync.js +0 -132
- package/dist/commands/git/sync.js.map +0 -1
- package/dist/commands/improve.d.ts +0 -3
- package/dist/commands/improve.d.ts.map +0 -1
- package/dist/commands/improve.js +0 -286
- package/dist/commands/improve.js.map +0 -1
- package/dist/commands/knowledge.d.ts +0 -3
- package/dist/commands/knowledge.d.ts.map +0 -1
- package/dist/commands/knowledge.js +0 -316
- package/dist/commands/knowledge.js.map +0 -1
- package/dist/commands/log.d.ts.map +0 -1
- package/dist/commands/log.js +0 -1436
- package/dist/commands/log.js.map +0 -1
- package/dist/commands/meta-index.d.ts +0 -3
- package/dist/commands/meta-index.d.ts.map +0 -1
- package/dist/commands/meta-index.js +0 -401
- package/dist/commands/meta-index.js.map +0 -1
- package/dist/commands/metrics.d.ts +0 -3
- package/dist/commands/metrics.d.ts.map +0 -1
- package/dist/commands/metrics.js +0 -843
- package/dist/commands/metrics.js.map +0 -1
- package/dist/commands/quick.d.ts +0 -3
- package/dist/commands/quick.d.ts.map +0 -1
- package/dist/commands/quick.js +0 -136
- package/dist/commands/quick.js.map +0 -1
- package/dist/commands/retro.d.ts +0 -3
- package/dist/commands/retro.d.ts.map +0 -1
- package/dist/commands/retro.js +0 -828
- package/dist/commands/retro.js.map +0 -1
- package/dist/commands/session.d.ts +0 -3
- package/dist/commands/session.d.ts.map +0 -1
- package/dist/commands/session.js +0 -346
- package/dist/commands/session.js.map +0 -1
- package/dist/commands/skills.d.ts +0 -12
- package/dist/commands/skills.d.ts.map +0 -1
- package/dist/commands/skills.js +0 -228
- package/dist/commands/skills.js.map +0 -1
- package/dist/commands/status.d.ts +0 -3
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -127
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/upgrade.d.ts.map +0 -1
- package/dist/commands/upgrade.js.map +0 -1
- package/dist/commands/watch.d.ts +0 -3
- package/dist/commands/watch.d.ts.map +0 -1
- package/dist/commands/watch.js +0 -213
- package/dist/commands/watch.js.map +0 -1
- package/dist/commands/workflow.d.ts +0 -3
- package/dist/commands/workflow.d.ts.map +0 -1
- package/dist/commands/workflow.js +0 -607
- package/dist/commands/workflow.js.map +0 -1
- package/templates/base/skills/coding/SKILL.md +0 -47
- package/templates/base/skills/controller/SKILL.md +0 -111
- package/templates/base/skills/prompt-engineering/SKILL.md +0 -103
- package/templates/base/skills/retrospective/SKILL.md +0 -102
- package/templates/base/skills/security/SKILL.md +0 -55
- package/templates/base/skills/testing/SKILL.md +0 -63
- package/templates/base/timsquad/feedback/feedback-router.sh +0 -341
- package/templates/base/timsquad/feedback/routing-rules.yaml +0 -352
- package/templates/platforms/claude-code/CLAUDE.md.template +0 -89
- package/templates/platforms/claude-code/rules/skill-suggest.md +0 -27
- package/templates/platforms/claude-code/scripts/skill-rules.json +0 -85
- package/templates/platforms/claude-code/scripts/skill-suggest.sh +0 -105
- /package/templates/base/skills/{architecture → tsq-architecture}/references/adr-template.md +0 -0
- /package/templates/base/skills/{architecture → tsq-architecture}/references/api-design.md +0 -0
- /package/templates/base/skills/{methodology/bdd → tsq-bdd}/rules/gherkin-patterns.md +0 -0
- /package/templates/base/skills/{coding → tsq-coding}/rules/patterns.md +0 -0
- /package/templates/base/skills/{controller → tsq-controller}/references/README.md +0 -0
- /package/templates/base/skills/{controller → tsq-controller}/rules/README.md +0 -0
- /package/templates/base/skills/{mobile/dart → tsq-dart}/rules/async-patterns.md +0 -0
- /package/templates/base/skills/{mobile/dart → tsq-dart}/rules/code-style.md +0 -0
- /package/templates/base/skills/{mobile/dart → tsq-dart}/rules/null-safety.md +0 -0
- /package/templates/base/skills/{mobile/dart → tsq-dart}/rules/type-system.md +0 -0
- /package/templates/base/skills/{methodology/ddd → tsq-ddd}/rules/strategic-patterns.md +0 -0
- /package/templates/base/skills/{methodology/debugging → tsq-debugging}/references/root-cause-tracing.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/SKILL.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/references/ci-cd-pipeline.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/code-signing.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/codemagic-setup.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/fastlane-setup.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/github-actions.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/store-deployment.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/versioning.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/SKILL.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/references/i18n-architecture.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/arb-files.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/locale-switching.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/localization-setup.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/plural-gender.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/text-direction.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/SKILL.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/references/monitoring-architecture.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/analytics.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/crashlytics-setup.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/logging.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/performance-monitoring.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/sentry-integration.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/SKILL.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/references/api-client-architecture.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/caching.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/connectivity.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/dio-setup.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/error-handling.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/interceptors.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/retrofit-patterns.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/SKILL.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/references/notification-architecture.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/references/platform-setup.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/background-processing.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/deep-linking.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/fcm-setup.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/local-notifications.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/notification-handling.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/notification-permissions.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/rich-notifications.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/references/freezed-patterns.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/references/project-structure.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/animations.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/architecture.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/navigation-routing.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/performance.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/platform-adaptive.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/state-management.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/testing.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/widget-conventions.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/SKILL.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/references/mobile-security-checklist.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/api-key-protection.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/authentication.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/data-protection.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/obfuscation.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/secure-storage.md +0 -0
- /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/ssl-pinning.md +0 -0
- /package/templates/base/skills/{backend/node → tsq-hono}/rules/async-patterns.md +0 -0
- /package/templates/base/skills/{backend/node → tsq-hono}/rules/deployment.md +0 -0
- /package/templates/base/skills/{backend/node → tsq-hono}/rules/env-config.md +0 -0
- /package/templates/base/skills/{backend/node → tsq-hono}/rules/error-handling.md +0 -0
- /package/templates/base/skills/{backend/node → tsq-hono}/rules/hono-app-setup.md +0 -0
- /package/templates/base/skills/{backend/node → tsq-hono}/rules/jwt-auth.md +0 -0
- /package/templates/base/skills/{backend/node → tsq-hono}/rules/middleware.md +0 -0
- /package/templates/base/skills/{backend/node → tsq-hono}/rules/testing.md +0 -0
- /package/templates/base/skills/{frontend/nextjs → tsq-nextjs}/rules/app-router.md +0 -0
- /package/templates/base/skills/{planning → tsq-planning}/references/prd-guide.md +0 -0
- /package/templates/base/skills/{planning → tsq-planning}/references/requirements-guide.md +0 -0
- /package/templates/base/skills/{database/prisma → tsq-prisma}/rules/queries.md +0 -0
- /package/templates/base/skills/{database/prisma → tsq-prisma}/rules/schema-design.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/_sections.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/anti-patterns.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-api-routes.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-defer-await.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-dependencies.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-parallel.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-suspense-boundaries.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/bundle-barrel-imports.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/bundle-defer-third-party.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/bundle-dynamic-imports.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/component-conventions.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/js-combine-iterations.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/js-early-exit.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/js-index-maps.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/js-set-map-lookups.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/rendering-conditional-render.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/rendering-content-visibility.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/rendering-hoist-jsx.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/rerender-defer-reads.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/rerender-derived-state.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/rerender-memo.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/rerender-transitions.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/server-after-nonblocking.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/server-cache-react.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/server-parallel-fetching.md +0 -0
- /package/templates/base/skills/{frontend/react → tsq-react}/rules/state-location.md +0 -0
- /package/templates/base/skills/{security → tsq-security}/rules/owasp-examples.md +0 -0
- /package/templates/base/skills/{security → tsq-security}/scripts/check-secrets.sh +0 -0
- /package/templates/base/skills/{stability-verification → tsq-stability}/references/release-checklist.md +0 -0
- /package/templates/base/skills/{stability-verification → tsq-stability}/references/security-fix-patterns.md +0 -0
- /package/templates/base/skills/{stability-verification → tsq-stability}/rules/verification-layers.md +0 -0
- /package/templates/base/skills/{stability-verification → tsq-stability}/rules/verification-workflow.md +0 -0
- /package/templates/base/skills/{stability-verification → tsq-stability}/scripts/verify.sh +0 -0
- /package/templates/base/skills/{methodology/tdd → tsq-tdd}/rules/real-world-example.md +0 -0
- /package/templates/base/skills/{methodology/tdd → tsq-tdd}/rules/techniques.md +0 -0
- /package/templates/base/skills/{testing → tsq-testing}/references/testing-patterns.md +0 -0
- /package/templates/base/skills/{typescript → tsq-typescript}/rules/type-patterns.md +0 -0
- /package/templates/base/skills/{typescript → tsq-typescript}/rules/utility-types.md +0 -0
package/README.ko.md
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
| 철학 | "Zero learning curve" | **"체계를 세우면 더 잘 된다"** |
|
|
25
25
|
| 의사결정 | LLM이 알아서 | **개발자가 컨트롤** |
|
|
26
26
|
| 우선순위 | 속도 | **품질 + 일관성** |
|
|
27
|
-
|
|
|
27
|
+
| 강제성 | 프롬프트만 (소프트) | **Hook Gate + Capability Token (하드)** |
|
|
28
28
|
| 학습 | 없음 | **회고적 학습으로 지속 개선** |
|
|
29
29
|
|
|
30
30
|
**For developers who want structure, not magic.**
|
|
@@ -66,39 +66,37 @@ tsq init -n my-app -t web-service -l 2 -y # 비대화형
|
|
|
66
66
|
|
|
67
67
|
```
|
|
68
68
|
my-app/
|
|
69
|
-
├── CLAUDE.md # PM 역할
|
|
69
|
+
├── CLAUDE.md # PM 역할 (자동 주입 ~15줄)
|
|
70
70
|
├── .claude/
|
|
71
|
-
│ ├── settings.json # Claude Code 설정
|
|
72
|
-
│ ├── rules/ #
|
|
73
|
-
│ ├── agents/ #
|
|
74
|
-
│ │ ├── tsq-architect.md # 아키텍처 설계
|
|
75
|
-
│ │ ├── tsq-developer.md # 코드 구현
|
|
76
|
-
│ │ ├── tsq-qa.md # 검증/리뷰
|
|
77
|
-
│ │ ├── tsq-security.md # 보안 검토
|
|
78
|
-
│ │ ├── tsq-dba.md # DB 설계
|
|
79
|
-
│ │
|
|
80
|
-
│
|
|
71
|
+
│ ├── settings.json # Claude Code 설정 (8개 Hook)
|
|
72
|
+
│ ├── rules/ # 경로별 규칙 (15개)
|
|
73
|
+
│ ├── agents/ # 7개 전문 에이전트
|
|
74
|
+
│ │ ├── tsq-architect.md # 아키텍처 설계
|
|
75
|
+
│ │ ├── tsq-developer.md # 코드 구현
|
|
76
|
+
│ │ ├── tsq-qa.md # 검증/리뷰
|
|
77
|
+
│ │ ├── tsq-security.md # 보안 검토
|
|
78
|
+
│ │ ├── tsq-dba.md # DB 설계
|
|
79
|
+
│ │ ├── tsq-designer.md # UI/UX 설계
|
|
80
|
+
│ │ └── tsq-librarian.md # Phase 기록
|
|
81
|
+
│ ├── skills/ # tsq-* 스킬 (프로젝트 타입에 따라 선택)
|
|
81
82
|
│ │ ├── tsq-protocol/ # 에이전트 공통 프로토콜
|
|
82
|
-
│ │ ├──
|
|
83
|
-
│ │ ├──
|
|
84
|
-
│ │ ├──
|
|
85
|
-
│ │ ├──
|
|
86
|
-
│ │ ├──
|
|
87
|
-
│ │ ├──
|
|
88
|
-
│ │ ├──
|
|
89
|
-
│ │ ├──
|
|
90
|
-
│ │
|
|
91
|
-
│ │
|
|
92
|
-
│ │ └── ...
|
|
83
|
+
│ │ ├── tsq-controller/ # Context DI + 위임
|
|
84
|
+
│ │ ├── tsq-coding/ # 코딩 규칙
|
|
85
|
+
│ │ ├── tsq-testing/ # 테스트 전략
|
|
86
|
+
│ │ ├── tsq-typescript/ # TypeScript 패턴
|
|
87
|
+
│ │ ├── tsq-react/ # React (설정 시)
|
|
88
|
+
│ │ ├── tsq-nextjs/ # Next.js + Vercel 룰
|
|
89
|
+
│ │ ├── tsq-database/ # DB 설계
|
|
90
|
+
│ │ ├── tsq-product-audit/ # 제품 감사 (7개 영역)
|
|
91
|
+
│ │ ├── tsq-tdd/ # TDD 방법론
|
|
92
|
+
│ │ └── ... # 기타 (설정에 따라)
|
|
93
93
|
│ └── knowledge/ # 에이전트 참조 지식
|
|
94
|
-
│ ├── checklists/ # 보안, 접근성, SSOT 검증
|
|
95
|
-
│ └── templates/ # 출력 형식 (task-result 등)
|
|
96
94
|
└── .timsquad/
|
|
97
95
|
├── config.yaml # 프로젝트 설정
|
|
98
96
|
├── ssot/ # SSOT 문서 (레벨별 5~14개)
|
|
99
97
|
├── process/ # 워크플로우 정의
|
|
100
|
-
├── state/ # 상태 관리
|
|
101
|
-
├──
|
|
98
|
+
├── state/ # 상태 관리
|
|
99
|
+
├── trails/ # Phase 사고과정 아카이브
|
|
102
100
|
├── logs/ # 3계층 로그 (L1→L2→L3)
|
|
103
101
|
└── retrospective/ # 회고 데이터
|
|
104
102
|
```
|
|
@@ -108,25 +106,52 @@ my-app/
|
|
|
108
106
|
```bash
|
|
109
107
|
claude # Claude Code 실행
|
|
110
108
|
|
|
111
|
-
#
|
|
112
|
-
|
|
109
|
+
# 슬래시 커맨드로 모든 작업 수행
|
|
110
|
+
/tsq-start # 파이프라인 시작 + 온보딩
|
|
111
|
+
/tsq-status # 현재 상태 확인
|
|
112
|
+
/tsq-grill # Sub-PRD 심층 인터뷰
|
|
113
|
+
/tsq-decompose # Phase-Sequence-Task 계획 생성
|
|
114
|
+
|
|
115
|
+
# PM(CLAUDE.md)이 controller를 통해 에이전트에 위임
|
|
113
116
|
@tsq-developer "로그인 API 구현해줘"
|
|
114
117
|
@tsq-qa "코드 리뷰해줘"
|
|
115
118
|
```
|
|
116
119
|
|
|
117
|
-
### 4. CLI
|
|
120
|
+
### 4. CLI 명령어
|
|
118
121
|
|
|
119
122
|
```bash
|
|
120
|
-
tsq
|
|
121
|
-
tsq
|
|
122
|
-
tsq
|
|
123
|
-
tsq retro auto # 회고 자동 실행
|
|
123
|
+
tsq init # 프로젝트 초기화
|
|
124
|
+
tsq update # 스킬/에이전트 최신화
|
|
125
|
+
tsq daemon start # 백그라운드 데몬 시작
|
|
124
126
|
```
|
|
125
127
|
|
|
128
|
+
> 나머지 기능은 Claude Code 슬래시 커맨드로 전환되었습니다. [CLI 레퍼런스](docs/cli.md) 참조.
|
|
129
|
+
|
|
126
130
|
---
|
|
127
131
|
|
|
128
132
|
## 핵심 기능
|
|
129
133
|
|
|
134
|
+
### 5-Layer 강제 아키텍처
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
Layer 1: Hook Gate (100% 강제)
|
|
138
|
+
└ PreToolUse 훅 + Capability Token — 시스템 레벨 차단
|
|
139
|
+
|
|
140
|
+
Layer 2: Skill Protocol (90-95% 준수)
|
|
141
|
+
└ tsq-protocol + controller — 프로세스 안내
|
|
142
|
+
└ 에이전트별 스킬 skills: 필드로 프리로드
|
|
143
|
+
|
|
144
|
+
Layer 3: CLAUDE.md (역할 정의만)
|
|
145
|
+
└ PM 역할 + 파이프라인 사전조건 (~15줄)
|
|
146
|
+
|
|
147
|
+
Layer 4: 슬래시 커맨드 (명시적 프로세스)
|
|
148
|
+
└ /tsq-start, /tsq-status, /tsq-grill, /tsq-retro
|
|
149
|
+
|
|
150
|
+
Layer 5: 감사 (비동기 사후 추적)
|
|
151
|
+
└ 데몬이 관찰 → 세션 로그, 메트릭
|
|
152
|
+
└ 데몬 장애 시 메인 파이프라인에 영향 없음
|
|
153
|
+
```
|
|
154
|
+
|
|
130
155
|
### SSOT 문서 체계
|
|
131
156
|
|
|
132
157
|
프로젝트 레벨에 따라 필수 문서가 자동 결정됩니다:
|
|
@@ -139,88 +164,60 @@ tsq retro auto # 회고 자동 실행
|
|
|
139
164
|
|
|
140
165
|
### 에이전트 시스템
|
|
141
166
|
|
|
142
|
-
|
|
167
|
+
7개 전문 에이전트 + Controller 기반 위임:
|
|
143
168
|
|
|
144
169
|
| 에이전트 | 역할 |
|
|
145
170
|
|----------|------|
|
|
146
|
-
| `@tsq-architect` | 아키텍처 설계, ADR,
|
|
171
|
+
| `@tsq-architect` | 아키텍처 설계, ADR, 계획 검증 |
|
|
147
172
|
| `@tsq-developer` | SSOT 기반 코드 구현, TDD |
|
|
148
173
|
| `@tsq-qa` | 코드 리뷰, 테스트 검증, SSOT 적합성 |
|
|
149
174
|
| `@tsq-security` | 보안 검증, OWASP, 취약점 분석 |
|
|
150
175
|
| `@tsq-dba` | DB 설계, 쿼리 최적화, 마이그레이션 |
|
|
151
176
|
| `@tsq-designer` | UI/UX 설계, 접근성, 디자인 토큰 |
|
|
177
|
+
| `@tsq-librarian` | Phase 기록, 메모리 관리 |
|
|
152
178
|
|
|
153
|
-
###
|
|
154
|
-
|
|
155
|
-
피드백을 3단계로 자동 분류하고 적절한 액션을 실행합니다:
|
|
156
|
-
|
|
157
|
-
```
|
|
158
|
-
L1 (구현 수정) → Developer 자동 처리 → 승인 불필요
|
|
159
|
-
L2 (설계 수정) → in_review 상태로 전환 → Phase Gate 차단
|
|
160
|
-
L3 (기획 수정) → 사용자 승인 대기 → approve/reject 필수
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
> 상세: [docs/feedback-and-retrospective.md](docs/feedback-and-retrospective.md)
|
|
164
|
-
|
|
165
|
-
### 회고적 학습
|
|
166
|
-
|
|
167
|
-
작업 로그 → 패턴 분석 → 개선 제안 → 프롬프트/템플릿 업데이트. LLM 파인튜닝 대신 프롬프트/템플릿 개선으로 실용화합니다.
|
|
179
|
+
### 35개 스킬 (슬래시 커맨드)
|
|
168
180
|
|
|
169
|
-
|
|
170
|
-
tsq retro auto # 수집 → 분석 → 리포트 → 적용 (원클릭)
|
|
171
|
-
tsq improve analyze # 패턴 분석 + 개선 제안
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
> 상세: [docs/feedback-and-retrospective.md](docs/feedback-and-retrospective.md)
|
|
181
|
+
모든 스킬은 `tsq-*` flat namespace로 통일되었으며 슬래시 커맨드로 사용:
|
|
175
182
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
183
|
+
| 카테고리 | 스킬 |
|
|
184
|
+
|----------|------|
|
|
185
|
+
| **핵심** | `tsq-protocol`, `tsq-controller`, `tsq-start`, `tsq-status` |
|
|
186
|
+
| **코딩** | `tsq-coding`, `tsq-testing`, `tsq-typescript`, `tsq-hono` |
|
|
187
|
+
| **기획** | `tsq-planning`, `tsq-spec`, `tsq-grill`, `tsq-decompose` |
|
|
188
|
+
| **프론트엔드** | `tsq-react`, `tsq-nextjs`, `tsq-ui` |
|
|
189
|
+
| **백엔드** | `tsq-database`, `tsq-prisma`, `tsq-security` |
|
|
190
|
+
| **모바일** | `tsq-dart`, `tsq-flutter` (+ 하위 스킬 6개) |
|
|
191
|
+
| **품질** | `tsq-product-audit`, `tsq-audit`, `tsq-stability` |
|
|
192
|
+
| **방법론** | `tsq-tdd`, `tsq-bdd`, `tsq-ddd`, `tsq-debugging` |
|
|
193
|
+
| **운영** | `tsq-librarian`, `tsq-log`, `tsq-retro`, `tsq-prompt` |
|
|
194
|
+
|
|
195
|
+
### 8개 Hook Gate
|
|
196
|
+
|
|
197
|
+
| Hook | 스크립트 | 역할 | 전략 |
|
|
198
|
+
|------|---------|------|------|
|
|
199
|
+
| PreToolUse (Bash) | `safe-guard.sh` | 파괴적 명령 차단 | Fail-closed |
|
|
200
|
+
| PreToolUse (Write\|Edit) | `phase-guard.sh` | Phase별 파일 접근 제한 | Fail-closed |
|
|
201
|
+
| PreToolUse (Write\|Edit) | `check-capability.sh` | Capability Token 검증 | Fail-closed |
|
|
202
|
+
| PreToolUse (Write\|Edit) | `change-scope-guard.sh` | 변경 범위 추적 | Fail-open |
|
|
203
|
+
| Stop | `completion-guard.sh` | 테스트 + TDD + SSOT 확인 | Fail-closed |
|
|
204
|
+
| Stop | `build-gate.sh` | TypeScript 빌드 에러 | Fail-closed |
|
|
205
|
+
| PreCompact | `pre-compact.sh` | 컴팩션 전 상태 저장 | Fail-open |
|
|
206
|
+
| SessionStart (compact) | `context-restore.sh` | 컨텍스트 복원 + SSOT 안내 | Fail-open |
|
|
207
|
+
|
|
208
|
+
### 데몬 기반 자동화
|
|
209
|
+
|
|
210
|
+
**관찰자 전용 데몬** — 토큰 비용 0:
|
|
179
211
|
|
|
180
212
|
```
|
|
181
|
-
Claude Code 세션 → 데몬이
|
|
182
|
-
→ L1 태스크 로그
|
|
183
|
-
→
|
|
184
|
-
→
|
|
185
|
-
→
|
|
186
|
-
→
|
|
187
|
-
→ Meta Index 자동 업데이트
|
|
213
|
+
Claude Code 세션 → 데몬이 IPC로 관찰
|
|
214
|
+
→ L1 태스크 로그 기록 (SubagentStop 훅)
|
|
215
|
+
→ Decision Log 누적 (decisions.jsonl)
|
|
216
|
+
→ SSOT Drift 감지 (7일 초과 미갱신 경고)
|
|
217
|
+
→ 세션 메트릭 추적
|
|
218
|
+
→ 데몬 장애 시 파이프라인 차단 없음
|
|
188
219
|
```
|
|
189
220
|
|
|
190
|
-
> 상세: [docs/token-efficiency.md](docs/token-efficiency.md)
|
|
191
|
-
|
|
192
|
-
### Meta Index (코드 구조 인덱스)
|
|
193
|
-
|
|
194
|
-
AST 기반 코드/UI 구조 자동 인덱싱 + 에이전트 semantic 데이터 병합:
|
|
195
|
-
|
|
196
|
-
```bash
|
|
197
|
-
tsq mi rebuild # 전체 코드+UI 인덱스 구축
|
|
198
|
-
tsq mi stats # Health Score + UI Health
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
> 상세: [docs/meta-index-architecture.md](docs/meta-index-architecture.md)
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
## CLI 명령어 요약
|
|
206
|
-
|
|
207
|
-
| 명령어 | 설명 |
|
|
208
|
-
|--------|------|
|
|
209
|
-
| `tsq init` | 프로젝트 초기화 (대화형/비대화형) |
|
|
210
|
-
| `tsq status` | 프로젝트 상태 확인 |
|
|
211
|
-
| `tsq q "작업"` | Quick 모드 (간단한 작업) |
|
|
212
|
-
| `tsq f "작업"` | Full 모드 (SSOT 검증) |
|
|
213
|
-
| `tsq log` | 3계층 작업 로그 관리 (L1/L2/L3) |
|
|
214
|
-
| `tsq feedback` | 피드백 분류 + 자동 액션 |
|
|
215
|
-
| `tsq retro` | 회고 실행 (수동/자동) |
|
|
216
|
-
| `tsq metrics` | 메트릭 수집/트렌드 |
|
|
217
|
-
| `tsq mi` | Meta Index 관리 (rebuild/stats) |
|
|
218
|
-
| `tsq knowledge` | Knowledge 파일 관리 |
|
|
219
|
-
| `tsq wf` | 워크플로우 자동화 |
|
|
220
|
-
| `tsq daemon` | 백그라운드 데몬 관리 |
|
|
221
|
-
|
|
222
|
-
> 전체 CLI 레퍼런스: [docs/cli.md](docs/cli.md)
|
|
223
|
-
|
|
224
221
|
---
|
|
225
222
|
|
|
226
223
|
## 프로젝트 타입
|
|
@@ -232,6 +229,7 @@ tsq mi stats # Health Score + UI Health
|
|
|
232
229
|
| `api-backend` | API 서버, 마이크로서비스 |
|
|
233
230
|
| `platform` | 프레임워크, SDK |
|
|
234
231
|
| `fintech` | 거래소, 결제 (Level 3 강제) |
|
|
232
|
+
| `mobile-app` | 크로스플랫폼 모바일 앱 |
|
|
235
233
|
| `infra` | DevOps, 자동화 |
|
|
236
234
|
|
|
237
235
|
---
|
|
@@ -242,14 +240,12 @@ tsq mi stats # Health Score + UI Health
|
|
|
242
240
|
|------|------|
|
|
243
241
|
| [PRD](docs/PRD.md) | 프레임워크 전체 기획 |
|
|
244
242
|
| [Core Concepts](docs/core-concepts.md) | 분수 모델, SSOT, 에이전트/스킬 구조 |
|
|
245
|
-
| [CLI Reference](docs/cli.md) |
|
|
246
|
-
| [
|
|
243
|
+
| [CLI Reference](docs/cli.md) | CLI 명령어 레퍼런스 |
|
|
244
|
+
| [File Structure](docs/file-structure.md) | 템플릿 + 초기화 후 구조 |
|
|
245
|
+
| [Hook Execution Order](docs/hook-execution-order.md) | Hook 실행 순서, Fail 전략 |
|
|
247
246
|
| [Log Architecture](docs/log-architecture.md) | 3계층 로그 체계 (L1→L2→L3) |
|
|
248
247
|
| [Feedback & Retrospective](docs/feedback-and-retrospective.md) | 피드백 라우팅 + 회고적 학습 |
|
|
249
|
-
| [
|
|
250
|
-
| [Knowledge Architecture](docs/knowledge-architecture.md) | Knowledge 시스템 |
|
|
251
|
-
| [Meta Index Architecture](docs/meta-index-architecture.md) | 코드/UI 구조 인덱스 |
|
|
252
|
-
| [File Structure](docs/file-structure.md) | 템플릿 + 초기화 후 구조 |
|
|
248
|
+
| [SDCA Architecture](docs/sdca-architecture.md) | 스킬 주도 컨트롤러 아키텍처 |
|
|
253
249
|
|
|
254
250
|
---
|
|
255
251
|
|
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ Optimized Role Definitions + Advanced Skills + Retrospective Learning = Continuo
|
|
|
24
24
|
| Philosophy | "Zero learning curve" | **"Structure leads to better results"** |
|
|
25
25
|
| Decision Making | LLM decides everything | **Developer stays in control** |
|
|
26
26
|
| Priority | Speed | **Quality + Consistency** |
|
|
27
|
-
|
|
|
27
|
+
| Enforcement | Prompt only (soft) | **Hook Gate + Capability Token (hard)** |
|
|
28
28
|
| Learning | None | **Retrospective learning for continuous improvement** |
|
|
29
29
|
|
|
30
30
|
**For developers who want structure, not magic.**
|
|
@@ -66,39 +66,37 @@ tsq init -n my-app -t web-service -l 2 -y # Non-interactive
|
|
|
66
66
|
|
|
67
67
|
```
|
|
68
68
|
my-app/
|
|
69
|
-
├── CLAUDE.md # PM role
|
|
69
|
+
├── CLAUDE.md # PM role (auto-injected ~15 lines)
|
|
70
70
|
├── .claude/
|
|
71
|
-
│ ├── settings.json # Claude Code settings
|
|
72
|
-
│ ├── rules/ #
|
|
73
|
-
│ ├── agents/ #
|
|
74
|
-
│ │ ├── tsq-architect.md # Architecture design
|
|
75
|
-
│ │ ├── tsq-developer.md # Code implementation
|
|
76
|
-
│ │ ├── tsq-qa.md # Verification/review
|
|
77
|
-
│ │ ├── tsq-security.md # Security audit
|
|
78
|
-
│ │ ├── tsq-dba.md # DB design
|
|
79
|
-
│ │
|
|
80
|
-
│
|
|
71
|
+
│ ├── settings.json # Claude Code settings (8 hooks)
|
|
72
|
+
│ ├── rules/ # Path-specific rules (15)
|
|
73
|
+
│ ├── agents/ # 7 specialized agents
|
|
74
|
+
│ │ ├── tsq-architect.md # Architecture design
|
|
75
|
+
│ │ ├── tsq-developer.md # Code implementation
|
|
76
|
+
│ │ ├── tsq-qa.md # Verification/review
|
|
77
|
+
│ │ ├── tsq-security.md # Security audit
|
|
78
|
+
│ │ ├── tsq-dba.md # DB design
|
|
79
|
+
│ │ ├── tsq-designer.md # UI/UX design
|
|
80
|
+
│ │ └── tsq-librarian.md # Phase recording
|
|
81
|
+
│ ├── skills/ # tsq-* skills (selected by project type)
|
|
81
82
|
│ │ ├── tsq-protocol/ # Shared agent protocol
|
|
82
|
-
│ │ ├──
|
|
83
|
-
│ │ ├──
|
|
84
|
-
│ │ ├──
|
|
85
|
-
│ │ ├──
|
|
86
|
-
│ │ ├──
|
|
87
|
-
│ │ ├──
|
|
88
|
-
│ │ ├──
|
|
89
|
-
│ │ ├──
|
|
90
|
-
│ │
|
|
91
|
-
│ │
|
|
92
|
-
│ │ └── ...
|
|
83
|
+
│ │ ├── tsq-controller/ # Context DI + delegation
|
|
84
|
+
│ │ ├── tsq-coding/ # Coding rules
|
|
85
|
+
│ │ ├── tsq-testing/ # Test strategies
|
|
86
|
+
│ │ ├── tsq-typescript/ # TypeScript patterns
|
|
87
|
+
│ │ ├── tsq-react/ # React (if configured)
|
|
88
|
+
│ │ ├── tsq-nextjs/ # Next.js + Vercel rules
|
|
89
|
+
│ │ ├── tsq-database/ # DB design
|
|
90
|
+
│ │ ├── tsq-product-audit/ # Product audit (7 areas)
|
|
91
|
+
│ │ ├── tsq-tdd/ # TDD methodology
|
|
92
|
+
│ │ └── ... # Others (per config)
|
|
93
93
|
│ └── knowledge/ # Agent reference knowledge
|
|
94
|
-
│ ├── checklists/ # Security, accessibility, SSOT validation
|
|
95
|
-
│ └── templates/ # Output formats (task-result, etc.)
|
|
96
94
|
└── .timsquad/
|
|
97
95
|
├── config.yaml # Project configuration
|
|
98
96
|
├── ssot/ # SSOT documents (5–14 per level)
|
|
99
97
|
├── process/ # Workflow definitions
|
|
100
|
-
├── state/ # State management
|
|
101
|
-
├──
|
|
98
|
+
├── state/ # State management
|
|
99
|
+
├── trails/ # Phase thinking archives
|
|
102
100
|
├── logs/ # 3-tier logs (L1→L2→L3)
|
|
103
101
|
└── retrospective/ # Retrospective data
|
|
104
102
|
```
|
|
@@ -108,25 +106,52 @@ my-app/
|
|
|
108
106
|
```bash
|
|
109
107
|
claude # Launch Claude Code
|
|
110
108
|
|
|
111
|
-
#
|
|
112
|
-
|
|
109
|
+
# Use slash commands for all operations
|
|
110
|
+
/tsq-start # Start pipeline + onboarding
|
|
111
|
+
/tsq-status # Check current status
|
|
112
|
+
/tsq-grill # Deep interview for Sub-PRD
|
|
113
|
+
/tsq-decompose # Generate Phase-Sequence-Task plan
|
|
114
|
+
|
|
115
|
+
# PM (CLAUDE.md) delegates to agents via controller
|
|
113
116
|
@tsq-developer "Implement the login API"
|
|
114
117
|
@tsq-qa "Review the code"
|
|
115
118
|
```
|
|
116
119
|
|
|
117
|
-
### 4.
|
|
120
|
+
### 4. CLI Commands
|
|
118
121
|
|
|
119
122
|
```bash
|
|
120
|
-
tsq
|
|
121
|
-
tsq
|
|
122
|
-
tsq
|
|
123
|
-
tsq retro auto # Run retrospective automatically
|
|
123
|
+
tsq init # Initialize project
|
|
124
|
+
tsq update # Update skills/agents to latest
|
|
125
|
+
tsq daemon start # Start background daemon
|
|
124
126
|
```
|
|
125
127
|
|
|
128
|
+
> All other operations use Claude Code slash commands. See [CLI Reference](docs/cli.en.md).
|
|
129
|
+
|
|
126
130
|
---
|
|
127
131
|
|
|
128
132
|
## Key Features
|
|
129
133
|
|
|
134
|
+
### 5-Layer Enforcement Architecture
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
Layer 1: Hook Gate (100% enforced)
|
|
138
|
+
└ PreToolUse hooks + Capability Token — system-level blocking
|
|
139
|
+
|
|
140
|
+
Layer 2: Skill Protocol (90-95% compliance)
|
|
141
|
+
└ tsq-protocol + controller — process guidance
|
|
142
|
+
└ Agent-specific skills preloaded via skills: field
|
|
143
|
+
|
|
144
|
+
Layer 3: CLAUDE.md (role definition only)
|
|
145
|
+
└ PM role + pipeline prerequisites (~15 lines)
|
|
146
|
+
|
|
147
|
+
Layer 4: Slash Commands (explicit process)
|
|
148
|
+
└ /tsq-start, /tsq-status, /tsq-grill, /tsq-retro
|
|
149
|
+
|
|
150
|
+
Layer 5: Audit (async post-tracking)
|
|
151
|
+
└ Daemon observes → session logs, metrics
|
|
152
|
+
└ Daemon failure doesn't affect main pipeline
|
|
153
|
+
```
|
|
154
|
+
|
|
130
155
|
### SSOT Document System
|
|
131
156
|
|
|
132
157
|
Required documents are automatically determined by project level:
|
|
@@ -139,88 +164,60 @@ Required documents are automatically determined by project level:
|
|
|
139
164
|
|
|
140
165
|
### Agent System
|
|
141
166
|
|
|
142
|
-
|
|
167
|
+
7 specialized agents with Controller-based delegation:
|
|
143
168
|
|
|
144
169
|
| Agent | Role |
|
|
145
170
|
|-------|------|
|
|
146
|
-
| `@tsq-architect` | Architecture design, ADR,
|
|
171
|
+
| `@tsq-architect` | Architecture design, ADR, plan review |
|
|
147
172
|
| `@tsq-developer` | SSOT-driven code implementation, TDD |
|
|
148
173
|
| `@tsq-qa` | Code review, test verification, SSOT compliance |
|
|
149
174
|
| `@tsq-security` | Security audit, OWASP, vulnerability analysis |
|
|
150
175
|
| `@tsq-dba` | DB design, query optimization, migrations |
|
|
151
176
|
| `@tsq-designer` | UI/UX design, accessibility, design tokens |
|
|
177
|
+
| `@tsq-librarian` | Phase recording, memory management |
|
|
152
178
|
|
|
153
|
-
###
|
|
179
|
+
### 35 Skills (Slash Commands)
|
|
154
180
|
|
|
155
|
-
|
|
181
|
+
All skills use `tsq-*` flat namespace and are available as slash commands:
|
|
156
182
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
183
|
+
| Category | Skills |
|
|
184
|
+
|----------|--------|
|
|
185
|
+
| **Core** | `tsq-protocol`, `tsq-controller`, `tsq-start`, `tsq-status` |
|
|
186
|
+
| **Coding** | `tsq-coding`, `tsq-testing`, `tsq-typescript`, `tsq-hono` |
|
|
187
|
+
| **Planning** | `tsq-planning`, `tsq-spec`, `tsq-grill`, `tsq-decompose` |
|
|
188
|
+
| **Frontend** | `tsq-react`, `tsq-nextjs`, `tsq-ui` |
|
|
189
|
+
| **Backend** | `tsq-database`, `tsq-prisma`, `tsq-security` |
|
|
190
|
+
| **Mobile** | `tsq-dart`, `tsq-flutter` (+ 6 sub-skills) |
|
|
191
|
+
| **Quality** | `tsq-product-audit`, `tsq-audit`, `tsq-stability` |
|
|
192
|
+
| **Methodology** | `tsq-tdd`, `tsq-bdd`, `tsq-ddd`, `tsq-debugging` |
|
|
193
|
+
| **Operations** | `tsq-librarian`, `tsq-log`, `tsq-retro`, `tsq-prompt` |
|
|
162
194
|
|
|
163
|
-
|
|
195
|
+
### 8 Hook Gates
|
|
164
196
|
|
|
165
|
-
|
|
197
|
+
| Hook | Script | Role | Strategy |
|
|
198
|
+
|------|--------|------|----------|
|
|
199
|
+
| PreToolUse (Bash) | `safe-guard.sh` | Block destructive commands | Fail-closed |
|
|
200
|
+
| PreToolUse (Write\|Edit) | `phase-guard.sh` | Phase file restrictions | Fail-closed |
|
|
201
|
+
| PreToolUse (Write\|Edit) | `check-capability.sh` | Capability Token verification | Fail-closed |
|
|
202
|
+
| PreToolUse (Write\|Edit) | `change-scope-guard.sh` | Change scope tracking | Fail-open |
|
|
203
|
+
| Stop | `completion-guard.sh` | Test + TDD + SSOT check | Fail-closed |
|
|
204
|
+
| Stop | `build-gate.sh` | TypeScript build errors | Fail-closed |
|
|
205
|
+
| PreCompact | `pre-compact.sh` | Save state before compact | Fail-open |
|
|
206
|
+
| SessionStart (compact) | `context-restore.sh` | Restore context + SSOT readiness | Fail-open |
|
|
166
207
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
```bash
|
|
170
|
-
tsq retro auto # Collect → Analyze → Report → Apply (one-click)
|
|
171
|
-
tsq improve analyze # Pattern analysis + improvement suggestions
|
|
172
|
-
```
|
|
208
|
+
### Daemon-Based Automation
|
|
173
209
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
### Daemon-Based Automation Pipeline
|
|
177
|
-
|
|
178
|
-
**All orchestration at zero token cost** — the program decides:
|
|
210
|
+
**Observer-only daemon** — no token cost:
|
|
179
211
|
|
|
180
212
|
```
|
|
181
|
-
Claude Code session → Daemon
|
|
182
|
-
→ L1 task logs recorded
|
|
183
|
-
→
|
|
184
|
-
→
|
|
185
|
-
→
|
|
186
|
-
→
|
|
187
|
-
→ Meta Index updated automatically
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
> Details: [docs/token-efficiency.en.md](docs/token-efficiency.en.md)
|
|
191
|
-
|
|
192
|
-
### Meta Index (Code Structure Index)
|
|
193
|
-
|
|
194
|
-
AST-based code/UI structure auto-indexing + agent semantic data merging:
|
|
195
|
-
|
|
196
|
-
```bash
|
|
197
|
-
tsq mi rebuild # Build full code+UI index
|
|
198
|
-
tsq mi stats # Health Score + UI Health
|
|
213
|
+
Claude Code session → Daemon observes via IPC
|
|
214
|
+
→ L1 task logs recorded (SubagentStop hook)
|
|
215
|
+
→ Decision Log accumulated (decisions.jsonl)
|
|
216
|
+
→ SSOT Drift detection (7-day stale warning)
|
|
217
|
+
→ Session metrics tracked
|
|
218
|
+
→ Daemon failure doesn't block pipeline
|
|
199
219
|
```
|
|
200
220
|
|
|
201
|
-
> Details: [docs/meta-index-architecture.en.md](docs/meta-index-architecture.en.md)
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
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)
|
|
223
|
-
|
|
224
221
|
---
|
|
225
222
|
|
|
226
223
|
## Project Types
|
|
@@ -232,6 +229,7 @@ tsq mi stats # Health Score + UI Health
|
|
|
232
229
|
| `api-backend` | API servers, microservices |
|
|
233
230
|
| `platform` | Frameworks, SDKs |
|
|
234
231
|
| `fintech` | Exchanges, payments (Level 3 enforced) |
|
|
232
|
+
| `mobile-app` | Cross-platform mobile apps |
|
|
235
233
|
| `infra` | DevOps, automation |
|
|
236
234
|
|
|
237
235
|
---
|
|
@@ -242,14 +240,12 @@ tsq mi stats # Health Score + UI Health
|
|
|
242
240
|
|----------|-------------|
|
|
243
241
|
| [PRD](docs/PRD.en.md) | Full framework specification |
|
|
244
242
|
| [Core Concepts](docs/core-concepts.en.md) | Fountain model, SSOT, agent/skill architecture |
|
|
245
|
-
| [CLI Reference](docs/cli.en.md) |
|
|
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 |
|
|
243
|
+
| [CLI Reference](docs/cli.en.md) | CLI command reference |
|
|
252
244
|
| [File Structure](docs/file-structure.en.md) | Templates + post-init structure |
|
|
245
|
+
| [Hook Execution Order](docs/hook-execution-order.md) | Hook sequence, fail strategy |
|
|
246
|
+
| [Log Architecture](docs/log-architecture.en.md) | 3-tier log system (L1→L2→L3) |
|
|
247
|
+
| [Feedback & Retrospective](docs/feedback-and-retrospective.en.md) | Feedback routing + retrospective |
|
|
248
|
+
| [SDCA Architecture](docs/sdca-architecture.md) | Skill-Driven Controller Architecture |
|
|
253
249
|
|
|
254
250
|
---
|
|
255
251
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwF5D"}
|
package/dist/commands/daemon.js
CHANGED
|
@@ -8,6 +8,8 @@ import { colors, printHeader, printError, printSuccess, printKeyValue } from '..
|
|
|
8
8
|
import { findProjectRoot } from '../lib/project.js';
|
|
9
9
|
import { isDaemonRunning, killZombie } from '../daemon/index.js';
|
|
10
10
|
import { queryDaemon } from '../daemon/meta-cache.js';
|
|
11
|
+
import { loadSessionState } from '../daemon/session-state.js';
|
|
12
|
+
import { loadWorkflowState } from '../lib/workflow-state.js';
|
|
11
13
|
export function registerDaemonCommand(program) {
|
|
12
14
|
const cmd = program
|
|
13
15
|
.command('daemon')
|
|
@@ -200,13 +202,57 @@ async function showStatus() {
|
|
|
200
202
|
printHeader('Daemon Status');
|
|
201
203
|
if (!status.running) {
|
|
202
204
|
console.log(colors.dim(' Not running'));
|
|
205
|
+
// Still show session state if available
|
|
206
|
+
const session = await loadSessionState(projectRoot);
|
|
207
|
+
if (session) {
|
|
208
|
+
console.log(colors.subheader('\n Last Session'));
|
|
209
|
+
printKeyValue(' Session', session.sessionShort);
|
|
210
|
+
printKeyValue(' Started', session.startedAt);
|
|
211
|
+
printKeyValue(' Turns', String(session.turnCount));
|
|
212
|
+
}
|
|
203
213
|
return;
|
|
204
214
|
}
|
|
205
215
|
printKeyValue(' PID', String(status.pid));
|
|
206
216
|
printKeyValue(' Status', colors.success('running'));
|
|
207
|
-
//
|
|
217
|
+
// Session state (file-based — always available)
|
|
218
|
+
const session = await loadSessionState(projectRoot);
|
|
219
|
+
if (session) {
|
|
220
|
+
const uptimeMs = Date.now() - new Date(session.startedAt).getTime();
|
|
221
|
+
const uptimeMin = Math.floor(uptimeMs / 60000);
|
|
222
|
+
const uptimeSec = Math.floor((uptimeMs % 60000) / 1000);
|
|
223
|
+
printKeyValue(' Uptime', `${uptimeMin}m ${uptimeSec}s`);
|
|
224
|
+
printKeyValue(' Session', session.sessionShort);
|
|
225
|
+
console.log(colors.subheader('\n Session Metrics'));
|
|
226
|
+
printKeyValue(' Turns', String(session.turnCount));
|
|
227
|
+
printKeyValue(' Tool Uses', String(session.metrics.toolUses));
|
|
228
|
+
if (session.metrics.toolFailures > 0) {
|
|
229
|
+
printKeyValue(' Tool Failures', colors.error(String(session.metrics.toolFailures)));
|
|
230
|
+
}
|
|
231
|
+
printKeyValue(' Subagents', String(session.metrics.subagentCount));
|
|
232
|
+
printKeyValue(' Bash Commands', String(session.metrics.bashCommands));
|
|
233
|
+
printKeyValue(' TSQ Commands', String(session.metrics.tsqCommands));
|
|
234
|
+
if (session.metrics.tokenDataReceived) {
|
|
235
|
+
console.log(colors.subheader('\n Token Usage'));
|
|
236
|
+
printKeyValue(' Input', session.metrics.tokenInput.toLocaleString());
|
|
237
|
+
printKeyValue(' Output', session.metrics.tokenOutput.toLocaleString());
|
|
238
|
+
printKeyValue(' Cache Create', session.metrics.tokenCacheCreate.toLocaleString());
|
|
239
|
+
printKeyValue(' Cache Read', session.metrics.tokenCacheRead.toLocaleString());
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
// Automation toggles
|
|
243
|
+
try {
|
|
244
|
+
const wfState = await loadWorkflowState(projectRoot);
|
|
245
|
+
console.log(colors.subheader('\n Automation'));
|
|
246
|
+
for (const [key, val] of Object.entries(wfState.automation)) {
|
|
247
|
+
const icon = val ? colors.success('ON') : colors.dim('OFF');
|
|
248
|
+
console.log(` ${key.padEnd(16)} ${icon}`);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
catch { /* skip */ }
|
|
252
|
+
// IPC로 메타인덱스 정보 조회
|
|
208
253
|
try {
|
|
209
254
|
const info = await queryDaemon(projectRoot, 'status');
|
|
255
|
+
console.log(colors.subheader('\n Meta Index'));
|
|
210
256
|
if (info.mode) {
|
|
211
257
|
printKeyValue(' Mode', info.mode);
|
|
212
258
|
}
|
|
@@ -224,7 +270,7 @@ async function showStatus() {
|
|
|
224
270
|
}
|
|
225
271
|
}
|
|
226
272
|
catch {
|
|
227
|
-
console.log(colors.dim(' (IPC not available)'));
|
|
273
|
+
console.log(colors.dim('\n (IPC not available — meta index info unavailable)'));
|
|
228
274
|
}
|
|
229
275
|
}
|
|
230
276
|
//# sourceMappingURL=daemon.js.map
|