oh-my-claude-sisyphus 1.0.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/LICENSE +21 -0
- package/README.md +416 -0
- package/dist/agents/definitions.d.ts +48 -0
- package/dist/agents/definitions.d.ts.map +1 -0
- package/dist/agents/definitions.js +271 -0
- package/dist/agents/definitions.js.map +1 -0
- package/dist/agents/index.d.ts +5 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +5 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/cli/index.d.ts +13 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +280 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +5 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +49 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +329 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/features/continuation-enforcement.d.ts +34 -0
- package/dist/features/continuation-enforcement.d.ts.map +1 -0
- package/dist/features/continuation-enforcement.js +142 -0
- package/dist/features/continuation-enforcement.js.map +1 -0
- package/dist/features/index.d.ts +6 -0
- package/dist/features/index.d.ts.map +1 -0
- package/dist/features/index.js +6 -0
- package/dist/features/index.js.map +1 -0
- package/dist/features/magic-keywords.d.ts +22 -0
- package/dist/features/magic-keywords.d.ts.map +1 -0
- package/dist/features/magic-keywords.js +189 -0
- package/dist/features/magic-keywords.js.map +1 -0
- package/dist/index.d.ts +105 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +146 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +5 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/servers.d.ts +77 -0
- package/dist/mcp/servers.d.ts.map +1 -0
- package/dist/mcp/servers.js +122 -0
- package/dist/mcp/servers.js.map +1 -0
- package/dist/shared/index.d.ts +5 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +5 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/types.d.ts +133 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/shared/types.js +5 -0
- package/dist/shared/types.js.map +1 -0
- package/dist/tools/ast-tools.d.ts +63 -0
- package/dist/tools/ast-tools.d.ts.map +1 -0
- package/dist/tools/ast-tools.js +349 -0
- package/dist/tools/ast-tools.js.map +1 -0
- package/dist/tools/index.d.ts +52 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +120 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/lsp/client.d.ts +201 -0
- package/dist/tools/lsp/client.d.ts.map +1 -0
- package/dist/tools/lsp/client.js +454 -0
- package/dist/tools/lsp/client.js.map +1 -0
- package/dist/tools/lsp/index.d.ts +9 -0
- package/dist/tools/lsp/index.d.ts.map +1 -0
- package/dist/tools/lsp/index.js +7 -0
- package/dist/tools/lsp/index.js.map +1 -0
- package/dist/tools/lsp/servers.d.ts +37 -0
- package/dist/tools/lsp/servers.d.ts.map +1 -0
- package/dist/tools/lsp/servers.js +148 -0
- package/dist/tools/lsp/servers.js.map +1 -0
- package/dist/tools/lsp/utils.d.ts +58 -0
- package/dist/tools/lsp/utils.d.ts.map +1 -0
- package/dist/tools/lsp/utils.js +236 -0
- package/dist/tools/lsp/utils.js.map +1 -0
- package/dist/tools/lsp-tools.d.ts +151 -0
- package/dist/tools/lsp-tools.d.ts.map +1 -0
- package/dist/tools/lsp-tools.js +358 -0
- package/dist/tools/lsp-tools.js.map +1 -0
- package/package.json +75 -0
- package/scripts/install.sh +765 -0
- package/scripts/uninstall.sh +47 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Yeachan Heo
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
# Oh-My-Claude-Sisyphus
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/oh-my-claude-sisyphus)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
|
|
6
|
+
Multi-agent orchestration system for [Claude Code](https://docs.anthropic.com/claude-code). Port of [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode).
|
|
7
|
+
|
|
8
|
+
Like Sisyphus, these agents persist until every task is complete.
|
|
9
|
+
|
|
10
|
+
## Quick Install
|
|
11
|
+
|
|
12
|
+
### One-liner (recommended)
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
curl -fsSL https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claude-sisyphus/main/scripts/install.sh | bash
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Via npm
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install -g oh-my-claude-sisyphus
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Manual Install
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
git clone https://github.com/Yeachan-Heo/oh-my-claude-sisyphus.git
|
|
28
|
+
cd oh-my-claude-sisyphus
|
|
29
|
+
chmod +x scripts/install.sh
|
|
30
|
+
./scripts/install.sh
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## What Gets Installed
|
|
34
|
+
|
|
35
|
+
The installer adds to your Claude Code config (`~/.claude/`):
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
~/.claude/
|
|
39
|
+
├── agents/
|
|
40
|
+
│ ├── oracle.md # Architecture & debugging expert (Opus)
|
|
41
|
+
│ ├── librarian.md # Documentation & research (Sonnet)
|
|
42
|
+
│ ├── explore.md # Fast pattern matching (Haiku)
|
|
43
|
+
│ ├── frontend-engineer.md # UI/UX specialist (Sonnet)
|
|
44
|
+
│ ├── document-writer.md # Technical writing (Haiku)
|
|
45
|
+
│ ├── multimodal-looker.md # Visual analysis (Sonnet)
|
|
46
|
+
│ ├── momus.md # Plan reviewer (Opus)
|
|
47
|
+
│ ├── metis.md # Pre-planning consultant (Opus)
|
|
48
|
+
│ ├── orchestrator-sisyphus.md # Todo coordinator (Sonnet)
|
|
49
|
+
│ ├── sisyphus-junior.md # Focused executor (Sonnet)
|
|
50
|
+
│ └── prometheus.md # Strategic planner (Opus)
|
|
51
|
+
├── commands/
|
|
52
|
+
│ ├── sisyphus.md # /sisyphus command
|
|
53
|
+
│ ├── sisyphus-default.md # /sisyphus-default command
|
|
54
|
+
│ ├── ultrawork.md # /ultrawork command
|
|
55
|
+
│ ├── deepsearch.md # /deepsearch command
|
|
56
|
+
│ ├── analyze.md # /analyze command
|
|
57
|
+
│ ├── plan.md # /plan command (Prometheus)
|
|
58
|
+
│ └── review.md # /review command (Momus)
|
|
59
|
+
└── CLAUDE.md # Sisyphus system prompt
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Usage
|
|
63
|
+
|
|
64
|
+
### Start Claude Code
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
claude
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Slash Commands
|
|
71
|
+
|
|
72
|
+
| Command | Description |
|
|
73
|
+
|---------|-------------|
|
|
74
|
+
| `/sisyphus <task>` | Activate Sisyphus multi-agent orchestration mode |
|
|
75
|
+
| `/sisyphus-default` | Set Sisyphus as your permanent default mode |
|
|
76
|
+
| `/ultrawork <task>` | Maximum performance mode with parallel agents |
|
|
77
|
+
| `/deepsearch <query>` | Thorough multi-strategy codebase search |
|
|
78
|
+
| `/analyze <target>` | Deep analysis and investigation |
|
|
79
|
+
| `/plan <description>` | Start planning session with Prometheus |
|
|
80
|
+
| `/review [plan-path]` | Review a plan with Momus |
|
|
81
|
+
|
|
82
|
+
### Examples
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# In Claude Code:
|
|
86
|
+
|
|
87
|
+
# Activate Sisyphus for a task
|
|
88
|
+
/sisyphus refactor the authentication module
|
|
89
|
+
|
|
90
|
+
# Set as default mode (persistent)
|
|
91
|
+
/sisyphus-default
|
|
92
|
+
|
|
93
|
+
# Use ultrawork for maximum performance
|
|
94
|
+
/ultrawork implement user dashboard with charts
|
|
95
|
+
|
|
96
|
+
# Deep search
|
|
97
|
+
/deepsearch API endpoints that handle user data
|
|
98
|
+
|
|
99
|
+
# Deep analysis
|
|
100
|
+
/analyze performance bottleneck in the database layer
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Magic Keywords
|
|
104
|
+
|
|
105
|
+
Just include these words anywhere in your prompt:
|
|
106
|
+
|
|
107
|
+
| Keyword | Effect |
|
|
108
|
+
|---------|--------|
|
|
109
|
+
| `ultrawork`, `ulw`, `uw` | Activates parallel agent orchestration |
|
|
110
|
+
| `search`, `find`, `locate` | Enhanced search mode |
|
|
111
|
+
| `analyze`, `investigate` | Deep analysis mode |
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# These work in normal prompts too:
|
|
115
|
+
> ultrawork implement user authentication with OAuth
|
|
116
|
+
|
|
117
|
+
> find all files that import the utils module
|
|
118
|
+
|
|
119
|
+
> analyze why the tests are failing
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Available Agents
|
|
123
|
+
|
|
124
|
+
Claude will automatically delegate to these specialized agents:
|
|
125
|
+
|
|
126
|
+
### Task Execution Agents
|
|
127
|
+
|
|
128
|
+
| Agent | Model | Best For |
|
|
129
|
+
|-------|-------|----------|
|
|
130
|
+
| **oracle** | Opus | Complex debugging, architecture decisions, root cause analysis |
|
|
131
|
+
| **librarian** | Sonnet | Finding documentation, understanding code organization |
|
|
132
|
+
| **explore** | Haiku | Quick file searches, pattern matching, reconnaissance |
|
|
133
|
+
| **frontend-engineer** | Sonnet | UI components, styling, accessibility |
|
|
134
|
+
| **document-writer** | Haiku | README files, API docs, code comments |
|
|
135
|
+
| **multimodal-looker** | Sonnet | Analyzing screenshots, diagrams, mockups |
|
|
136
|
+
|
|
137
|
+
### Planning & Review Agents
|
|
138
|
+
|
|
139
|
+
| Agent | Model | Best For |
|
|
140
|
+
|-------|-------|----------|
|
|
141
|
+
| **prometheus** | Opus | Strategic planning, comprehensive work plans, interview-style requirement gathering |
|
|
142
|
+
| **momus** | Opus | Critical plan review, feasibility assessment, risk identification |
|
|
143
|
+
| **metis** | Opus | Pre-planning analysis, hidden requirement detection, ambiguity resolution |
|
|
144
|
+
|
|
145
|
+
### Orchestration Agents
|
|
146
|
+
|
|
147
|
+
| Agent | Model | Best For |
|
|
148
|
+
|-------|-------|----------|
|
|
149
|
+
| **orchestrator-sisyphus** | Sonnet | Todo coordination, task delegation, progress tracking |
|
|
150
|
+
| **sisyphus-junior** | Sonnet | Focused task execution, plan following, direct implementation |
|
|
151
|
+
|
|
152
|
+
### Manual Agent Invocation
|
|
153
|
+
|
|
154
|
+
You can explicitly request an agent:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
Use the oracle agent to debug the memory leak in the worker process
|
|
158
|
+
|
|
159
|
+
Have the librarian find all documentation about the API
|
|
160
|
+
|
|
161
|
+
Ask explore to find all TypeScript files that import React
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Configuration
|
|
165
|
+
|
|
166
|
+
### Project-Level Config
|
|
167
|
+
|
|
168
|
+
Create `.claude/CLAUDE.md` in your project for project-specific instructions:
|
|
169
|
+
|
|
170
|
+
```markdown
|
|
171
|
+
# Project Context
|
|
172
|
+
|
|
173
|
+
This is a TypeScript monorepo using:
|
|
174
|
+
- Bun runtime
|
|
175
|
+
- React for frontend
|
|
176
|
+
- PostgreSQL database
|
|
177
|
+
|
|
178
|
+
## Conventions
|
|
179
|
+
- Use functional components
|
|
180
|
+
- All API routes in /src/api
|
|
181
|
+
- Tests alongside source files
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Agent Customization
|
|
185
|
+
|
|
186
|
+
Edit agent files in `~/.claude/agents/` to customize behavior:
|
|
187
|
+
|
|
188
|
+
```yaml
|
|
189
|
+
---
|
|
190
|
+
name: oracle
|
|
191
|
+
description: Your custom description
|
|
192
|
+
tools: Read, Grep, Glob, Bash, Edit
|
|
193
|
+
model: opus # or sonnet, haiku
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
Your custom system prompt here...
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Uninstall
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
curl -fsSL https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claude-sisyphus/main/scripts/uninstall.sh | bash
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
Or manually:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
rm ~/.claude/agents/{oracle,librarian,explore,frontend-engineer,document-writer,multimodal-looker,momus,metis,orchestrator-sisyphus,sisyphus-junior,prometheus}.md
|
|
209
|
+
rm ~/.claude/commands/{sisyphus,sisyphus-default,ultrawork,deepsearch,analyze,plan,review}.md
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## SDK Usage (Advanced)
|
|
213
|
+
|
|
214
|
+
For programmatic use with the Claude Agent SDK:
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
npm install oh-my-claude-sisyphus @anthropic-ai/claude-agent-sdk
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
```typescript
|
|
221
|
+
import { createSisyphusSession } from 'oh-my-claude-sisyphus';
|
|
222
|
+
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
223
|
+
|
|
224
|
+
const session = createSisyphusSession();
|
|
225
|
+
|
|
226
|
+
for await (const message of query({
|
|
227
|
+
prompt: session.processPrompt("ultrawork implement feature X"),
|
|
228
|
+
...session.queryOptions
|
|
229
|
+
})) {
|
|
230
|
+
console.log(message);
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## How It Works
|
|
235
|
+
|
|
236
|
+
1. **Sisyphus Orchestrator**: The main Claude instance coordinates all work
|
|
237
|
+
2. **Specialized Subagents**: Each agent has focused expertise and tools
|
|
238
|
+
3. **Parallel Execution**: Independent tasks run concurrently
|
|
239
|
+
4. **Continuation Enforcement**: Agents persist until ALL tasks complete
|
|
240
|
+
5. **Context Injection**: Project-specific instructions from CLAUDE.md files
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Differences from oh-my-opencode
|
|
245
|
+
|
|
246
|
+
This is a port of [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) adapted for Claude Code and the Claude Agent SDK. Here's what's different:
|
|
247
|
+
|
|
248
|
+
### Model Mapping
|
|
249
|
+
|
|
250
|
+
The original oh-my-opencode used multiple AI providers. This port uses Claude models exclusively:
|
|
251
|
+
|
|
252
|
+
| Agent | Original Model | Ported Model | Notes |
|
|
253
|
+
|-------|---------------|--------------|-------|
|
|
254
|
+
| **Sisyphus** | Claude Opus 4.5 | Claude Opus 4.5 | Same |
|
|
255
|
+
| **Oracle** | GPT-5.2 | Claude Opus | Was OpenAI's flagship for deep reasoning |
|
|
256
|
+
| **Librarian** | Claude Sonnet or Gemini 3 Flash | Claude Sonnet | Multi-provider → Claude only |
|
|
257
|
+
| **Explore** | Grok Code or Gemini 3 Flash | Claude Haiku 4.5 | Fast/cheap model for quick searches |
|
|
258
|
+
| **Frontend Engineer** | Gemini 3 Pro | Claude Sonnet | Was Google's model |
|
|
259
|
+
| **Document Writer** | Gemini 3 Flash | Claude Haiku 4.5 | Fast model for docs |
|
|
260
|
+
| **Multimodal Looker** | Various | Claude Sonnet | Visual analysis |
|
|
261
|
+
| **Momus** | GPT-5.2 | Claude Opus | Plan reviewer (Greek god of criticism) |
|
|
262
|
+
| **Metis** | Claude Opus 4.5 | Claude Opus | Pre-planning consultant (goddess of wisdom) |
|
|
263
|
+
| **Orchestrator-Sisyphus** | Claude Sonnet 4.5 | Claude Sonnet | Todo coordination and delegation |
|
|
264
|
+
| **Sisyphus-Junior** | Configurable | Claude Sonnet | Focused task executor |
|
|
265
|
+
| **Prometheus** | Planning System | Claude Opus | Strategic planner (fire-bringer) |
|
|
266
|
+
|
|
267
|
+
**Why Claude-only?** The Claude Agent SDK is designed for Claude models. Using Claude throughout provides:
|
|
268
|
+
- Consistent behavior and capabilities
|
|
269
|
+
- Simpler authentication (single API key)
|
|
270
|
+
- Native integration with Claude Code's tools
|
|
271
|
+
|
|
272
|
+
### Tools Comparison
|
|
273
|
+
|
|
274
|
+
#### Available Tools (via Claude Code)
|
|
275
|
+
|
|
276
|
+
| Tool | Status | Description |
|
|
277
|
+
|------|--------|-------------|
|
|
278
|
+
| **Read** | ✅ Available | Read files |
|
|
279
|
+
| **Write** | ✅ Available | Create files |
|
|
280
|
+
| **Edit** | ✅ Available | Modify files |
|
|
281
|
+
| **Bash** | ✅ Available | Run shell commands |
|
|
282
|
+
| **Glob** | ✅ Available | Find files by pattern |
|
|
283
|
+
| **Grep** | ✅ Available | Search file contents |
|
|
284
|
+
| **WebSearch** | ✅ Available | Search the web |
|
|
285
|
+
| **WebFetch** | ✅ Available | Fetch web pages |
|
|
286
|
+
| **Task** | ✅ Available | Spawn subagents |
|
|
287
|
+
| **TodoWrite** | ✅ Available | Track tasks |
|
|
288
|
+
|
|
289
|
+
#### LSP Tools (Real Implementation)
|
|
290
|
+
|
|
291
|
+
| Tool | Status | Description |
|
|
292
|
+
|------|--------|-------------|
|
|
293
|
+
| **lsp_hover** | ✅ Implemented | Get type info and documentation at position |
|
|
294
|
+
| **lsp_goto_definition** | ✅ Implemented | Jump to symbol definition |
|
|
295
|
+
| **lsp_find_references** | ✅ Implemented | Find all usages of a symbol |
|
|
296
|
+
| **lsp_document_symbols** | ✅ Implemented | Get file outline (functions, classes, etc.) |
|
|
297
|
+
| **lsp_workspace_symbols** | ✅ Implemented | Search symbols across workspace |
|
|
298
|
+
| **lsp_diagnostics** | ✅ Implemented | Get errors, warnings, hints |
|
|
299
|
+
| **lsp_prepare_rename** | ✅ Implemented | Check if rename is valid |
|
|
300
|
+
| **lsp_rename** | ✅ Implemented | Rename symbol across project |
|
|
301
|
+
| **lsp_code_actions** | ✅ Implemented | Get available refactorings |
|
|
302
|
+
| **lsp_code_action_resolve** | ✅ Implemented | Get details of a code action |
|
|
303
|
+
| **lsp_servers** | ✅ Implemented | List available language servers |
|
|
304
|
+
|
|
305
|
+
> **Note:** LSP tools require language servers to be installed (typescript-language-server, pylsp, rust-analyzer, gopls, etc.). Use `lsp_servers` to check installation status.
|
|
306
|
+
|
|
307
|
+
#### AST Tools (ast-grep Integration)
|
|
308
|
+
|
|
309
|
+
| Tool | Status | Description |
|
|
310
|
+
|------|--------|-------------|
|
|
311
|
+
| **ast_grep_search** | ✅ Implemented | Pattern-based code search using AST matching |
|
|
312
|
+
| **ast_grep_replace** | ✅ Implemented | Pattern-based code transformation |
|
|
313
|
+
|
|
314
|
+
> **Note:** AST tools use [@ast-grep/napi](https://ast-grep.github.io/) for structural code matching. Supports meta-variables like `$VAR` (single node) and `$$$` (multiple nodes).
|
|
315
|
+
|
|
316
|
+
### Features Comparison
|
|
317
|
+
|
|
318
|
+
#### Fully Implemented ✅
|
|
319
|
+
|
|
320
|
+
| Feature | Description |
|
|
321
|
+
|---------|-------------|
|
|
322
|
+
| **11 Specialized Agents** | Oracle, Librarian, Explore, Frontend Engineer, Document Writer, Multimodal Looker, Momus, Metis, Orchestrator-Sisyphus, Sisyphus-Junior, Prometheus |
|
|
323
|
+
| **Magic Keywords** | `ultrawork`, `search`, `analyze` trigger enhanced modes |
|
|
324
|
+
| **Slash Commands** | `/sisyphus`, `/sisyphus-default`, `/ultrawork`, `/deepsearch`, `/analyze`, `/plan`, `/review` |
|
|
325
|
+
| **Configuration System** | JSONC config with multi-source merging |
|
|
326
|
+
| **Context Injection** | Auto-loads CLAUDE.md and AGENTS.md files |
|
|
327
|
+
| **Continuation Enforcement** | System prompt enforces task completion |
|
|
328
|
+
| **MCP Server Configs** | Exa, Context7, grep.app server definitions |
|
|
329
|
+
| **LSP Tools** | Real LSP server integration with 11 tools |
|
|
330
|
+
| **AST Tools** | ast-grep integration for structural code search/replace |
|
|
331
|
+
|
|
332
|
+
#### Partially Implemented ⚠️
|
|
333
|
+
|
|
334
|
+
| Feature | What Works | What's Missing |
|
|
335
|
+
|---------|------------|----------------|
|
|
336
|
+
| **Continuation Hook** | System prompt enforcement | Actual todo state checking |
|
|
337
|
+
|
|
338
|
+
#### Not Implemented ❌
|
|
339
|
+
|
|
340
|
+
| Feature | Original Capability | Why Not Ported |
|
|
341
|
+
|---------|---------------------|----------------|
|
|
342
|
+
| **22 Lifecycle Hooks** | PreToolUse, PostToolUse, Stop, etc. | Claude Code handles hooks differently |
|
|
343
|
+
| **Background Task Manager** | Async agent execution with concurrency limits | Claude Code's Task tool handles this |
|
|
344
|
+
| **Context Window Compaction** | Multi-stage recovery when hitting token limits | Claude Code manages this internally |
|
|
345
|
+
| **Thinking Block Validator** | Validates AI thinking format | Not needed for Claude |
|
|
346
|
+
| **Multi-Model Routing** | Route to GPT/Gemini/Grok based on task | Claude-only by design |
|
|
347
|
+
| **Per-Model Concurrency** | Fine-grained concurrency per provider | Single provider simplifies this |
|
|
348
|
+
| **Interactive Bash + Tmux** | Advanced terminal with Tmux integration | Standard Bash tool sufficient |
|
|
349
|
+
|
|
350
|
+
### Architecture Differences
|
|
351
|
+
|
|
352
|
+
```
|
|
353
|
+
oh-my-opencode (Original) oh-my-claude-sisyphus (Port)
|
|
354
|
+
───────────────────────── ────────────────────────────
|
|
355
|
+
┌─────────────────────┐ ┌─────────────────────┐
|
|
356
|
+
│ OpenCode Plugin │ │ Claude Code │
|
|
357
|
+
│ (Bun runtime) │ │ (Native CLI) │
|
|
358
|
+
└─────────┬───────────┘ └─────────┬───────────┘
|
|
359
|
+
│ │
|
|
360
|
+
┌─────────▼───────────┐ ┌─────────▼───────────┐
|
|
361
|
+
│ Multi-Provider │ │ Claude Agent SDK │
|
|
362
|
+
│ Orchestration │ │ (Claude only) │
|
|
363
|
+
│ ┌───┐ ┌───┐ ┌───┐ │ └─────────┬───────────┘
|
|
364
|
+
│ │GPT│ │Gem│ │Grok│ │ │
|
|
365
|
+
│ └───┘ └───┘ └───┘ │ ┌─────────▼───────────┐
|
|
366
|
+
└─────────┬───────────┘ │ ~/.claude/agents/ │
|
|
367
|
+
│ │ (Markdown configs) │
|
|
368
|
+
┌─────────▼───────────┐ └─────────────────────┘
|
|
369
|
+
│ Custom Tool Layer │
|
|
370
|
+
│ (LSP, AST, etc.) │
|
|
371
|
+
└─────────────────────┘
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
**Key Architectural Changes:**
|
|
375
|
+
|
|
376
|
+
1. **Plugin → Native Integration**: Original was an OpenCode plugin; this uses Claude Code's native agent/command system
|
|
377
|
+
2. **Multi-Provider → Single Provider**: Simplified to Claude-only for consistency
|
|
378
|
+
3. **Custom Runtime → Claude Code Runtime**: Leverages Claude Code's built-in capabilities
|
|
379
|
+
4. **Programmatic Config → Markdown Files**: Agents defined as `.md` files in `~/.claude/agents/`
|
|
380
|
+
|
|
381
|
+
### What You Gain
|
|
382
|
+
|
|
383
|
+
- **Simpler Setup**: One curl command vs. multi-step plugin installation
|
|
384
|
+
- **Native Integration**: Works directly with Claude Code, no plugin layer
|
|
385
|
+
- **Consistent Behavior**: All agents use Claude, no cross-model quirks
|
|
386
|
+
- **Easier Customization**: Edit markdown files to customize agents
|
|
387
|
+
|
|
388
|
+
### What You Lose
|
|
389
|
+
|
|
390
|
+
- **Model Diversity**: Can't use GPT-5.2 for Oracle's deep reasoning
|
|
391
|
+
- **Advanced Hooks**: Fewer lifecycle interception points (22 hooks → system prompt enforcement)
|
|
392
|
+
|
|
393
|
+
### Migration Tips
|
|
394
|
+
|
|
395
|
+
If you're coming from oh-my-opencode:
|
|
396
|
+
|
|
397
|
+
1. **Oracle Tasks**: Claude Opus handles architecture/debugging well, but differently than GPT-5.2
|
|
398
|
+
2. **LSP Workflows**: All LSP tools are available! Use `lsp_servers` to check which servers are installed
|
|
399
|
+
3. **AST Searches**: Use `ast_grep_search` with pattern syntax (e.g., `function $NAME($$$)`)
|
|
400
|
+
4. **Background Tasks**: Claude Code's `Task` tool with `run_in_background` works similarly
|
|
401
|
+
5. **Planning**: Use `/plan` command to start a planning session with Prometheus
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## Requirements
|
|
406
|
+
|
|
407
|
+
- [Claude Code](https://docs.anthropic.com/claude-code) installed
|
|
408
|
+
- Anthropic API key (`ANTHROPIC_API_KEY` environment variable)
|
|
409
|
+
|
|
410
|
+
## License
|
|
411
|
+
|
|
412
|
+
MIT - see [LICENSE](LICENSE)
|
|
413
|
+
|
|
414
|
+
## Credits
|
|
415
|
+
|
|
416
|
+
Inspired by [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) by code-yeongyu.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Definitions for Oh-My-Claude-Sisyphus
|
|
3
|
+
*
|
|
4
|
+
* This module defines all the specialized subagents that work under
|
|
5
|
+
* the Sisyphus orchestrator. Each agent has a specific role and toolset.
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentConfig, ModelType } from '../shared/types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Oracle Agent - Architecture and Debugging Expert
|
|
10
|
+
* Primary model: GPT-5.2 equivalent (in Claude context: opus for complex reasoning)
|
|
11
|
+
*/
|
|
12
|
+
export declare const oracleAgent: AgentConfig;
|
|
13
|
+
/**
|
|
14
|
+
* Librarian Agent - Documentation and Codebase Analysis
|
|
15
|
+
* Fast, efficient for documentation lookup and code navigation
|
|
16
|
+
*/
|
|
17
|
+
export declare const librarianAgent: AgentConfig;
|
|
18
|
+
/**
|
|
19
|
+
* Explore Agent - Fast Pattern Matching and Code Search
|
|
20
|
+
* Optimized for quick searches and broad exploration
|
|
21
|
+
*/
|
|
22
|
+
export declare const exploreAgent: AgentConfig;
|
|
23
|
+
/**
|
|
24
|
+
* Frontend UI/UX Engineer Agent - Interface Design Specialist
|
|
25
|
+
*/
|
|
26
|
+
export declare const frontendEngineerAgent: AgentConfig;
|
|
27
|
+
/**
|
|
28
|
+
* Document Writer Agent - Technical Writing Specialist
|
|
29
|
+
*/
|
|
30
|
+
export declare const documentWriterAgent: AgentConfig;
|
|
31
|
+
/**
|
|
32
|
+
* Multimodal Looker Agent - Visual Content Analysis
|
|
33
|
+
*/
|
|
34
|
+
export declare const multimodalLookerAgent: AgentConfig;
|
|
35
|
+
/**
|
|
36
|
+
* Get all agent definitions as a record for use with Claude Agent SDK
|
|
37
|
+
*/
|
|
38
|
+
export declare function getAgentDefinitions(overrides?: Partial<Record<string, Partial<AgentConfig>>>): Record<string, {
|
|
39
|
+
description: string;
|
|
40
|
+
prompt: string;
|
|
41
|
+
tools: string[];
|
|
42
|
+
model?: ModelType;
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Sisyphus System Prompt - The main orchestrator
|
|
46
|
+
*/
|
|
47
|
+
export declare const sisyphusSystemPrompt = "You are Sisyphus, the primary orchestrator of a multi-agent development system.\n\n## Your Role\nYou coordinate specialized subagents to accomplish complex software engineering tasks. Like your namesake, you persist until the task is complete - never giving up, never leaving work unfinished.\n\n## Available Subagents\n- **oracle**: Architecture and debugging expert (use for complex problems)\n- **librarian**: Documentation and codebase analysis (use for research)\n- **explore**: Fast pattern matching (use for quick searches)\n- **frontend-engineer**: UI/UX specialist (use for frontend work)\n- **document-writer**: Technical writing (use for documentation)\n- **multimodal-looker**: Visual analysis (use for image/screenshot analysis)\n\n## Orchestration Principles\n1. **Delegate Wisely**: Use subagents for specialized tasks rather than doing everything yourself\n2. **Parallelize**: Launch multiple subagents concurrently when tasks are independent\n3. **Persist**: Continue until ALL tasks are complete - check your todo list before stopping\n4. **Communicate**: Keep the user informed of progress and decisions\n5. **Quality**: Verify work before declaring completion\n\n## Workflow\n1. Analyze the user's request and break it into tasks\n2. Delegate to appropriate subagents based on task type\n3. Coordinate results and handle any issues\n4. Verify completion and quality\n5. Only stop when everything is done\n\n## Critical Rules\n- NEVER stop with incomplete work\n- ALWAYS verify task completion before finishing\n- Use parallel execution when possible for speed\n- Report progress regularly\n- Ask clarifying questions when requirements are ambiguous";
|
|
48
|
+
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,WA6BzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,WA6B5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,WA6B1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WA8BnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,WA8BjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WA8BnC,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;IAC7G,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC,CAuBD;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,yoDAgC0B,CAAC"}
|