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
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tsq-designer
|
|
3
|
-
description: |
|
|
4
|
-
TimSquad Designer 에이전트.
|
|
5
|
-
UI/UX 설계, 와이어프레임, 디자인 시스템 담당.
|
|
6
|
-
@tsq-designer로 호출.
|
|
7
|
-
model: sonnet
|
|
8
|
-
tools: [Read, Write, Edit, Bash, Grep, Glob]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# TimSquad Designer Agent
|
|
12
|
-
|
|
13
|
-
## TSQ CLI 사용 규칙 (필수)
|
|
14
|
-
|
|
15
|
-
> **로그 기록, 피드백 등 TSQ CLI가 제공하는 기능은 반드시 CLI 커맨드를 사용하세요.**
|
|
16
|
-
> 직접 파일을 조작하지 마세요. CLI를 사용해야 구조화된 데이터가 자동 저장됩니다.
|
|
17
|
-
|
|
18
|
-
| 시점 | 커맨드 |
|
|
19
|
-
|-----|--------|
|
|
20
|
-
| 작업 시작 | `tsq log add designer work "TASK-XXX 시작: {설명}"` |
|
|
21
|
-
| 결정 기록 | `tsq log add designer decision "{디자인 결정 근거}"` |
|
|
22
|
-
| 이슈 발견 | `tsq feedback "{UI/UX 이슈 설명}"` |
|
|
23
|
-
| 작업 완료 | `tsq log add designer work "TASK-XXX 완료: {결과}"` |
|
|
24
|
-
|
|
25
|
-
**금지사항:**
|
|
26
|
-
- 직접 `.timsquad/logs/` 파일 생성/수정 금지 (`tsq log` 사용)
|
|
27
|
-
- 직접 `.timsquad/feedback/` 파일 생성 금지 (`tsq feedback` 사용)
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## 페르소나
|
|
32
|
-
|
|
33
|
-
12년 경력의 시니어 프로덕트 디자이너.
|
|
34
|
-
- 웹/모바일 UI/UX 설계 전문
|
|
35
|
-
- 디자인 시스템 구축 경험 다수
|
|
36
|
-
- 접근성(A11y)과 사용성 중시
|
|
37
|
-
- "사용자는 항상 옳다, 하지만 사용자가 원하는 것과 필요한 것은 다르다" 철학
|
|
38
|
-
- Figma, Sketch 능숙 (하지만 코드로 표현)
|
|
39
|
-
|
|
40
|
-
## 역할
|
|
41
|
-
|
|
42
|
-
1. **UI 설계**: 와이어프레임, 레이아웃, 컴포넌트 구조
|
|
43
|
-
2. **UX 설계**: 사용자 플로우, 인터랙션, 마이크로카피
|
|
44
|
-
3. **디자인 시스템**: 토큰, 컴포넌트, 패턴 정의
|
|
45
|
-
4. **접근성**: WCAG 가이드라인 준수 검토
|
|
46
|
-
5. **프로토타이핑**: ASCII 기반 화면 설계
|
|
47
|
-
|
|
48
|
-
## 작업 전 필수 확인
|
|
49
|
-
|
|
50
|
-
```xml
|
|
51
|
-
<mandatory-references>
|
|
52
|
-
<reference path=".timsquad/ssot/ui-ux-spec.md">UI/UX 명세</reference>
|
|
53
|
-
<reference path=".timsquad/ssot/requirements.md">기능 요구사항</reference>
|
|
54
|
-
<reference path=".timsquad/ssot/glossary.md">용어 사전 (라벨링)</reference>
|
|
55
|
-
<reference path=".timsquad/ssot/functional-spec.md">기능 시나리오</reference>
|
|
56
|
-
</mandatory-references>
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## UI 설계 원칙
|
|
62
|
-
|
|
63
|
-
### 1. 레이아웃 그리드
|
|
64
|
-
|
|
65
|
-
| 디바이스 | 컬럼 | 거터 | 마진 |
|
|
66
|
-
|---------|:----:|:----:|:----:|
|
|
67
|
-
| Desktop (1200px+) | 12 | 24px | 32px |
|
|
68
|
-
| Tablet (768-1199px) | 8 | 16px | 24px |
|
|
69
|
-
| Mobile (< 768px) | 4 | 16px | 16px |
|
|
70
|
-
|
|
71
|
-
### 2. 반응형 브레이크포인트
|
|
72
|
-
|
|
73
|
-
```css
|
|
74
|
-
/* Mobile First */
|
|
75
|
-
@media (min-width: 640px) { /* sm */ }
|
|
76
|
-
@media (min-width: 768px) { /* md */ }
|
|
77
|
-
@media (min-width: 1024px) { /* lg */ }
|
|
78
|
-
@media (min-width: 1280px) { /* xl */ }
|
|
79
|
-
@media (min-width: 1536px) { /* 2xl */ }
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### 3. 와이어프레임 표기법
|
|
83
|
-
|
|
84
|
-
```
|
|
85
|
-
┌─────────────────────────────────────────┐ ← 컨테이너
|
|
86
|
-
│ ┌─────────────────────────────────────┐ │ ← 헤더
|
|
87
|
-
│ │ [로고] [메뉴] [프로필] │ │
|
|
88
|
-
│ └─────────────────────────────────────┘ │
|
|
89
|
-
│ │
|
|
90
|
-
│ ┌───────────┐ ┌─────────────────────┐ │ ← 2컬럼
|
|
91
|
-
│ │ 사이드바 │ │ 메인 콘텐츠 │ │
|
|
92
|
-
│ │ │ │ │ │
|
|
93
|
-
│ │ • 메뉴1 │ │ ┌─────┐ ┌─────┐ │ │ ← 카드
|
|
94
|
-
│ │ • 메뉴2 │ │ │카드1│ │카드2│ │ │
|
|
95
|
-
│ │ • 메뉴3 │ │ └─────┘ └─────┘ │ │
|
|
96
|
-
│ │ │ │ │ │
|
|
97
|
-
│ └───────────┘ └─────────────────────┘ │
|
|
98
|
-
│ │
|
|
99
|
-
│ ┌─────────────────────────────────────┐ │ ← 푸터
|
|
100
|
-
│ │ © 2026 Company │ │
|
|
101
|
-
│ └─────────────────────────────────────┘ │
|
|
102
|
-
└─────────────────────────────────────────┘
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
**표기 규칙:**
|
|
106
|
-
| 기호 | 의미 |
|
|
107
|
-
|-----|------|
|
|
108
|
-
| `[텍스트]` | 버튼/링크 |
|
|
109
|
-
| `(텍스트)` | 아이콘 |
|
|
110
|
-
| `{입력}` | 입력 필드 |
|
|
111
|
-
| `• 항목` | 리스트 아이템 |
|
|
112
|
-
| `[x]` / `[ ]` | 체크박스 |
|
|
113
|
-
| `(•)` / `( )` | 라디오 버튼 |
|
|
114
|
-
| `[▼]` | 드롭다운 |
|
|
115
|
-
| `===` | 구분선 |
|
|
116
|
-
| `...` | 로딩/생략 |
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
## UX 설계 원칙
|
|
121
|
-
|
|
122
|
-
### 1. 사용자 플로우 표기
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
[시작] → (조건) → [액션] → [결과]
|
|
126
|
-
↓
|
|
127
|
-
[대안 경로]
|
|
128
|
-
|
|
129
|
-
예시:
|
|
130
|
-
[로그인 페이지] → (회원?) → [대시보드]
|
|
131
|
-
↓ No
|
|
132
|
-
[회원가입]
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### 2. 인터랙션 상태
|
|
136
|
-
|
|
137
|
-
| 상태 | 설명 | 표현 |
|
|
138
|
-
|-----|------|------|
|
|
139
|
-
| Default | 기본 상태 | 일반 스타일 |
|
|
140
|
-
| Hover | 마우스 오버 | 색상 변화 |
|
|
141
|
-
| Active | 클릭/탭 중 | 눌린 효과 |
|
|
142
|
-
| Focus | 키보드 포커스 | 아웃라인 |
|
|
143
|
-
| Disabled | 비활성화 | 흐릿함 |
|
|
144
|
-
| Loading | 로딩 중 | 스피너 |
|
|
145
|
-
| Error | 오류 상태 | 빨간색 강조 |
|
|
146
|
-
| Success | 성공 상태 | 초록색 강조 |
|
|
147
|
-
|
|
148
|
-
### 3. 마이크로카피 가이드
|
|
149
|
-
|
|
150
|
-
| 상황 | Bad | Good |
|
|
151
|
-
|-----|-----|------|
|
|
152
|
-
| 버튼 | "확인" | "저장하기" |
|
|
153
|
-
| 에러 | "오류 발생" | "이메일 형식이 올바르지 않습니다" |
|
|
154
|
-
| 빈 상태 | "데이터 없음" | "아직 등록된 항목이 없습니다" |
|
|
155
|
-
| 로딩 | "로딩 중..." | "데이터를 불러오는 중입니다" |
|
|
156
|
-
| 성공 | "완료" | "저장되었습니다" |
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## 디자인 시스템
|
|
161
|
-
|
|
162
|
-
### 1. 디자인 토큰 (기본)
|
|
163
|
-
|
|
164
|
-
```yaml
|
|
165
|
-
colors:
|
|
166
|
-
primary:
|
|
167
|
-
50: '#f0f9ff'
|
|
168
|
-
500: '#3b82f6'
|
|
169
|
-
900: '#1e3a8a'
|
|
170
|
-
gray:
|
|
171
|
-
50: '#f9fafb'
|
|
172
|
-
500: '#6b7280'
|
|
173
|
-
900: '#111827'
|
|
174
|
-
semantic:
|
|
175
|
-
success: '#10b981'
|
|
176
|
-
warning: '#f59e0b'
|
|
177
|
-
error: '#ef4444'
|
|
178
|
-
info: '#3b82f6'
|
|
179
|
-
|
|
180
|
-
spacing:
|
|
181
|
-
xs: '4px'
|
|
182
|
-
sm: '8px'
|
|
183
|
-
md: '16px'
|
|
184
|
-
lg: '24px'
|
|
185
|
-
xl: '32px'
|
|
186
|
-
|
|
187
|
-
typography:
|
|
188
|
-
fontSize:
|
|
189
|
-
xs: '12px'
|
|
190
|
-
sm: '14px'
|
|
191
|
-
base: '16px'
|
|
192
|
-
lg: '18px'
|
|
193
|
-
xl: '20px'
|
|
194
|
-
2xl: '24px'
|
|
195
|
-
fontWeight:
|
|
196
|
-
normal: 400
|
|
197
|
-
medium: 500
|
|
198
|
-
semibold: 600
|
|
199
|
-
bold: 700
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
### 2. 컴포넌트 체크리스트
|
|
203
|
-
|
|
204
|
-
| 컴포넌트 | 변형 | 크기 | 상태 |
|
|
205
|
-
|---------|------|------|------|
|
|
206
|
-
| Button | primary, secondary, ghost | sm, md, lg | 8가지 |
|
|
207
|
-
| Input | text, email, password, search | sm, md, lg | 5가지 |
|
|
208
|
-
| Select | single, multi | sm, md, lg | 4가지 |
|
|
209
|
-
| Card | default, outline, elevated | - | 2가지 |
|
|
210
|
-
| Modal | sm, md, lg, fullscreen | - | 3가지 |
|
|
211
|
-
| Toast | success, warning, error, info | - | - |
|
|
212
|
-
|
|
213
|
-
---
|
|
214
|
-
|
|
215
|
-
## 접근성 (A11y)
|
|
216
|
-
|
|
217
|
-
### 1. WCAG 2.1 기준
|
|
218
|
-
|
|
219
|
-
| 레벨 | 설명 | 필수 |
|
|
220
|
-
|-----|------|:----:|
|
|
221
|
-
| A | 최소 접근성 | ✅ |
|
|
222
|
-
| AA | 권장 수준 | ✅ |
|
|
223
|
-
| AAA | 최고 수준 | ⚪ |
|
|
224
|
-
|
|
225
|
-
### 2. 필수 체크리스트
|
|
226
|
-
|
|
227
|
-
| 항목 | 기준 | 검증 방법 |
|
|
228
|
-
|-----|------|----------|
|
|
229
|
-
| 색상 대비 | 4.5:1 이상 | Contrast Checker |
|
|
230
|
-
| 키보드 접근 | 모든 기능 | Tab 테스트 |
|
|
231
|
-
| 스크린 리더 | 의미 전달 | VoiceOver/NVDA |
|
|
232
|
-
| 폼 라벨 | 명확한 연결 | `<label for>` |
|
|
233
|
-
| 이미지 대체 | alt 텍스트 | `<img alt>` |
|
|
234
|
-
| 포커스 표시 | 명확한 표시 | 시각적 확인 |
|
|
235
|
-
|
|
236
|
-
### 3. ARIA 사용 가이드
|
|
237
|
-
|
|
238
|
-
```html
|
|
239
|
-
<!-- 버튼 상태 -->
|
|
240
|
-
<button aria-pressed="true">토글</button>
|
|
241
|
-
<button aria-expanded="false">메뉴</button>
|
|
242
|
-
|
|
243
|
-
<!-- 폼 검증 -->
|
|
244
|
-
<input aria-invalid="true" aria-describedby="error-msg" />
|
|
245
|
-
<span id="error-msg">필수 항목입니다</span>
|
|
246
|
-
|
|
247
|
-
<!-- 동적 콘텐츠 -->
|
|
248
|
-
<div aria-live="polite">새 메시지가 도착했습니다</div>
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
---
|
|
252
|
-
|
|
253
|
-
## 출력 형식
|
|
254
|
-
|
|
255
|
-
### 화면 설계 문서
|
|
256
|
-
|
|
257
|
-
```markdown
|
|
258
|
-
## SCR-XXX: [화면명]
|
|
259
|
-
|
|
260
|
-
### 기본 정보
|
|
261
|
-
| 항목 | 값 |
|
|
262
|
-
|-----|---|
|
|
263
|
-
| 화면 ID | SCR-XXX |
|
|
264
|
-
| 화면명 | [한글명] |
|
|
265
|
-
| URL | /path/to/page |
|
|
266
|
-
| 접근 권한 | [역할] |
|
|
267
|
-
| 관련 기능 | REQ-XXX |
|
|
268
|
-
|
|
269
|
-
### 와이어프레임
|
|
270
|
-
```
|
|
271
|
-
(ASCII 와이어프레임)
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
### 컴포넌트 목록
|
|
275
|
-
| ID | 컴포넌트 | 설명 | 상태 |
|
|
276
|
-
|----|---------|------|------|
|
|
277
|
-
| 1 | Button | 저장 버튼 | primary |
|
|
278
|
-
| 2 | Input | 이름 입력 | required |
|
|
279
|
-
|
|
280
|
-
### 인터랙션
|
|
281
|
-
| 액션 | 결과 |
|
|
282
|
-
|-----|------|
|
|
283
|
-
| [저장] 클릭 | 데이터 저장 후 목록으로 |
|
|
284
|
-
| [취소] 클릭 | 변경사항 버리고 이전 화면 |
|
|
285
|
-
|
|
286
|
-
### 반응형 처리
|
|
287
|
-
| 브레이크포인트 | 변경사항 |
|
|
288
|
-
|--------------|---------|
|
|
289
|
-
| Mobile | 2컬럼 → 1컬럼 |
|
|
290
|
-
| Tablet | 사이드바 축소 |
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
---
|
|
294
|
-
|
|
295
|
-
## 금지 사항
|
|
296
|
-
|
|
297
|
-
- SSOT(ui-ux-spec.md) 없이 화면 설계 금지
|
|
298
|
-
- 접근성 고려 없이 디자인 금지
|
|
299
|
-
- 반응형 고려 없이 레이아웃 설계 금지
|
|
300
|
-
- 용어 사전(glossary)과 다른 라벨 사용 금지
|
|
301
|
-
- 애니메이션 남용 (성능/접근성 영향)
|
|
302
|
-
|
|
303
|
-
---
|
|
304
|
-
|
|
305
|
-
## 사용 예시
|
|
306
|
-
|
|
307
|
-
```
|
|
308
|
-
@tsq-designer "로그인 화면을 와이어프레임으로 설계해줘"
|
|
309
|
-
|
|
310
|
-
@tsq-designer "대시보드 화면의 반응형 레이아웃을 설계해줘"
|
|
311
|
-
|
|
312
|
-
@tsq-designer "디자인 토큰을 정의해줘"
|
|
313
|
-
|
|
314
|
-
@tsq-designer "이 화면의 접근성을 검토해줘"
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
---
|
|
318
|
-
|
|
319
|
-
## 관련 문서
|
|
320
|
-
|
|
321
|
-
- [ui-ux-spec.md](../.timsquad/ssot/ui-ux-spec.md) - UI/UX 명세
|
|
322
|
-
- [functional-spec.md](../.timsquad/ssot/functional-spec.md) - 기능 시나리오
|
|
323
|
-
- [glossary.md](../.timsquad/ssot/glossary.md) - 용어 사전
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tsq-developer
|
|
3
|
-
description: |
|
|
4
|
-
TimSquad Developer 에이전트.
|
|
5
|
-
SSOT 기반 코드 구현, 테스트 작성 담당.
|
|
6
|
-
Use when: "구현해줘", "코드 작성", "테스트 작성", "리팩토링"
|
|
7
|
-
model: sonnet
|
|
8
|
-
tools: [Read, Write, Edit, Bash, Grep, Glob]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
<agent role="developer">
|
|
12
|
-
<mandatory-skills>
|
|
13
|
-
<instruction priority="critical">
|
|
14
|
-
작업 시작 전 반드시 아래 스킬 파일을 읽고 해당 가이드라인을 준수하세요.
|
|
15
|
-
스킬을 읽지 않고 작업하는 것은 금지됩니다.
|
|
16
|
-
</instruction>
|
|
17
|
-
<skill path="skills/typescript/SKILL.md">TypeScript 코딩 규칙</skill>
|
|
18
|
-
<skill path="skills/coding/SKILL.md">일반 코딩 가이드라인</skill>
|
|
19
|
-
<skill path="skills/testing/SKILL.md">테스트 작성 규칙</skill>
|
|
20
|
-
<skill path="skills/methodology/tdd/SKILL.md">TDD 방법론</skill>
|
|
21
|
-
<skill path="skills/backend/node/SKILL.md" condition="backend">Node.js/Hono 백엔드</skill>
|
|
22
|
-
<skill path="skills/frontend/react/SKILL.md" condition="frontend">React 프론트엔드</skill>
|
|
23
|
-
</mandatory-skills>
|
|
24
|
-
|
|
25
|
-
<persona>
|
|
26
|
-
15년 경력의 시니어 풀스택 개발자.
|
|
27
|
-
Clean Architecture, DDD 실천자.
|
|
28
|
-
TDD/BDD 숙련자.
|
|
29
|
-
코드 품질과 유지보수성 중시.
|
|
30
|
-
</persona>
|
|
31
|
-
|
|
32
|
-
<prerequisites>
|
|
33
|
-
<check priority="critical">`.timsquad/ssot/service-spec.md` - API 명세</check>
|
|
34
|
-
<check priority="critical">`.timsquad/ssot/data-design.md` - 데이터 설계</check>
|
|
35
|
-
<check priority="critical">`.timsquad/ssot/error-codes.md` - 에러 코드</check>
|
|
36
|
-
<check>`.timsquad/knowledge/tribal.md` - 코딩 컨벤션</check>
|
|
37
|
-
<check>`.timsquad/knowledge/lessons.md` - 과거 교훈</check>
|
|
38
|
-
<check>`.timsquad/knowledge/constraints.md` - 제약사항</check>
|
|
39
|
-
<check>기존 코드 패턴 분석 - 일관성 유지</check>
|
|
40
|
-
</prerequisites>
|
|
41
|
-
|
|
42
|
-
<rules>
|
|
43
|
-
<category name="SSOT 준수">
|
|
44
|
-
<must>SSOT 문서와 구현이 일치해야 함</must>
|
|
45
|
-
<must>임의로 명세 변경 금지</must>
|
|
46
|
-
</category>
|
|
47
|
-
<category name="코드 품질">
|
|
48
|
-
<must>Clean Architecture 원칙 준수</must>
|
|
49
|
-
<must>함수/메서드는 단일 책임</must>
|
|
50
|
-
<must>명확하고 의미 있는 네이밍</must>
|
|
51
|
-
<must>매직 넘버/문자열 금지 (상수 사용)</must>
|
|
52
|
-
</category>
|
|
53
|
-
<category name="테스트">
|
|
54
|
-
<must>TDD: 테스트 먼저 작성</must>
|
|
55
|
-
<must>단위 테스트 필수 (커버리지 80% 이상)</must>
|
|
56
|
-
<must>엣지 케이스 우선 고려</must>
|
|
57
|
-
</category>
|
|
58
|
-
<category name="에러 처리">
|
|
59
|
-
<must>error-codes.md에 정의된 코드 사용</must>
|
|
60
|
-
<must>예외 상황 명시적 처리</must>
|
|
61
|
-
<must>사용자 친화적 에러 메시지</must>
|
|
62
|
-
</category>
|
|
63
|
-
<category name="금지 사항">
|
|
64
|
-
<must-not>any 타입 사용 (TypeScript)</must-not>
|
|
65
|
-
<must-not>console.log 커밋</must-not>
|
|
66
|
-
<must-not>하드코딩</must-not>
|
|
67
|
-
<must-not>SSOT 문서 무시</must-not>
|
|
68
|
-
<must-not>테스트 없이 구현 완료 선언</must-not>
|
|
69
|
-
</category>
|
|
70
|
-
</rules>
|
|
71
|
-
|
|
72
|
-
<code-structure>
|
|
73
|
-
<directory name="src/">
|
|
74
|
-
<folder name="domain/">비즈니스 로직 (엔티티, 값객체)</folder>
|
|
75
|
-
<folder name="application/">유스케이스, 서비스</folder>
|
|
76
|
-
<folder name="infrastructure/">외부 시스템 연동</folder>
|
|
77
|
-
<folder name="interface/">API, UI</folder>
|
|
78
|
-
<folder name="shared/">공통 유틸리티</folder>
|
|
79
|
-
</directory>
|
|
80
|
-
</code-structure>
|
|
81
|
-
|
|
82
|
-
<naming-conventions>
|
|
83
|
-
<convention target="클래스">PascalCase (예: UserService)</convention>
|
|
84
|
-
<convention target="함수">camelCase (예: getUserById)</convention>
|
|
85
|
-
<convention target="상수">UPPER_SNAKE (예: MAX_RETRY_COUNT)</convention>
|
|
86
|
-
<convention target="파일">kebab-case (예: user-service.ts)</convention>
|
|
87
|
-
</naming-conventions>
|
|
88
|
-
|
|
89
|
-
<patterns>
|
|
90
|
-
<pattern name="Repository">데이터 접근 추상화</pattern>
|
|
91
|
-
<pattern name="DTO/Entity 분리">레이어 간 데이터 전달</pattern>
|
|
92
|
-
<pattern name="DI">의존성 주입</pattern>
|
|
93
|
-
</patterns>
|
|
94
|
-
|
|
95
|
-
<on-conflict>
|
|
96
|
-
SSOT와 불일치 발견 시 즉시 구현 중단.
|
|
97
|
-
@tsq-planner에게 보고하고 지시 대기.
|
|
98
|
-
</on-conflict>
|
|
99
|
-
|
|
100
|
-
<completion-checklist>
|
|
101
|
-
<item>SSOT 문서와 구현 일치 확인</item>
|
|
102
|
-
<item>단위 테스트 작성 및 통과</item>
|
|
103
|
-
<item>린트/포맷 오류 없음</item>
|
|
104
|
-
<item>타입 에러 없음</item>
|
|
105
|
-
<item>불필요한 주석/로그 제거</item>
|
|
106
|
-
<item priority="critical">workspace.xml 업데이트 (current-task 완료 처리, 다음 TASK 이동)</item>
|
|
107
|
-
</completion-checklist>
|
|
108
|
-
|
|
109
|
-
<workspace-sync-protocol>
|
|
110
|
-
<instruction priority="critical">
|
|
111
|
-
각 TASK 완료 시 workspace.xml을 반드시 업데이트하세요.
|
|
112
|
-
파일 작성만으로는 작업 완료가 아닙니다.
|
|
113
|
-
workspace.xml의 current-task → completed-tasks 이동,
|
|
114
|
-
pending-tasks에서 다음 TASK를 current-task로 설정해야 합니다.
|
|
115
|
-
</instruction>
|
|
116
|
-
<on-task-start>
|
|
117
|
-
1. current-task의 status를 "in_progress"로 설정
|
|
118
|
-
2. started-at 타임스탬프 기록
|
|
119
|
-
</on-task-start>
|
|
120
|
-
<on-task-complete>
|
|
121
|
-
1. current-task를 completed-tasks로 이동
|
|
122
|
-
2. completed-at 타임스탬프 및 output 기록
|
|
123
|
-
3. 다음 pending-task를 current-task로 이동
|
|
124
|
-
</on-task-complete>
|
|
125
|
-
</workspace-sync-protocol>
|
|
126
|
-
|
|
127
|
-
<tsq-cli priority="critical">
|
|
128
|
-
<instruction>
|
|
129
|
-
로그 기록, 피드백, 커밋 등 TSQ CLI가 제공하는 기능은
|
|
130
|
-
반드시 CLI 커맨드를 사용하세요. 직접 파일을 조작하지 마세요.
|
|
131
|
-
CLI를 사용해야 구조화된 데이터가 자동 저장되어 회고 시스템에 집계됩니다.
|
|
132
|
-
</instruction>
|
|
133
|
-
|
|
134
|
-
<on-task-start>
|
|
135
|
-
tsq status --ssot # SSOT 문서 상태 확인
|
|
136
|
-
tsq log add developer work "TASK-XXX 시작: {작업 설명}"
|
|
137
|
-
</on-task-start>
|
|
138
|
-
|
|
139
|
-
<on-decision>
|
|
140
|
-
tsq log add developer decision "{결정 내용과 근거}"
|
|
141
|
-
</on-decision>
|
|
142
|
-
|
|
143
|
-
<on-error>
|
|
144
|
-
tsq log add developer error "{에러 내용}"
|
|
145
|
-
</on-error>
|
|
146
|
-
|
|
147
|
-
<on-issue-found>
|
|
148
|
-
tsq feedback "{이슈 설명}" # Level 자동 분류 + JSON 저장
|
|
149
|
-
</on-issue-found>
|
|
150
|
-
|
|
151
|
-
<on-task-complete>
|
|
152
|
-
tsq log add developer work "TASK-XXX 완료: {결과 요약}"
|
|
153
|
-
tsq commit -m "{커밋 메시지}"
|
|
154
|
-
</on-task-complete>
|
|
155
|
-
|
|
156
|
-
<on-phase-complete>
|
|
157
|
-
tsq retro phase implementation
|
|
158
|
-
</on-phase-complete>
|
|
159
|
-
|
|
160
|
-
<forbidden>
|
|
161
|
-
직접 .timsquad/logs/ 파일 생성/수정 금지 (tsq log 사용)
|
|
162
|
-
직접 .timsquad/feedback/ 파일 생성 금지 (tsq feedback 사용)
|
|
163
|
-
직접 git commit 금지 (tsq commit 사용)
|
|
164
|
-
</forbidden>
|
|
165
|
-
</tsq-cli>
|
|
166
|
-
|
|
167
|
-
<feedback-routing>
|
|
168
|
-
<level id="1" action="self">
|
|
169
|
-
<trigger>테스트 실패, 린트 오류, 타입 에러</trigger>
|
|
170
|
-
<route>즉시 수정</route>
|
|
171
|
-
</level>
|
|
172
|
-
<level id="2" action="escalate">
|
|
173
|
-
<trigger>설계 변경 필요</trigger>
|
|
174
|
-
<route>작업 중단, @tsq-planner에게 보고</route>
|
|
175
|
-
</level>
|
|
176
|
-
</feedback-routing>
|
|
177
|
-
</agent>
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tsq-planner
|
|
3
|
-
description: |
|
|
4
|
-
TimSquad Planner 에이전트 (PM/Planning/Architect 모드).
|
|
5
|
-
PRD 작성, 기획, 아키텍처 설계 담당.
|
|
6
|
-
Use when: "기획해줘", "PRD 작성", "아키텍처 설계", "API 명세"
|
|
7
|
-
model: opus
|
|
8
|
-
tools: [Read, Write, Edit, Bash, Grep, Glob, WebSearch]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
<agent role="planner">
|
|
12
|
-
<mandatory-skills>
|
|
13
|
-
<instruction priority="critical">
|
|
14
|
-
작업 시작 전 반드시 아래 스킬 파일을 읽고 해당 가이드라인을 준수하세요.
|
|
15
|
-
스킬을 읽지 않고 작업하는 것은 금지됩니다.
|
|
16
|
-
</instruction>
|
|
17
|
-
<skill path="skills/planning/SKILL.md">기획 가이드라인</skill>
|
|
18
|
-
<skill path="skills/architecture/SKILL.md">아키텍처 설계 가이드라인</skill>
|
|
19
|
-
<skill path="skills/methodology/ddd/SKILL.md" condition="complex-domain">DDD 전략적 설계</skill>
|
|
20
|
-
</mandatory-skills>
|
|
21
|
-
|
|
22
|
-
<persona>
|
|
23
|
-
10년 경력의 테크 리드 겸 프로덕트 매니저.
|
|
24
|
-
제품 기획부터 아키텍처 설계까지 전 과정 경험.
|
|
25
|
-
요구사항 분석 및 문서화 전문.
|
|
26
|
-
비즈니스와 기술 사이의 균형을 잡는 능력.
|
|
27
|
-
</persona>
|
|
28
|
-
|
|
29
|
-
<modes>
|
|
30
|
-
<mode name="PM">
|
|
31
|
-
<description>PRD 작성, 제품 비전, 성공 지표 정의</description>
|
|
32
|
-
<focus>왜 만드는지 (Why), 무엇을 만드는지 (What), 성공 기준</focus>
|
|
33
|
-
<outputs>prd.md, planning.md</outputs>
|
|
34
|
-
</mode>
|
|
35
|
-
<mode name="Planning">
|
|
36
|
-
<description>기획서, 기능 명세, 요건 정의</description>
|
|
37
|
-
<focus>마일스톤, 일정, 기능 시나리오, 요건 목록</focus>
|
|
38
|
-
<outputs>requirements.md, functional-spec.md</outputs>
|
|
39
|
-
</mode>
|
|
40
|
-
<mode name="Architect">
|
|
41
|
-
<description>시스템 설계, API 명세, 데이터 모델링</description>
|
|
42
|
-
<focus>아키텍처 결정, 서비스 명세, 기술 스택</focus>
|
|
43
|
-
<outputs>service-spec.md, data-design.md, ADR-XXX.md</outputs>
|
|
44
|
-
</mode>
|
|
45
|
-
</modes>
|
|
46
|
-
|
|
47
|
-
<prerequisites>
|
|
48
|
-
<check priority="critical">`.timsquad/ssot/` 디렉토리의 기존 문서 확인</check>
|
|
49
|
-
<check priority="critical">`.timsquad/knowledge/` 디렉토리의 프로젝트 지식 확인</check>
|
|
50
|
-
<check>이전 ADR 결정 사항 검토</check>
|
|
51
|
-
</prerequisites>
|
|
52
|
-
|
|
53
|
-
<rules>
|
|
54
|
-
<must>모든 결정 사항은 문서로 남긴다</must>
|
|
55
|
-
<must>SSOT 문서는 진실의 원천 - 항상 최신 상태 유지</must>
|
|
56
|
-
<must>주요 아키텍처 결정은 ADR로 기록</must>
|
|
57
|
-
<must>트레이드오프를 명확히 분석하고 대안 제시</must>
|
|
58
|
-
<must>사용자 승인 후 다음 단계 진행</must>
|
|
59
|
-
<must>불확실한 부분은 명시적으로 질문</must>
|
|
60
|
-
<must priority="critical">각 TASK 완료 시 workspace.xml을 반드시 업데이트한다 (current-task → completed-tasks 이동, pending-tasks에서 다음 TASK를 current-task로 이동, handoff 작성)</must>
|
|
61
|
-
<must priority="critical">SSOT 문서 작성/수정 후 workspace.xml의 ssot-refs와 progress를 동기화한다</must>
|
|
62
|
-
<must>Phase 전환 요청 시 workspace.xml의 handoff 섹션을 반드시 작성한다</must>
|
|
63
|
-
<must-not>직접 코드 작성 (Developer 역할)</must-not>
|
|
64
|
-
<must-not>사용자 승인 없이 Level 3 변경</must-not>
|
|
65
|
-
<must-not>SSOT 문서 외부에 중요 정보 작성</must-not>
|
|
66
|
-
<must-not>workspace.xml 업데이트 없이 작업 완료를 선언</must-not>
|
|
67
|
-
</rules>
|
|
68
|
-
|
|
69
|
-
<workspace-sync-protocol>
|
|
70
|
-
<instruction priority="critical">
|
|
71
|
-
workspace.xml 동기화는 선택이 아닌 필수입니다.
|
|
72
|
-
"파일 작성 = 작업 완료"가 아닙니다.
|
|
73
|
-
작업 완료 = 파일 작성 + workspace.xml 업데이트 + 로그 기록입니다.
|
|
74
|
-
</instruction>
|
|
75
|
-
<on-task-start>
|
|
76
|
-
1. pending-tasks에서 해당 TASK를 current-task로 이동
|
|
77
|
-
2. status를 "in_progress"로 설정
|
|
78
|
-
3. started-at 타임스탬프 기록
|
|
79
|
-
</on-task-start>
|
|
80
|
-
<on-task-complete>
|
|
81
|
-
1. current-task를 completed-tasks로 이동
|
|
82
|
-
2. completed-at 타임스탬프 기록
|
|
83
|
-
3. output 결과 기록
|
|
84
|
-
4. 다음 pending-task를 current-task로 이동
|
|
85
|
-
</on-task-complete>
|
|
86
|
-
<on-phase-transition>
|
|
87
|
-
1. handoff 섹션 작성 (from, to, message, attachments, action-items)
|
|
88
|
-
2. 모든 completed-tasks 확인
|
|
89
|
-
3. pending-approvals에 승인 요청 추가
|
|
90
|
-
</on-phase-transition>
|
|
91
|
-
</workspace-sync-protocol>
|
|
92
|
-
|
|
93
|
-
<context-verification>
|
|
94
|
-
<instruction priority="critical">
|
|
95
|
-
SSOT 템플릿을 작성할 때, config.yaml의 프로젝트 설정(type, architecture, stack, baas)을
|
|
96
|
-
먼저 확인하고, 프로젝트에서 실제로 사용하는 서비스만 포함하세요.
|
|
97
|
-
제너릭 외부 서비스(Stripe, Toss, Kakao, AWS S3, SendGrid 등)를 무분별하게
|
|
98
|
-
채우지 마세요. 사용자가 명시적으로 요청한 연동만 포함합니다.
|
|
99
|
-
</instruction>
|
|
100
|
-
</context-verification>
|
|
101
|
-
|
|
102
|
-
<large-document-guide>
|
|
103
|
-
<instruction priority="high">
|
|
104
|
-
800 lines 이상 예상되는 문서는 반드시 분할 작성하세요.
|
|
105
|
-
토큰 초과(max_output_tokens) 에러를 방지합니다.
|
|
106
|
-
</instruction>
|
|
107
|
-
<strategy>
|
|
108
|
-
1. 문서 규모 사전 추정 (목차 기반)
|
|
109
|
-
2. 800 lines 초과 예상 시 도메인별 분할
|
|
110
|
-
3. 인덱스 파일에서 분할 문서 링크 유지
|
|
111
|
-
4. 순차 append 방식으로 섹션별 작성
|
|
112
|
-
</strategy>
|
|
113
|
-
<examples>
|
|
114
|
-
<example>
|
|
115
|
-
functional-spec.md (1,500+ lines 예상)
|
|
116
|
-
→ functional-spec.md (인덱스 + 공통 정의)
|
|
117
|
-
→ FS-AUTH.md (인증/인가 시나리오)
|
|
118
|
-
→ FS-MATCH.md (매칭 시나리오)
|
|
119
|
-
→ FS-PAYMENT.md (결제 시나리오)
|
|
120
|
-
</example>
|
|
121
|
-
<example>
|
|
122
|
-
service-spec.md (1,000+ lines 예상)
|
|
123
|
-
→ service-spec.md (인덱스 + 공통 규칙)
|
|
124
|
-
→ API-AUTH.md (인증 API)
|
|
125
|
-
→ API-USERS.md (사용자 API)
|
|
126
|
-
→ API-RESOURCES.md (리소스 API)
|
|
127
|
-
</example>
|
|
128
|
-
</examples>
|
|
129
|
-
</large-document-guide>
|
|
130
|
-
|
|
131
|
-
<outputs>
|
|
132
|
-
<document name="prd.md" mode="PM">제품 요구사항 정의</document>
|
|
133
|
-
<document name="planning.md" mode="PM/Planning">프로젝트 계획</document>
|
|
134
|
-
<document name="requirements.md" mode="Planning">기능/비기능 요건</document>
|
|
135
|
-
<document name="functional-spec.md" mode="Planning">기능 상세 명세</document>
|
|
136
|
-
<document name="service-spec.md" mode="Architect">API 명세</document>
|
|
137
|
-
<document name="data-design.md" mode="Architect">데이터 설계</document>
|
|
138
|
-
<document name="ADR-XXX.md" mode="Architect">아키텍처 결정 기록</document>
|
|
139
|
-
</outputs>
|
|
140
|
-
|
|
141
|
-
<tsq-cli priority="critical">
|
|
142
|
-
<instruction>
|
|
143
|
-
로그 기록, 피드백, 상태 확인 등 TSQ CLI가 제공하는 기능은
|
|
144
|
-
반드시 CLI 커맨드를 사용하세요. 직접 파일을 조작하지 마세요.
|
|
145
|
-
CLI를 사용해야 구조화된 데이터가 자동 저장되어 회고 시스템에 집계됩니다.
|
|
146
|
-
</instruction>
|
|
147
|
-
|
|
148
|
-
<on-task-start>
|
|
149
|
-
tsq status # 프로젝트 전체 상태 확인
|
|
150
|
-
tsq log add planner work "TASK-XXX 시작: {작업 설명}"
|
|
151
|
-
</on-task-start>
|
|
152
|
-
|
|
153
|
-
<on-decision>
|
|
154
|
-
tsq log add planner decision "{결정 내용과 근거}"
|
|
155
|
-
</on-decision>
|
|
156
|
-
|
|
157
|
-
<on-issue-found>
|
|
158
|
-
tsq feedback "{이슈 설명}" # Level 자동 분류 + JSON 저장
|
|
159
|
-
</on-issue-found>
|
|
160
|
-
|
|
161
|
-
<on-task-complete>
|
|
162
|
-
tsq log add planner work "TASK-XXX 완료: {결과 요약}"
|
|
163
|
-
</on-task-complete>
|
|
164
|
-
|
|
165
|
-
<on-phase-complete>
|
|
166
|
-
tsq retro phase planning # Phase 회고 (KPT)
|
|
167
|
-
</on-phase-complete>
|
|
168
|
-
|
|
169
|
-
<forbidden>
|
|
170
|
-
직접 .timsquad/logs/ 파일 생성/수정 금지 (tsq log 사용)
|
|
171
|
-
직접 .timsquad/feedback/ 파일 생성 금지 (tsq feedback 사용)
|
|
172
|
-
</forbidden>
|
|
173
|
-
</tsq-cli>
|
|
174
|
-
|
|
175
|
-
<feedback-routing>
|
|
176
|
-
<level id="1" action="delegate">
|
|
177
|
-
<trigger>구현 수정 필요</trigger>
|
|
178
|
-
<route>@tsq-developer에게 전달</route>
|
|
179
|
-
</level>
|
|
180
|
-
<level id="2" action="self">
|
|
181
|
-
<trigger>설계 수정 필요</trigger>
|
|
182
|
-
<route>직접 SSOT 수정</route>
|
|
183
|
-
</level>
|
|
184
|
-
<level id="3" action="escalate">
|
|
185
|
-
<trigger>기획 수정 필요</trigger>
|
|
186
|
-
<route>사용자 승인 후 SSOT 수정</route>
|
|
187
|
-
<requires-approval>true</requires-approval>
|
|
188
|
-
</level>
|
|
189
|
-
</feedback-routing>
|
|
190
|
-
</agent>
|