timsquad 3.3.0 → 3.5.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 +158 -151
- 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.map +1 -1
- package/dist/commands/daemon.js +95 -5
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/full.js +1 -0
- package/dist/commands/full.js.map +1 -1
- package/dist/commands/git/pr.js +6 -5
- package/dist/commands/git/pr.js.map +1 -1
- package/dist/commands/git/release.js +2 -7
- package/dist/commands/git/release.js.map +1 -1
- package/dist/commands/improve.js +2 -2
- package/dist/commands/improve.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +12 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/log.d.ts.map +1 -1
- package/dist/commands/log.js +2 -2
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/metrics.d.ts.map +1 -1
- package/dist/commands/metrics.js +6 -2
- package/dist/commands/metrics.js.map +1 -1
- package/dist/commands/retro.js +8 -8
- package/dist/commands/retro.js.map +1 -1
- package/dist/commands/session.js +3 -3
- package/dist/commands/session.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 +228 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/status.js +1 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +23 -1
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/daemon/entry.js +3 -3
- package/dist/daemon/entry.js.map +1 -1
- package/dist/daemon/event-queue.d.ts.map +1 -1
- package/dist/daemon/event-queue.js +2 -2
- package/dist/daemon/event-queue.js.map +1 -1
- package/dist/daemon/index.d.ts +4 -2
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +214 -52
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/jsonl-watcher.d.ts +1 -0
- package/dist/daemon/jsonl-watcher.d.ts.map +1 -1
- package/dist/daemon/jsonl-watcher.js.map +1 -1
- package/dist/daemon/meta-cache.d.ts +1 -0
- package/dist/daemon/meta-cache.d.ts.map +1 -1
- package/dist/daemon/meta-cache.js +9 -0
- package/dist/daemon/meta-cache.js.map +1 -1
- package/dist/daemon/session-notes.d.ts +33 -0
- package/dist/daemon/session-notes.d.ts.map +1 -0
- package/dist/daemon/session-notes.js +74 -0
- package/dist/daemon/session-notes.js.map +1 -0
- package/dist/daemon/session-state.d.ts +27 -0
- package/dist/daemon/session-state.d.ts.map +1 -0
- package/dist/daemon/session-state.js +165 -0
- package/dist/daemon/session-state.js.map +1 -0
- package/dist/daemon/shutdown.d.ts.map +1 -1
- package/dist/daemon/shutdown.js +9 -1
- package/dist/daemon/shutdown.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-generator.d.ts +4 -0
- package/dist/lib/agent-generator.d.ts.map +1 -1
- package/dist/lib/agent-generator.js +52 -3
- package/dist/lib/agent-generator.js.map +1 -1
- 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 +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +8 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/project.d.ts.map +1 -1
- package/dist/lib/project.js +8 -3
- package/dist/lib/project.js.map +1 -1
- package/dist/lib/skill-generator.d.ts.map +1 -1
- package/dist/lib/skill-generator.js +22 -1
- package/dist/lib/skill-generator.js.map +1 -1
- package/dist/lib/template.d.ts.map +1 -1
- package/dist/lib/template.js +6 -0
- package/dist/lib/template.js.map +1 -1
- package/dist/types/config.d.ts +1 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +12 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/project.d.ts +1 -1
- package/dist/types/project.d.ts.map +1 -1
- package/dist/types/project.js +2 -0
- package/dist/types/project.js.map +1 -1
- package/package.json +4 -4
- package/templates/base/agents/base/tsq-architect.md +2 -2
- package/templates/base/agents/overlays/domain/mobile/_common.md +13 -0
- package/templates/base/knowledge/checklists/plan-quality.md +31 -0
- package/templates/base/knowledge/checklists/stability-verification.md +14 -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/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/stability-verification/SKILL.md +64 -0
- package/templates/base/skills/stability-verification/references/release-checklist.md +34 -0
- package/templates/base/skills/stability-verification/references/security-fix-patterns.md +112 -0
- package/templates/base/skills/stability-verification/rules/verification-layers.md +67 -0
- package/templates/base/skills/stability-verification/rules/verification-workflow.md +69 -0
- package/templates/base/skills/stability-verification/scripts/verify.sh +294 -0
- package/templates/platforms/claude-code/CLAUDE.md.template +25 -0
- package/templates/platforms/claude-code/rules/build-gate.md +28 -0
- package/templates/platforms/claude-code/rules/completion-verification.md +30 -0
- package/templates/platforms/claude-code/rules/context-monitor.md +23 -0
- package/templates/platforms/claude-code/rules/plan-review.md +45 -0
- package/templates/platforms/claude-code/rules/quality-guards.md +43 -0
- package/templates/platforms/claude-code/rules/session-notes.md +18 -0
- package/templates/platforms/claude-code/rules/skill-suggest.md +27 -0
- package/templates/platforms/claude-code/scripts/build-gate.sh +73 -0
- package/templates/platforms/claude-code/scripts/completion-guard.sh +93 -0
- package/templates/platforms/claude-code/scripts/phase-guard.sh +79 -0
- package/templates/platforms/claude-code/scripts/safe-guard.sh +83 -0
- package/templates/platforms/claude-code/scripts/skill-rules.json +85 -0
- package/templates/platforms/claude-code/scripts/skill-suggest.sh +105 -0
- package/templates/platforms/claude-code/settings.json +111 -3
- package/templates/project-types/mobile-app/config.yaml +123 -0
- package/templates/project-types/mobile-app/process/workflow.xml +191 -0
package/README.md
CHANGED
|
@@ -4,262 +4,269 @@
|
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
6
|
<strong>Vibe Development Framework</strong><br>
|
|
7
|
-
|
|
7
|
+
A high-quality software development framework powered by SSOT-based documentation, optimized agent roles, and retrospective learning — continuously improving within Claude Code.
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
<p align="center">
|
|
11
|
+
<strong>English</strong> | <a href="README.ko.md">한국어</a>
|
|
8
12
|
</p>
|
|
9
13
|
|
|
10
14
|
```
|
|
11
|
-
|
|
15
|
+
Optimized Role Definitions + Advanced Skills + Retrospective Learning = Continuously Improving High-Quality Output
|
|
12
16
|
```
|
|
13
17
|
|
|
14
18
|
---
|
|
15
19
|
|
|
16
20
|
## Why TimSquad?
|
|
17
21
|
|
|
18
|
-
| |
|
|
22
|
+
| | Typical Approach | **TimSquad** |
|
|
19
23
|
|---|---------|------------|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
24
|
+
| Philosophy | "Zero learning curve" | **"Structure leads to better results"** |
|
|
25
|
+
| Decision Making | LLM decides everything | **Developer stays in control** |
|
|
26
|
+
| Priority | Speed | **Quality + Consistency** |
|
|
27
|
+
| Repetitive Tasks | LLM handles (token cost) | **Program handles (zero tokens)** |
|
|
28
|
+
| Learning | None | **Retrospective learning for continuous improvement** |
|
|
25
29
|
|
|
26
30
|
**For developers who want structure, not magic.**
|
|
27
31
|
|
|
28
|
-
###
|
|
32
|
+
### Target Users
|
|
29
33
|
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
34
|
+
- Senior developers who value structured processes
|
|
35
|
+
- Solo CTOs / Tech Leads (need team-level quality working alone)
|
|
36
|
+
- Developers who prioritize documentation and consistency
|
|
33
37
|
|
|
34
38
|
---
|
|
35
39
|
|
|
36
|
-
##
|
|
40
|
+
## Installation
|
|
37
41
|
|
|
38
42
|
```bash
|
|
39
|
-
#
|
|
43
|
+
# Global install
|
|
40
44
|
npm install -g timsquad
|
|
41
45
|
|
|
42
|
-
#
|
|
46
|
+
# Or run directly with npx
|
|
43
47
|
npx timsquad init
|
|
44
48
|
```
|
|
45
49
|
|
|
46
|
-
|
|
50
|
+
**Requirements:**
|
|
47
51
|
- Node.js >= 18.0.0
|
|
48
|
-
- [Claude Code](https://claude.ai/claude-code) (
|
|
52
|
+
- [Claude Code](https://claude.ai/claude-code) (agent execution environment)
|
|
49
53
|
|
|
50
54
|
---
|
|
51
55
|
|
|
52
|
-
##
|
|
56
|
+
## Quick Start
|
|
53
57
|
|
|
54
|
-
### 1.
|
|
58
|
+
### 1. Initialize a Project
|
|
55
59
|
|
|
56
60
|
```bash
|
|
57
|
-
tsq init #
|
|
58
|
-
tsq init -n my-app -t web-service -l 2 -y #
|
|
61
|
+
tsq init # Interactive setup
|
|
62
|
+
tsq init -n my-app -t web-service -l 2 -y # Non-interactive
|
|
59
63
|
```
|
|
60
64
|
|
|
61
|
-
### 2.
|
|
65
|
+
### 2. Generated Structure
|
|
62
66
|
|
|
63
67
|
```
|
|
64
68
|
my-app/
|
|
65
|
-
├── CLAUDE.md # PM
|
|
69
|
+
├── CLAUDE.md # PM role definition (agent instructions)
|
|
66
70
|
├── .claude/
|
|
67
|
-
│ ├── settings.json # Claude Code
|
|
68
|
-
│ ├── rules/ #
|
|
69
|
-
│ ├── agents/ # 6
|
|
70
|
-
│ │ ├── tsq-architect.md #
|
|
71
|
-
│ │ ├── tsq-developer.md #
|
|
72
|
-
│ │ ├── tsq-qa.md #
|
|
73
|
-
│ │ ├── tsq-security.md #
|
|
74
|
-
│ │ ├── tsq-dba.md # DB
|
|
75
|
-
│ │ └── tsq-designer.md # UI/UX
|
|
76
|
-
│ ├── skills/ #
|
|
77
|
-
│ │ ├── tsq-protocol/ #
|
|
78
|
-
│ │ ├── coding/ #
|
|
79
|
-
│ │ ├── testing/ #
|
|
80
|
-
│ │ ├── typescript/ # TypeScript
|
|
81
|
-
│ │ ├── frontend/(react|nextjs)/ #
|
|
82
|
-
│ │ ├── backend/node/ # Node.js
|
|
71
|
+
│ ├── settings.json # Claude Code settings
|
|
72
|
+
│ ├── rules/ # Main session rules
|
|
73
|
+
│ ├── agents/ # 6 specialized agents
|
|
74
|
+
│ │ ├── tsq-architect.md # Architecture design (Sonnet)
|
|
75
|
+
│ │ ├── tsq-developer.md # Code implementation (Sonnet)
|
|
76
|
+
│ │ ├── tsq-qa.md # Verification/review (Sonnet)
|
|
77
|
+
│ │ ├── tsq-security.md # Security audit (Sonnet)
|
|
78
|
+
│ │ ├── tsq-dba.md # DB design (Sonnet)
|
|
79
|
+
│ │ └── tsq-designer.md # UI/UX design (Sonnet)
|
|
80
|
+
│ ├── skills/ # Domain-specific skillsets
|
|
81
|
+
│ │ ├── tsq-protocol/ # Shared agent protocol
|
|
82
|
+
│ │ ├── coding/ # Coding rules + rules/
|
|
83
|
+
│ │ ├── testing/ # Test strategies + references/
|
|
84
|
+
│ │ ├── typescript/ # TypeScript patterns + rules/
|
|
85
|
+
│ │ ├── frontend/(react|nextjs)/ # Frontend + 22 Vercel rules
|
|
86
|
+
│ │ ├── backend/node/ # Node.js backend + rules/
|
|
83
87
|
│ │ ├── database/prisma/ # Prisma ORM + rules/
|
|
88
|
+
│ │ ├── mobile/dart/ # Dart language + rules/
|
|
89
|
+
│ │ ├── mobile/flutter/ # Flutter dev + rules/ + refs/
|
|
90
|
+
│ │ │ └── push-notifications/ # FCM + local + background
|
|
84
91
|
│ │ ├── methodology/(tdd|bdd|ddd|debugging)/
|
|
85
92
|
│ │ └── ...
|
|
86
|
-
│ └── knowledge/ #
|
|
87
|
-
│ ├── checklists/ #
|
|
88
|
-
│ └── templates/ #
|
|
93
|
+
│ └── knowledge/ # Agent reference knowledge
|
|
94
|
+
│ ├── checklists/ # Security, accessibility, SSOT validation
|
|
95
|
+
│ └── templates/ # Output formats (task-result, etc.)
|
|
89
96
|
└── .timsquad/
|
|
90
|
-
├── config.yaml #
|
|
91
|
-
├── ssot/ # SSOT
|
|
92
|
-
├── process/ #
|
|
93
|
-
├── state/ #
|
|
94
|
-
├── feedback/ #
|
|
95
|
-
├── logs/ # 3
|
|
96
|
-
└── retrospective/ #
|
|
97
|
+
├── config.yaml # Project configuration
|
|
98
|
+
├── ssot/ # SSOT documents (5–14 per level)
|
|
99
|
+
├── process/ # Workflow definitions
|
|
100
|
+
├── state/ # State management + Meta Index
|
|
101
|
+
├── feedback/ # Feedback store
|
|
102
|
+
├── logs/ # 3-tier logs (L1→L2→L3)
|
|
103
|
+
└── retrospective/ # Retrospective data
|
|
97
104
|
```
|
|
98
105
|
|
|
99
|
-
### 3. Claude Code
|
|
106
|
+
### 3. Work in Claude Code
|
|
100
107
|
|
|
101
108
|
```bash
|
|
102
|
-
claude # Claude Code
|
|
109
|
+
claude # Launch Claude Code
|
|
103
110
|
|
|
104
|
-
# PM(CLAUDE.md)
|
|
105
|
-
@tsq-architect "
|
|
106
|
-
@tsq-developer "
|
|
107
|
-
@tsq-qa "
|
|
111
|
+
# PM (CLAUDE.md) automatically classifies tasks and delegates to agents
|
|
112
|
+
@tsq-architect "Design the system architecture"
|
|
113
|
+
@tsq-developer "Implement the login API"
|
|
114
|
+
@tsq-qa "Review the code"
|
|
108
115
|
```
|
|
109
116
|
|
|
110
|
-
### 4.
|
|
117
|
+
### 4. Manage Tasks via CLI
|
|
111
118
|
|
|
112
119
|
```bash
|
|
113
|
-
tsq status #
|
|
114
|
-
tsq q "
|
|
115
|
-
tsq f "
|
|
116
|
-
tsq retro auto #
|
|
120
|
+
tsq status # Check current status
|
|
121
|
+
tsq q "change button color" # Quick mode (simple tasks)
|
|
122
|
+
tsq f "add payment feature" # Full mode (SSOT validation)
|
|
123
|
+
tsq retro auto # Run retrospective automatically
|
|
117
124
|
```
|
|
118
125
|
|
|
119
126
|
---
|
|
120
127
|
|
|
121
|
-
##
|
|
128
|
+
## Key Features
|
|
122
129
|
|
|
123
|
-
### SSOT
|
|
130
|
+
### SSOT Document System
|
|
124
131
|
|
|
125
|
-
|
|
132
|
+
Required documents are automatically determined by project level:
|
|
126
133
|
|
|
127
|
-
|
|
|
128
|
-
|
|
129
|
-
| **Level 1** (MVP) | PRD, Planning, Requirements, Service Spec, Data Design (5
|
|
130
|
-
| **Level 2** (Standard) | Level 1 + 6
|
|
131
|
-
| **Level 3** (Enterprise) | Level 2 + 3
|
|
134
|
+
| Level | Required Documents | Target |
|
|
135
|
+
|-------|-------------------|--------|
|
|
136
|
+
| **Level 1** (MVP) | PRD, Planning, Requirements, Service Spec, Data Design (5) | Side projects, PoC |
|
|
137
|
+
| **Level 2** (Standard) | Level 1 + 6 more (11) | General projects, Startups |
|
|
138
|
+
| **Level 3** (Enterprise) | Level 2 + 3 more (14) | Enterprise, Fintech |
|
|
132
139
|
|
|
133
|
-
###
|
|
140
|
+
### Agent System
|
|
134
141
|
|
|
135
|
-
PM(CLAUDE.md)
|
|
142
|
+
The PM (CLAUDE.md) orchestrates and delegates to 6 specialized agents. Each agent features XML-structured prompts, mandatory skill injection, and 3-tier feedback routing.
|
|
136
143
|
|
|
137
|
-
|
|
|
138
|
-
|
|
139
|
-
| `@tsq-architect` |
|
|
140
|
-
| `@tsq-developer` | SSOT
|
|
141
|
-
| `@tsq-qa` |
|
|
142
|
-
| `@tsq-security` |
|
|
143
|
-
| `@tsq-dba` | DB
|
|
144
|
-
| `@tsq-designer` | UI/UX
|
|
144
|
+
| Agent | Role |
|
|
145
|
+
|-------|------|
|
|
146
|
+
| `@tsq-architect` | Architecture design, ADR, code structure review |
|
|
147
|
+
| `@tsq-developer` | SSOT-driven code implementation, TDD |
|
|
148
|
+
| `@tsq-qa` | Code review, test verification, SSOT compliance |
|
|
149
|
+
| `@tsq-security` | Security audit, OWASP, vulnerability analysis |
|
|
150
|
+
| `@tsq-dba` | DB design, query optimization, migrations |
|
|
151
|
+
| `@tsq-designer` | UI/UX design, accessibility, design tokens |
|
|
145
152
|
|
|
146
|
-
###
|
|
153
|
+
### Feedback Routing (L1/L2/L3)
|
|
147
154
|
|
|
148
|
-
|
|
155
|
+
Feedback is automatically classified into 3 tiers with appropriate actions:
|
|
149
156
|
|
|
150
157
|
```
|
|
151
|
-
L1 (
|
|
152
|
-
L2 (
|
|
153
|
-
L3 (
|
|
158
|
+
L1 (Implementation fix) → Developer auto-handles → No approval needed
|
|
159
|
+
L2 (Design change) → Transitions to in_review → Phase Gate blocks
|
|
160
|
+
L3 (Planning change) → Awaits user approval → approve/reject required
|
|
154
161
|
```
|
|
155
162
|
|
|
156
|
-
|
|
163
|
+
> Details: [docs/feedback-and-retrospective.en.md](docs/feedback-and-retrospective.en.md)
|
|
157
164
|
|
|
158
|
-
###
|
|
165
|
+
### Retrospective Learning
|
|
159
166
|
|
|
160
|
-
|
|
167
|
+
Task logs → Pattern analysis → Improvement suggestions → Prompt/template updates. Instead of LLM fine-tuning, we improve through prompt/template refinement.
|
|
161
168
|
|
|
162
169
|
```bash
|
|
163
|
-
tsq retro auto #
|
|
164
|
-
tsq improve analyze #
|
|
170
|
+
tsq retro auto # Collect → Analyze → Report → Apply (one-click)
|
|
171
|
+
tsq improve analyze # Pattern analysis + improvement suggestions
|
|
165
172
|
```
|
|
166
173
|
|
|
167
|
-
|
|
174
|
+
> Details: [docs/feedback-and-retrospective.en.md](docs/feedback-and-retrospective.en.md)
|
|
168
175
|
|
|
169
|
-
###
|
|
176
|
+
### Daemon-Based Automation Pipeline
|
|
170
177
|
|
|
171
|
-
|
|
178
|
+
**All orchestration at zero token cost** — the program decides:
|
|
172
179
|
|
|
173
180
|
```
|
|
174
|
-
Claude Code
|
|
175
|
-
→ L1
|
|
176
|
-
→ L2
|
|
177
|
-
→ L3
|
|
178
|
-
→ Phase Gate
|
|
179
|
-
→
|
|
180
|
-
→ Meta Index
|
|
181
|
+
Claude Code session → Daemon watches JSONL in real-time
|
|
182
|
+
→ L1 task logs recorded automatically
|
|
183
|
+
→ L2 sequence logs aggregated automatically
|
|
184
|
+
→ L3 phase logs generated automatically
|
|
185
|
+
→ Phase Gate checked automatically
|
|
186
|
+
→ Metrics accumulated in-memory → flushed at session end
|
|
187
|
+
→ Meta Index updated automatically
|
|
181
188
|
```
|
|
182
189
|
|
|
183
|
-
|
|
190
|
+
> Details: [docs/token-efficiency.en.md](docs/token-efficiency.en.md)
|
|
184
191
|
|
|
185
|
-
### Meta Index (
|
|
192
|
+
### Meta Index (Code Structure Index)
|
|
186
193
|
|
|
187
|
-
AST
|
|
194
|
+
AST-based code/UI structure auto-indexing + agent semantic data merging:
|
|
188
195
|
|
|
189
196
|
```bash
|
|
190
|
-
tsq mi rebuild #
|
|
197
|
+
tsq mi rebuild # Build full code+UI index
|
|
191
198
|
tsq mi stats # Health Score + UI Health
|
|
192
199
|
```
|
|
193
200
|
|
|
194
|
-
|
|
201
|
+
> Details: [docs/meta-index-architecture.en.md](docs/meta-index-architecture.en.md)
|
|
195
202
|
|
|
196
203
|
---
|
|
197
204
|
|
|
198
|
-
## CLI
|
|
199
|
-
|
|
200
|
-
|
|
|
201
|
-
|
|
202
|
-
| `tsq init` |
|
|
203
|
-
| `tsq status` |
|
|
204
|
-
| `tsq q "
|
|
205
|
-
| `tsq f "
|
|
206
|
-
| `tsq log` | 3
|
|
207
|
-
| `tsq feedback` |
|
|
208
|
-
| `tsq retro` |
|
|
209
|
-
| `tsq metrics` |
|
|
210
|
-
| `tsq mi` | Meta Index
|
|
211
|
-
| `tsq knowledge` | Knowledge
|
|
212
|
-
| `tsq wf` |
|
|
213
|
-
| `tsq daemon` |
|
|
214
|
-
|
|
215
|
-
|
|
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)
|
|
216
223
|
|
|
217
224
|
---
|
|
218
225
|
|
|
219
|
-
##
|
|
226
|
+
## Project Types
|
|
220
227
|
|
|
221
|
-
|
|
|
222
|
-
|
|
223
|
-
| `web-service` | SaaS,
|
|
224
|
-
| `web-app` | BaaS
|
|
225
|
-
| `api-backend` | API
|
|
226
|
-
| `platform` |
|
|
227
|
-
| `fintech` |
|
|
228
|
-
| `infra` | DevOps,
|
|
228
|
+
| Type | Description |
|
|
229
|
+
|------|-------------|
|
|
230
|
+
| `web-service` | SaaS, full-stack web services |
|
|
231
|
+
| `web-app` | BaaS-based (Supabase/Firebase) |
|
|
232
|
+
| `api-backend` | API servers, microservices |
|
|
233
|
+
| `platform` | Frameworks, SDKs |
|
|
234
|
+
| `fintech` | Exchanges, payments (Level 3 enforced) |
|
|
235
|
+
| `infra` | DevOps, automation |
|
|
229
236
|
|
|
230
237
|
---
|
|
231
238
|
|
|
232
|
-
##
|
|
233
|
-
|
|
234
|
-
|
|
|
235
|
-
|
|
236
|
-
| [PRD](docs/PRD.md) |
|
|
237
|
-
| [Core Concepts](docs/core-concepts.md) |
|
|
238
|
-
| [CLI Reference](docs/cli.md) |
|
|
239
|
-
| [Authoring Guide](docs/authoring-guide.md) |
|
|
240
|
-
| [Log Architecture](docs/log-architecture.md) | 3
|
|
241
|
-
| [Feedback & Retrospective](docs/feedback-and-retrospective.md) |
|
|
242
|
-
| [Token Efficiency](docs/token-efficiency.md) |
|
|
243
|
-
| [Knowledge Architecture](docs/knowledge-architecture.md) | Knowledge
|
|
244
|
-
| [Meta Index Architecture](docs/meta-index-architecture.md) |
|
|
245
|
-
| [File Structure](docs/file-structure.md) |
|
|
239
|
+
## Documentation
|
|
240
|
+
|
|
241
|
+
| Document | Description |
|
|
242
|
+
|----------|-------------|
|
|
243
|
+
| [PRD](docs/PRD.en.md) | Full framework specification |
|
|
244
|
+
| [Core Concepts](docs/core-concepts.en.md) | Fountain model, SSOT, agent/skill architecture |
|
|
245
|
+
| [CLI Reference](docs/cli.en.md) | Complete CLI command reference |
|
|
246
|
+
| [Authoring Guide](docs/authoring-guide.en.md) | Agent/skill/knowledge authoring guide |
|
|
247
|
+
| [Log Architecture](docs/log-architecture.en.md) | 3-tier log system (L1→L2→L3) |
|
|
248
|
+
| [Feedback & Retrospective](docs/feedback-and-retrospective.en.md) | Feedback routing + retrospective learning |
|
|
249
|
+
| [Token Efficiency](docs/token-efficiency.en.md) | Token efficiency design |
|
|
250
|
+
| [Knowledge Architecture](docs/knowledge-architecture.en.md) | Knowledge system |
|
|
251
|
+
| [Meta Index Architecture](docs/meta-index-architecture.en.md) | Code/UI structure index |
|
|
252
|
+
| [File Structure](docs/file-structure.en.md) | Templates + post-init structure |
|
|
246
253
|
|
|
247
254
|
---
|
|
248
255
|
|
|
249
256
|
## Theoretical Background
|
|
250
257
|
|
|
251
|
-
|
|
|
252
|
-
|
|
253
|
-
| **Agentsway** (2025) | Prompting Agent, Retrospective Learning |
|
|
254
|
-
| **ACM TOSEM** (2025) | Competency Mapping |
|
|
255
|
-
| **Agentic SE** (2025) | AGENT.md, Meta-Prompt Files |
|
|
256
|
-
| **FRAME** (2025) | Feedback-Driven Refinement |
|
|
258
|
+
| Theory/Paper | Key Concept | TimSquad Application |
|
|
259
|
+
|-------------|-------------|---------------------|
|
|
260
|
+
| **Agentsway** (2025) | Prompting Agent, Retrospective Learning | Prompt optimization, retrospective learning |
|
|
261
|
+
| **ACM TOSEM** (2025) | Competency Mapping | Competency framework, performance metrics |
|
|
262
|
+
| **Agentic SE** (2025) | AGENT.md, Meta-Prompt Files | Layered meta-prompt architecture |
|
|
263
|
+
| **FRAME** (2025) | Feedback-Driven Refinement | Tiered feedback routing |
|
|
257
264
|
|
|
258
265
|
---
|
|
259
266
|
|
|
260
267
|
## Contributing
|
|
261
268
|
|
|
262
|
-
|
|
269
|
+
Contributions are welcome!
|
|
263
270
|
|
|
264
271
|
1. Fork the repository
|
|
265
272
|
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqD7D"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { colors, printHeader, printError, printSuccess, printWarning, printInfo, printStep, } from '../utils/colors.js';
|
|
3
|
+
import { findProjectRoot } from '../lib/project.js';
|
|
4
|
+
import { exists } from '../utils/fs.js';
|
|
5
|
+
import { compileAll, checkStale, validateDependencyGraph, } from '../lib/compiler.js';
|
|
6
|
+
export function registerCompileCommand(program) {
|
|
7
|
+
const compileCmd = program
|
|
8
|
+
.command('compile')
|
|
9
|
+
.description('Compile SSOT documents into agent-facing specs (Context DI)');
|
|
10
|
+
compileCmd
|
|
11
|
+
.command('build')
|
|
12
|
+
.description('Compile all SSOT documents into controller specs')
|
|
13
|
+
.alias('b')
|
|
14
|
+
.action(async () => {
|
|
15
|
+
try {
|
|
16
|
+
await runCompile();
|
|
17
|
+
}
|
|
18
|
+
catch (err) {
|
|
19
|
+
printError(err instanceof Error ? err.message : String(err));
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
compileCmd
|
|
24
|
+
.command('validate')
|
|
25
|
+
.description('Validate SSOT completeness and dependency graph')
|
|
26
|
+
.alias('v')
|
|
27
|
+
.action(async () => {
|
|
28
|
+
try {
|
|
29
|
+
await runValidate();
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
printError(err instanceof Error ? err.message : String(err));
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
compileCmd
|
|
37
|
+
.command('status')
|
|
38
|
+
.description('Check for stale specs (SSOT changed since last compile)')
|
|
39
|
+
.alias('s')
|
|
40
|
+
.action(async () => {
|
|
41
|
+
try {
|
|
42
|
+
await runStatus();
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
printError(err instanceof Error ? err.message : String(err));
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
// Default action (no subcommand) → build
|
|
50
|
+
compileCmd.action(async () => {
|
|
51
|
+
try {
|
|
52
|
+
await runCompile();
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
printError(err instanceof Error ? err.message : String(err));
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
async function resolveProject() {
|
|
61
|
+
const projectRoot = await findProjectRoot();
|
|
62
|
+
if (!projectRoot) {
|
|
63
|
+
throw new Error('TimSquad 프로젝트를 찾을 수 없습니다. tsq init을 먼저 실행하세요.');
|
|
64
|
+
}
|
|
65
|
+
const controllerDir = path.join(projectRoot, '.claude', 'skills', 'controller');
|
|
66
|
+
return { projectRoot, controllerDir };
|
|
67
|
+
}
|
|
68
|
+
// ─── tsq compile (build) ─────────────────────────────────────────
|
|
69
|
+
async function runCompile() {
|
|
70
|
+
printHeader('SSOT Compile');
|
|
71
|
+
const { projectRoot, controllerDir } = await resolveProject();
|
|
72
|
+
// Verify SSOT directory exists
|
|
73
|
+
const ssotDir = path.join(projectRoot, '.timsquad', 'ssot');
|
|
74
|
+
if (!await exists(ssotDir)) {
|
|
75
|
+
printError('.timsquad/ssot/ 디렉토리가 없습니다.');
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
printStep(1, 3, 'SSOT 문서 파싱 및 컴파일...');
|
|
79
|
+
const result = await compileAll(projectRoot, controllerDir);
|
|
80
|
+
printStep(2, 3, '검증 결과 확인...');
|
|
81
|
+
printCompileResult(result);
|
|
82
|
+
printStep(3, 3, '의존성 그래프 검증...');
|
|
83
|
+
const unresolved = await validateDependencyGraph(projectRoot, controllerDir);
|
|
84
|
+
printDependencyResult(unresolved);
|
|
85
|
+
if (result.success && unresolved.length === 0) {
|
|
86
|
+
printSuccess(`컴파일 완료 — ${result.compiled.length}개 문서, ${countOutputFiles(result)}개 spec 생성`);
|
|
87
|
+
}
|
|
88
|
+
else if (result.success) {
|
|
89
|
+
printWarning(`컴파일 완료 (의존성 미해결 ${unresolved.length}건)`);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
printError(`컴파일 실패 — ${result.errors.length}건 오류`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// ─── tsq compile validate ────────────────────────────────────────
|
|
96
|
+
async function runValidate() {
|
|
97
|
+
printHeader('SSOT Validate');
|
|
98
|
+
const { projectRoot, controllerDir } = await resolveProject();
|
|
99
|
+
// Check stale first
|
|
100
|
+
const stale = await checkStale(projectRoot, controllerDir);
|
|
101
|
+
if (stale.length > 0) {
|
|
102
|
+
printWarning('Stale spec 감지:');
|
|
103
|
+
for (const s of stale) {
|
|
104
|
+
console.log(` ${colors.warning('⚠')} ${colors.path(s.source)} — ${s.reason}`);
|
|
105
|
+
}
|
|
106
|
+
console.log();
|
|
107
|
+
}
|
|
108
|
+
// Dependency graph
|
|
109
|
+
const unresolved = await validateDependencyGraph(projectRoot, controllerDir);
|
|
110
|
+
printDependencyResult(unresolved);
|
|
111
|
+
if (stale.length === 0 && unresolved.length === 0) {
|
|
112
|
+
printSuccess('모든 검증 통과');
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// ─── tsq compile status ──────────────────────────────────────────
|
|
116
|
+
async function runStatus() {
|
|
117
|
+
printHeader('Compile Status');
|
|
118
|
+
const { projectRoot, controllerDir } = await resolveProject();
|
|
119
|
+
const stale = await checkStale(projectRoot, controllerDir);
|
|
120
|
+
if (stale.length === 0) {
|
|
121
|
+
printSuccess('모든 spec이 최신 상태입니다.');
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
printWarning(`${stale.length}개 SSOT 변경 감지 — tsq compile 실행 필요:`);
|
|
125
|
+
for (const s of stale) {
|
|
126
|
+
console.log(` ${colors.warning('⚠')} ${colors.path(s.source)} — ${s.reason}`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// ─── Output Helpers ──────────────────────────────────────────────
|
|
131
|
+
function printCompileResult(result) {
|
|
132
|
+
// Compiled documents
|
|
133
|
+
for (const c of result.compiled) {
|
|
134
|
+
const validation = result.validations.find((v) => v.source === c.source);
|
|
135
|
+
const score = validation ? `${validation.score}%` : '-';
|
|
136
|
+
const icon = validation && validation.score === 100 ? '✅' : validation && validation.score >= 50 ? '⚠️' : '❌';
|
|
137
|
+
console.log(` ${icon} ${colors.path(c.source)} → ${c.outputFiles.length}개 spec (완성도: ${score})`);
|
|
138
|
+
// Show missing fields
|
|
139
|
+
if (validation && validation.missingFields.length > 0) {
|
|
140
|
+
for (const mf of validation.missingFields) {
|
|
141
|
+
console.log(` ${colors.dim(`└ ${mf.section}: 누락 필드 [${mf.fields.join(', ')}]`)}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// Skipped (too small / template)
|
|
146
|
+
if (result.skipped.length > 0) {
|
|
147
|
+
console.log(` ${colors.dim(`⏭ 건너뜀 (미작성): ${result.skipped.join(', ')}`)}`);
|
|
148
|
+
}
|
|
149
|
+
// Errors
|
|
150
|
+
for (const err of result.errors) {
|
|
151
|
+
printError(err);
|
|
152
|
+
}
|
|
153
|
+
console.log();
|
|
154
|
+
}
|
|
155
|
+
function printDependencyResult(unresolved) {
|
|
156
|
+
if (unresolved.length === 0) {
|
|
157
|
+
printInfo('의존성 그래프: 모든 agent prerequisites 해결됨');
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
printWarning('미해결 의존성:');
|
|
161
|
+
for (const u of unresolved) {
|
|
162
|
+
console.log(` ${colors.agent(u.agent)} → 누락: ${u.missing.map((m) => colors.path(m)).join(', ')}`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
console.log();
|
|
166
|
+
}
|
|
167
|
+
function countOutputFiles(result) {
|
|
168
|
+
return result.compiled.reduce((sum, c) => sum + c.outputFiles.length, 0);
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=compile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;AAQpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
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;AAQpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwF5D"}
|