oh-my-claude-sisyphus 3.5.6 → 3.5.8

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.
Files changed (79) hide show
  1. package/README.md +58 -343
  2. package/commands/omc-setup.md +51 -0
  3. package/dist/__tests__/analytics/tokscale-adapter.test.d.ts +2 -0
  4. package/dist/__tests__/analytics/tokscale-adapter.test.d.ts.map +1 -0
  5. package/dist/__tests__/analytics/tokscale-adapter.test.js +79 -0
  6. package/dist/__tests__/analytics/tokscale-adapter.test.js.map +1 -0
  7. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts +7 -0
  8. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts.map +1 -0
  9. package/dist/__tests__/hooks/auto-slash-command/executor.test.js +374 -0
  10. package/dist/__tests__/hooks/auto-slash-command/executor.test.js.map +1 -0
  11. package/dist/__tests__/hooks/learner/bridge.test.d.ts +11 -0
  12. package/dist/__tests__/hooks/learner/bridge.test.d.ts.map +1 -0
  13. package/dist/__tests__/hooks/learner/bridge.test.js +199 -0
  14. package/dist/__tests__/hooks/learner/bridge.test.js.map +1 -0
  15. package/dist/__tests__/installer.test.js +1 -1
  16. package/dist/analytics/cost-estimator.d.ts +14 -0
  17. package/dist/analytics/cost-estimator.d.ts.map +1 -1
  18. package/dist/analytics/cost-estimator.js +65 -0
  19. package/dist/analytics/cost-estimator.js.map +1 -1
  20. package/dist/analytics/index.d.ts +1 -0
  21. package/dist/analytics/index.d.ts.map +1 -1
  22. package/dist/analytics/index.js +4 -0
  23. package/dist/analytics/index.js.map +1 -1
  24. package/dist/analytics/query-engine.d.ts +3 -0
  25. package/dist/analytics/query-engine.d.ts.map +1 -1
  26. package/dist/analytics/query-engine.js +87 -0
  27. package/dist/analytics/query-engine.js.map +1 -1
  28. package/dist/analytics/token-tracker.d.ts +3 -0
  29. package/dist/analytics/token-tracker.d.ts.map +1 -1
  30. package/dist/analytics/token-tracker.js +89 -0
  31. package/dist/analytics/token-tracker.js.map +1 -1
  32. package/dist/analytics/tokscale-adapter.d.ts +71 -0
  33. package/dist/analytics/tokscale-adapter.d.ts.map +1 -0
  34. package/dist/analytics/tokscale-adapter.js +223 -0
  35. package/dist/analytics/tokscale-adapter.js.map +1 -0
  36. package/dist/analytics/types.d.ts +17 -0
  37. package/dist/analytics/types.d.ts.map +1 -1
  38. package/dist/analytics/types.js +5 -0
  39. package/dist/analytics/types.js.map +1 -1
  40. package/dist/cli/analytics.js +35 -0
  41. package/dist/cli/analytics.js.map +1 -1
  42. package/dist/cli/commands/agents.d.ts.map +1 -1
  43. package/dist/cli/commands/agents.js +4 -2
  44. package/dist/cli/commands/agents.js.map +1 -1
  45. package/dist/cli/commands/stats.d.ts.map +1 -1
  46. package/dist/cli/commands/stats.js +6 -1
  47. package/dist/cli/commands/stats.js.map +1 -1
  48. package/dist/cli/index.js +95 -35
  49. package/dist/cli/index.js.map +1 -1
  50. package/dist/cli/utils/tokscale-launcher.d.ts +18 -0
  51. package/dist/cli/utils/tokscale-launcher.d.ts.map +1 -0
  52. package/dist/cli/utils/tokscale-launcher.js +64 -0
  53. package/dist/cli/utils/tokscale-launcher.js.map +1 -0
  54. package/dist/features/auto-update.js +5 -5
  55. package/dist/features/auto-update.js.map +1 -1
  56. package/dist/hooks/learner/bridge.d.ts +71 -0
  57. package/dist/hooks/learner/bridge.d.ts.map +1 -0
  58. package/dist/hooks/learner/bridge.js +426 -0
  59. package/dist/hooks/learner/bridge.js.map +1 -0
  60. package/dist/hooks/skill-bridge.cjs +349 -0
  61. package/dist/hud/types.d.ts +6 -2
  62. package/dist/hud/types.d.ts.map +1 -1
  63. package/dist/hud/types.js.map +1 -1
  64. package/dist/hud/usage-api.d.ts.map +1 -1
  65. package/dist/hud/usage-api.js +13 -1
  66. package/dist/hud/usage-api.js.map +1 -1
  67. package/dist/installer/index.d.ts +1 -1
  68. package/dist/installer/index.js +1 -1
  69. package/docs/ARCHITECTURE.md +80 -397
  70. package/docs/FEATURES.md +396 -1981
  71. package/docs/MIGRATION.md +4 -4
  72. package/docs/REFERENCE.md +545 -0
  73. package/docs/SYNC-SYSTEM.md +6 -6
  74. package/package.json +5 -2
  75. package/scripts/build-skill-bridge.mjs +32 -0
  76. package/scripts/skill-injector.mjs +77 -26
  77. package/scripts/sync-metadata.ts +2 -2
  78. package/skills/omc-setup/SKILL.md +51 -0
  79. package/docs/FULL-README.md +0 -1001
@@ -1,261 +1,10 @@
1
- # Agent Architecture: OpenCode vs Claude Code
1
+ # Architecture
2
2
 
3
- This document explains the architectural differences between OpenCode's swappable master agent system and Claude Code's skill-based routing, and how oh-my-claudecode bridges this gap elegantly.
4
-
5
- ---
3
+ > How oh-my-claudecode orchestrates multi-agent workflows.
6
4
 
7
5
  ## Overview
8
6
 
9
- | Aspect | OpenCode | Claude Code |
10
- |--------|----------|-------------|
11
- | Master Agent | **Swappable** | **Fixed** |
12
- | Sub Agents | Via Task tool | Via Task tool |
13
- | Routing | Agent switching | Skill activation |
14
- | Flexibility | High (any agent as master) | High (via skill composition) |
15
-
16
- ---
17
-
18
- ## OpenCode: Swappable Master Agent
19
-
20
- ### How It Works
21
-
22
- In OpenCode (oh-my-opencode), the master agent can be dynamically swapped based on task requirements:
23
-
24
- ```
25
- ┌─────────────────────────────────────────────────────────────┐
26
- │ OPENCODE RUNTIME │
27
- └─────────────────────────────────────────────────────────────┘
28
-
29
- ┌───────────────┼───────────────┐
30
- │ │ │
31
- ▼ ▼ ▼
32
- ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
33
- │ DEFAULT │ │ ARCHITECT │ │ PLANNER │
34
- │ (Default) │ │ (Debug) │ │ (Planning) │
35
- │ │ │ │ │ │
36
- │ Can become │ │ Can become │ │ Can become │
37
- │ MASTER │ │ MASTER │ │ MASTER │
38
- └─────────────┘ └─────────────┘ └─────────────┘
39
- │ │ │
40
- └───────────────┼───────────────┘
41
-
42
-
43
- ┌─────────────────┐
44
- │ SUB-AGENTS │
45
- │ (Delegated) │
46
- └─────────────────┘
47
- ```
48
-
49
- ### Agent Switching Flow
50
-
51
- ```typescript
52
- // OpenCode pseudo-code
53
- class AgentOrchestrator {
54
- private masterAgent: Agent;
55
-
56
- // Can swap master at runtime
57
- switchMaster(agentType: 'default' | 'architect' | 'planner') {
58
- this.masterAgent = AgentFactory.create(agentType);
59
- }
60
-
61
- // Master delegates to sub-agents
62
- async execute(task: string) {
63
- return this.masterAgent.run(task, {
64
- subAgents: this.availableSubAgents
65
- });
66
- }
67
- }
68
-
69
- // Usage
70
- orchestrator.switchMaster('planner'); // Planning mode
71
- await orchestrator.execute('Design auth system');
72
-
73
- orchestrator.switchMaster('default'); // Implementation mode
74
- await orchestrator.execute('Implement the plan');
75
- ```
76
-
77
- ### Pros
78
- - Direct control over which agent leads
79
- - Clean separation between master behaviors
80
- - Easy to add new master agent types
81
-
82
- ### Cons
83
- - Requires runtime agent management
84
- - Context can be lost during switches
85
- - More complex state management
86
-
87
- ---
88
-
89
- ## Claude Code: Fixed Master with Skills
90
-
91
- ### The Constraint
92
-
93
- Claude Code has a **fixed master agent** - you cannot swap which agent is the "main" one. The conversation always runs through the same Claude instance.
94
-
95
- ```
96
- ┌─────────────────────────────────────────────────────────────┐
97
- │ CLAUDE CODE RUNTIME │
98
- └─────────────────────────────────────────────────────────────┘
99
-
100
-
101
- ┌─────────────────┐
102
- │ CLAUDE MASTER │ ← FIXED, cannot swap
103
- │ (Always On) │
104
- └────────┬────────┘
105
-
106
- ┌──────────────┼──────────────┐
107
- │ │ │
108
- ▼ ▼ ▼
109
- ┌───────────┐ ┌───────────┐ ┌───────────┐
110
- │ architect │ │ researcher│ │ explore │
111
- │ (Opus) │ │ (Sonnet) │ │ (Haiku) │
112
- └───────────┘ └───────────┘ └───────────┘
113
- ↑ ↑ ↑
114
- └──────────────┼──────────────┘
115
-
116
- Only as SUB-agents
117
- (via Task tool)
118
- ```
119
-
120
- ### The Solution: Skill-Based Routing
121
-
122
- Instead of swapping the master agent, we **inject behaviors** into the fixed master through Skills:
123
-
124
- ```
125
- ┌─────────────────────────────────────────────────────────────┐
126
- │ CLAUDE CODE + SKILLS │
127
- └─────────────────────────────────────────────────────────────┘
128
-
129
-
130
- ┌─────────────────┐
131
- │ CLAUDE MASTER │
132
- │ │
133
- │ ┌───────────┐ │
134
- │ │ SKILL │ │ ← Injected behavior
135
- │ │ LAYER │ │
136
- │ └───────────┘ │
137
- └────────┬────────┘
138
-
139
- ┌──────────────┼──────────────┐
140
- ▼ ▼ ▼
141
- Sub-agents Sub-agents Sub-agents
142
- ```
143
-
144
- ### How Skills Work
145
-
146
- Skills are **behavior injections** that modify how the master agent operates:
147
-
148
- ```markdown
149
- # When user says "plan the auth system"
150
-
151
- 1. CLAUDE.md contains routing rules
152
- 2. Claude detects "plan" → planning task
153
- 3. Claude invokes Skill(skill: "planner")
154
- 4. Planner skill template is injected
155
- 5. Claude now BEHAVES like Planner
156
- 6. But it's still the same master agent
157
- ```
158
-
159
- ---
160
-
161
- ## The Elegant Solution: Intelligent Skill Activation
162
-
163
- ### Skill Layers
164
-
165
- We solved the "can't swap master" limitation by creating **composable skill layers**:
166
-
167
- ```
168
- ┌─────────────────────────────────────────────────────────────┐
169
- │ SKILL COMPOSITION │
170
- └─────────────────────────────────────────────────────────────┘
171
-
172
- ┌─────────────────────────────────────────────────────────┐
173
- │ GUARANTEE LAYER (optional) │
174
- │ ┌─────────────┐ │
175
- │ │ ralph │ "Cannot stop until verified done" │
176
- │ └─────────────┘ │
177
- └─────────────────────────────────────────────────────────┘
178
-
179
-
180
- ┌─────────────────────────────────────────────────────────┐
181
- │ ENHANCEMENT LAYER (0-N skills) │
182
- │ ┌───────────┐ ┌───────────┐ ┌─────────────────┐ │
183
- │ │ ultrawork │ │git-master │ │ frontend-ui-ux │ │
184
- │ │ (parallel)│ │ (commits) │ │ (design) │ │
185
- │ └───────────┘ └───────────┘ └─────────────────┘ │
186
- └─────────────────────────────────────────────────────────┘
187
-
188
-
189
- ┌─────────────────────────────────────────────────────────┐
190
- │ EXECUTION LAYER (pick one primary) │
191
- │ ┌───────────┐ ┌─────────────┐ ┌────────────┐ │
192
- │ │ default │ │ orchestrator│ │ planner │ │
193
- │ │ (build) │ │ (coordinate)│ │ (plan) │ │
194
- │ └───────────┘ └─────────────┘ └────────────┘ │
195
- └─────────────────────────────────────────────────────────┘
196
- ```
197
-
198
- ### Composition Formula
199
-
200
- ```
201
- [Execution Skill] + [0-N Enhancement Skills] + [Optional Guarantee]
202
- ```
203
-
204
- ### Examples
205
-
206
- ```
207
- Task: "Add dark mode with proper commits"
208
- Skills: default + frontend-ui-ux + git-master
209
-
210
- Task: "ultrawork: refactor entire API"
211
- Skills: ultrawork + default + git-master
212
-
213
- Task: "Plan auth, then implement completely"
214
- Skills: planner → default + ralph (transition)
215
-
216
- Task: "Fix bug, don't stop until done"
217
- Skills: default + ralph
218
- ```
219
-
220
- ---
221
-
222
- ## Comparison: Agent Swap vs Skill Activation
223
-
224
- ### Scenario: Complex Project with Planning → Implementation
225
-
226
- **OpenCode Approach (Agent Swap):**
227
- ```
228
- 1. User: "Plan the authentication system"
229
- 2. System: Switch master to Planner
230
- 3. Planner: Creates comprehensive plan
231
- 4. User: "Now implement it"
232
- 5. System: Switch master to Default ← Context may be lost
233
- 6. Default: Implements (needs to re-read plan)
234
- ```
235
-
236
- **Claude Code Approach (Skill Activation):**
237
- ```
238
- 1. User: "Plan the authentication system"
239
- 2. Claude: Activates planner skill
240
- 3. Claude (as Planner): Creates comprehensive plan
241
- 4. User: "Now implement it"
242
- 5. Claude: Transitions to default skill ← Same context!
243
- 6. Claude (as Default): Implements (already has plan in context)
244
- ```
245
-
246
- ### Why Skills Are More Elegant
247
-
248
- | Aspect | Agent Swap | Skill Activation |
249
- |--------|------------|------------------|
250
- | Context | Lost on swap | Preserved |
251
- | Transitions | Explicit, disruptive | Seamless, fluid |
252
- | Composition | One master at a time | Multiple skills stack |
253
- | State | Needs external tracking | In-conversation |
254
- | User Experience | "Switch to X mode" | Natural language |
255
-
256
- ---
257
-
258
- ## Architecture Diagram
7
+ oh-my-claudecode enables Claude Code to orchestrate specialized agents through a skill-based routing system.
259
8
 
260
9
  ```
261
10
  ┌─────────────────────────────────────────────────────────────────────────┐
@@ -287,179 +36,113 @@ Skills: default + ralph
287
36
  └─────────────────┘
288
37
  ```
289
38
 
290
- ---
39
+ ## Core Concepts
291
40
 
292
- ## Implementation Details
41
+ ### Skills
293
42
 
294
- ### CLAUDE.md Auto-Routing Section
43
+ Skills are **behavior injections** that modify how the orchestrator operates. Instead of swapping agents, we inject capabilities through composable skills:
295
44
 
296
- ```markdown
297
- ## INTELLIGENT SKILL ACTIVATION
45
+ - **Execution Skills**: Primary task handlers (`default`, `planner`, `orchestrate`)
46
+ - **Enhancement Skills**: Additional capabilities (`ultrawork`, `git-master`, `frontend-ui-ux`)
47
+ - **Guarantee Skills**: Completion enforcement (`ralph`)
298
48
 
299
- Skills ENHANCE your capabilities. They are NOT mutually exclusive -
300
- **combine them based on task requirements**.
49
+ Skills can stack and compose:
50
+ ```
51
+ Task: "ultrawork: refactor API with proper commits"
52
+ Skills: ultrawork + default + git-master
53
+ ```
301
54
 
302
- ### Task Type → Skill Selection
55
+ ### Agents
303
56
 
304
- Use your judgment to detect task type and activate appropriate skills:
57
+ 32 specialized agents organized by complexity tier:
305
58
 
306
- | Task Type | Skill Combination | When |
307
- |-----------|-------------------|------|
308
- | Multi-step implementation | `default` | Building features |
309
- | + parallel subtasks | `+ ultrawork` | 3+ independent tasks |
310
- | + multi-file changes | `+ git-master` | 3+ files |
311
- | UI/frontend work | `+ frontend-ui-ux` | Components, styling |
312
- | Strategic planning | `planner` | Need plan first |
313
- | Must complete | `+ ralph` | Completion critical |
59
+ | Tier | Model | Use For |
60
+ |------|-------|---------|
61
+ | LOW | Haiku | Quick lookups, simple operations |
62
+ | MEDIUM | Sonnet | Standard implementations |
63
+ | HIGH | Opus | Complex reasoning, architecture |
314
64
 
315
- ### Activation Guidance
65
+ See [FEATURES.md](./FEATURES.md) for the complete agent roster.
316
66
 
317
- - **DO NOT** wait for explicit skill invocation
318
- - **DO** use your judgment
319
- - **DO** combine skills when multiple apply
320
- - **EXPLICIT** slash commands always take precedence
321
- ```
67
+ ### Delegation
322
68
 
323
- ### Skill Invocation Flow
69
+ Work is delegated through the Task tool with intelligent model routing:
324
70
 
325
71
  ```typescript
326
- // Conceptual flow (happens in Claude's reasoning)
327
-
328
- function handleUserRequest(request: string) {
329
- // 1. Detect task type
330
- const taskType = analyzeTaskType(request);
331
-
332
- // 2. Select skill combination
333
- const skills = selectSkills(taskType);
334
- // e.g., ['default', 'ultrawork', 'git-master']
335
-
336
- // 3. Invoke skills (stacked)
337
- for (const skill of skills) {
338
- invoke(Skill, { skill }); // Skill tool
339
- }
340
-
341
- // 4. Execute with combined behaviors
342
- executeTask(request);
343
- }
72
+ Task(
73
+ subagent_type="oh-my-claudecode:executor",
74
+ model="sonnet",
75
+ prompt="Implement feature..."
76
+ )
344
77
  ```
345
78
 
346
- ---
79
+ Categories like `visual-engineering` and `ultrabrain` auto-select model tier, temperature, and thinking budget.
347
80
 
348
- ## Migration from OpenCode
81
+ ## Skill Composition
349
82
 
350
- If you're coming from oh-my-opencode with agent switching:
83
+ Skills compose in layers:
351
84
 
352
- | OpenCode Pattern | Claude Code Equivalent |
353
- |------------------|------------------------|
354
- | `switchMaster('planner')` | Invoke `planner` skill |
355
- | `switchMaster('default')` | Invoke `default` skill |
356
- | `switchMaster('architect')` | Use `architect` sub-agent via Task |
357
- | Multiple masters | Skill composition |
358
- | Master + sub-agents | Execution skill + sub-agents |
359
-
360
- ### Key Differences
361
-
362
- 1. **No explicit "switch"** - Skills activate based on task type
363
- 2. **Context preserved** - Same conversation, different behaviors
364
- 3. **Composition** - Multiple skills can be active simultaneously
365
- 4. **Fluid transitions** - `planner` → `default` happens naturally
85
+ ```
86
+ ┌─────────────────────────────────────────────────────────────┐
87
+ │ GUARANTEE LAYER (optional)
88
+ │ ralph: "Cannot stop until verified done" │
89
+ └─────────────────────────────────────────────────────────────┘
90
+
91
+
92
+ ┌─────────────────────────────────────────────────────────────┐
93
+ │ ENHANCEMENT LAYER (0-N skills) │
94
+ │ ultrawork (parallel) | git-master (commits) | frontend-ui-ux│
95
+ └─────────────────────────────────────────────────────────────┘
96
+
97
+
98
+ ┌─────────────────────────────────────────────────────────────┐
99
+ │ EXECUTION LAYER (primary skill) │
100
+ │ default (build) | orchestrate (coordinate) | planner (plan) │
101
+ └─────────────────────────────────────────────────────────────┘
102
+ ```
366
103
 
367
- ---
104
+ **Formula:** `[Execution Skill] + [0-N Enhancements] + [Optional Guarantee]`
368
105
 
369
- ## Conclusion
106
+ ## State Management
370
107
 
371
- While Claude Code's fixed master agent might seem like a limitation compared to OpenCode's swappable masters, the **skill-based routing system is actually more elegant**:
108
+ State files follow standardized locations:
372
109
 
373
- 1. **Preserves context** across mode changes
374
- 2. **Enables composition** (ultrawork + git-master + sisyphus)
375
- 3. **Natural language** activation (no explicit mode switching)
376
- 4. **Judgment-based** routing (Claude decides based on task)
110
+ **Local Project State:**
111
+ - `.omc/state/{name}.json` - Session state (ultrapilot, swarm, pipeline)
112
+ - `.omc/notepads/{plan-name}/` - Plan-scoped wisdom capture
377
113
 
378
- The skill layer architecture transforms a constraint into a feature, providing a more fluid and powerful orchestration experience.
114
+ **Global State:**
115
+ - `~/.omc/state/{name}.json` - User preferences and global config
379
116
 
380
- ---
117
+ Legacy locations are auto-migrated on read.
381
118
 
382
- ## References
119
+ ## Hooks
383
120
 
384
- - [Oh-My-OpenCode](https://github.com/code-yeongyu/oh-my-opencode) - Original multi-agent system
385
- - [Claude Code Skills](https://docs.anthropic.com/claude-code/skills) - Skill documentation
386
- - [Intelligent Skill Activation](../README.md#intelligent-skill-activation-beta) - Beta feature docs
121
+ oh-my-claudecode uses Claude Code's hooks system for lifecycle events:
387
122
 
388
- ---
123
+ - **conversationStart**: Initialize OMC, check for active modes
124
+ - **beforeRequest**: Task delegation, skill routing
125
+ - **afterResponse**: State updates, verification checks
389
126
 
390
- ## v3.1 Feature Architecture
127
+ Hooks are defined in `.claude/hooks/` and managed through the plugin system.
391
128
 
392
- ### Delegation Categories Flow
129
+ ## Verification Protocol
393
130
 
394
- ```
395
- Task Prompt Category Detection Model Selection
396
- ─────────── ────────────────── ───────────────
397
- │ │ │
398
- ▼ ▼ ▼
399
- ┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
400
- │ "Design a │ │ detectCategory │ │ ComplexityTier │
401
- │ beautiful │──────────▶│ FromPrompt() │─────────▶│ │
402
- │ dashboard" │ │ │ │ HIGH → opus │
403
- └─────────────┘ │ Keywords: │ │ MEDIUM → sonnet │
404
- │ - design ✓ │ │ LOW → haiku │
405
- │ - dashboard ✓ │ └─────────────────┘
406
- │ │ │
407
- │ Category: │ ▼
408
- │ visual-engineering│ ┌─────────────────┐
409
- └──────────────────┘ │ Config Applied │
410
- │ tier: HIGH │
411
- │ temp: 0.7 │
412
- │ thinking: high │
413
- └─────────────────┘
414
- ```
131
+ The verification module ensures work completion with evidence:
415
132
 
416
- ### Notepad Wisdom Storage Structure
133
+ **Standard Checks:**
134
+ - BUILD: Compilation passes
135
+ - TEST: All tests pass
136
+ - LINT: No linting errors
137
+ - FUNCTIONALITY: Feature works as expected
138
+ - ARCHITECT: Opus-tier review approval
139
+ - TODO: All tasks completed
140
+ - ERROR_FREE: No unresolved errors
417
141
 
418
- ```
419
- .omc/
420
- └── notepads/
421
- └── {plan-name}/
422
- ├── learnings.md # Technical discoveries
423
- ├── decisions.md # Architectural choices
424
- ├── issues.md # Known issues + workarounds
425
- └── problems.md # Blockers requiring resolution
426
-
427
- Entry Format:
428
- ┌─────────────────────────────────────────┐
429
- │ ## 2024-01-15 14:30:00 │
430
- │ │
431
- │ Content of the wisdom entry... │
432
- └─────────────────────────────────────────┘
433
- ```
142
+ Evidence must be fresh (within 5 minutes) and include actual command output.
434
143
 
435
- ### Directory Diagnostics Strategy Selection
144
+ ## For More Details
436
145
 
437
- ```
438
- ┌──────────────────┐
439
- runDirectory │
440
- │ Diagnostics() │
441
- └────────┬─────────┘
442
-
443
- ┌──────────────┴──────────────┐
444
- │ strategy = ? │
445
- └──────────────┬──────────────┘
446
-
447
- ┌───────────────────┼───────────────────┐
448
- │ │ │
449
- strategy='tsc' strategy='auto' strategy='lsp'
450
- │ │ │
451
- ▼ ▼ ▼
452
- ┌───────────┐ ┌───────────┐ ┌───────────┐
453
- │ tsc │ │ tsconfig │ │ LSP │
454
- │ --noEmit │ │ exists? │ │ Iteration │
455
- │ (fast) │ │ │ │ (fallback)│
456
- └───────────┘ └─────┬─────┘ └───────────┘
457
-
458
- ┌───────┴───────┐
459
- │ YES NO │
460
- └───────┬───────┘
461
-
462
- ┌─────────┴─────────┐
463
- ▼ ▼
464
- Use tsc Use LSP
465
- ```
146
+ - **API Reference**: See [FEATURES.md](./FEATURES.md)
147
+ - **User Guide**: See [README.md](../README.md)
148
+ - **Skills Reference**: See CLAUDE.md in your project