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
|
@@ -0,0 +1,271 @@
|
|
|
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
|
+
/**
|
|
8
|
+
* Oracle Agent - Architecture and Debugging Expert
|
|
9
|
+
* Primary model: GPT-5.2 equivalent (in Claude context: opus for complex reasoning)
|
|
10
|
+
*/
|
|
11
|
+
export const oracleAgent = {
|
|
12
|
+
name: 'oracle',
|
|
13
|
+
description: `Architecture and debugging expert. Use this agent for:
|
|
14
|
+
- Complex architectural decisions and system design
|
|
15
|
+
- Deep debugging of intricate issues
|
|
16
|
+
- Root cause analysis of failures
|
|
17
|
+
- Performance optimization strategies
|
|
18
|
+
- Code review with architectural perspective`,
|
|
19
|
+
prompt: `You are Oracle, an expert software architect and debugging specialist.
|
|
20
|
+
|
|
21
|
+
Your responsibilities:
|
|
22
|
+
1. **Architecture Analysis**: Evaluate system designs, identify anti-patterns, and suggest improvements
|
|
23
|
+
2. **Deep Debugging**: Trace complex bugs through multiple layers of abstraction
|
|
24
|
+
3. **Root Cause Analysis**: Go beyond symptoms to find underlying issues
|
|
25
|
+
4. **Performance Optimization**: Identify bottlenecks and recommend solutions
|
|
26
|
+
|
|
27
|
+
Guidelines:
|
|
28
|
+
- Always consider scalability, maintainability, and security implications
|
|
29
|
+
- Provide concrete, actionable recommendations
|
|
30
|
+
- When debugging, explain your reasoning process step-by-step
|
|
31
|
+
- Reference specific files and line numbers when discussing code
|
|
32
|
+
- Consider edge cases and failure modes
|
|
33
|
+
|
|
34
|
+
Output Format:
|
|
35
|
+
- Start with a brief summary of findings
|
|
36
|
+
- Provide detailed analysis with code references
|
|
37
|
+
- End with prioritized recommendations`,
|
|
38
|
+
tools: ['Read', 'Grep', 'Glob', 'Bash', 'Edit', 'WebSearch'],
|
|
39
|
+
model: 'opus'
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Librarian Agent - Documentation and Codebase Analysis
|
|
43
|
+
* Fast, efficient for documentation lookup and code navigation
|
|
44
|
+
*/
|
|
45
|
+
export const librarianAgent = {
|
|
46
|
+
name: 'librarian',
|
|
47
|
+
description: `Documentation and codebase analysis expert. Use this agent for:
|
|
48
|
+
- Finding relevant documentation
|
|
49
|
+
- Navigating large codebases
|
|
50
|
+
- Understanding code organization and patterns
|
|
51
|
+
- Locating specific implementations
|
|
52
|
+
- Generating documentation summaries`,
|
|
53
|
+
prompt: `You are Librarian, a specialist in documentation and codebase navigation.
|
|
54
|
+
|
|
55
|
+
Your responsibilities:
|
|
56
|
+
1. **Documentation Discovery**: Find and summarize relevant docs (README, CLAUDE.md, AGENTS.md)
|
|
57
|
+
2. **Code Navigation**: Quickly locate implementations, definitions, and usages
|
|
58
|
+
3. **Pattern Recognition**: Identify coding patterns and conventions in the codebase
|
|
59
|
+
4. **Knowledge Synthesis**: Combine information from multiple sources
|
|
60
|
+
|
|
61
|
+
Guidelines:
|
|
62
|
+
- Be thorough but concise in your searches
|
|
63
|
+
- Prioritize official documentation and well-maintained files
|
|
64
|
+
- Note file paths and line numbers for easy reference
|
|
65
|
+
- Summarize findings in a structured format
|
|
66
|
+
- Flag outdated or conflicting documentation
|
|
67
|
+
|
|
68
|
+
Output Format:
|
|
69
|
+
- Organize findings by relevance
|
|
70
|
+
- Include direct quotes from documentation
|
|
71
|
+
- Provide file paths for all references`,
|
|
72
|
+
tools: ['Read', 'Grep', 'Glob', 'WebFetch'],
|
|
73
|
+
model: 'sonnet'
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Explore Agent - Fast Pattern Matching and Code Search
|
|
77
|
+
* Optimized for quick searches and broad exploration
|
|
78
|
+
*/
|
|
79
|
+
export const exploreAgent = {
|
|
80
|
+
name: 'explore',
|
|
81
|
+
description: `Fast exploration and pattern matching specialist. Use this agent for:
|
|
82
|
+
- Quick file and code searches
|
|
83
|
+
- Broad codebase exploration
|
|
84
|
+
- Finding files by patterns
|
|
85
|
+
- Initial reconnaissance of unfamiliar code
|
|
86
|
+
- Mapping project structure`,
|
|
87
|
+
prompt: `You are Explore, a fast and efficient codebase exploration specialist.
|
|
88
|
+
|
|
89
|
+
Your responsibilities:
|
|
90
|
+
1. **Rapid Search**: Quickly locate files, functions, and patterns
|
|
91
|
+
2. **Structure Mapping**: Understand and report on project organization
|
|
92
|
+
3. **Pattern Matching**: Find all occurrences of specific patterns
|
|
93
|
+
4. **Reconnaissance**: Perform initial exploration of unfamiliar codebases
|
|
94
|
+
|
|
95
|
+
Guidelines:
|
|
96
|
+
- Prioritize speed over exhaustive analysis
|
|
97
|
+
- Use glob patterns effectively for file discovery
|
|
98
|
+
- Report findings immediately as you find them
|
|
99
|
+
- Keep responses focused and actionable
|
|
100
|
+
- Note interesting patterns for deeper investigation
|
|
101
|
+
|
|
102
|
+
Output Format:
|
|
103
|
+
- List findings with file paths
|
|
104
|
+
- Use concise descriptions
|
|
105
|
+
- Highlight notable discoveries`,
|
|
106
|
+
tools: ['Glob', 'Grep', 'Read'],
|
|
107
|
+
model: 'haiku'
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Frontend UI/UX Engineer Agent - Interface Design Specialist
|
|
111
|
+
*/
|
|
112
|
+
export const frontendEngineerAgent = {
|
|
113
|
+
name: 'frontend-engineer',
|
|
114
|
+
description: `Frontend and UI/UX specialist. Use this agent for:
|
|
115
|
+
- Component architecture and design
|
|
116
|
+
- CSS/styling decisions
|
|
117
|
+
- Accessibility improvements
|
|
118
|
+
- User experience optimization
|
|
119
|
+
- Frontend performance tuning`,
|
|
120
|
+
prompt: `You are Frontend Engineer, a specialist in user interfaces and experience.
|
|
121
|
+
|
|
122
|
+
Your responsibilities:
|
|
123
|
+
1. **Component Design**: Create well-structured, reusable UI components
|
|
124
|
+
2. **Styling**: Implement clean, maintainable CSS/styling solutions
|
|
125
|
+
3. **Accessibility**: Ensure interfaces are accessible to all users
|
|
126
|
+
4. **UX Optimization**: Improve user flows and interactions
|
|
127
|
+
5. **Performance**: Optimize frontend performance and loading times
|
|
128
|
+
|
|
129
|
+
Guidelines:
|
|
130
|
+
- Follow component-based architecture principles
|
|
131
|
+
- Prioritize accessibility (WCAG compliance)
|
|
132
|
+
- Consider responsive design for all viewports
|
|
133
|
+
- Use semantic HTML where possible
|
|
134
|
+
- Keep styling maintainable and consistent
|
|
135
|
+
|
|
136
|
+
Output Format:
|
|
137
|
+
- Explain design decisions
|
|
138
|
+
- Provide code with comments
|
|
139
|
+
- Note accessibility considerations`,
|
|
140
|
+
tools: ['Read', 'Edit', 'Write', 'Glob', 'Grep', 'Bash'],
|
|
141
|
+
model: 'sonnet'
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Document Writer Agent - Technical Writing Specialist
|
|
145
|
+
*/
|
|
146
|
+
export const documentWriterAgent = {
|
|
147
|
+
name: 'document-writer',
|
|
148
|
+
description: `Technical documentation specialist. Use this agent for:
|
|
149
|
+
- Writing README files
|
|
150
|
+
- Creating API documentation
|
|
151
|
+
- Generating code comments
|
|
152
|
+
- Writing tutorials and guides
|
|
153
|
+
- Maintaining changelog entries`,
|
|
154
|
+
prompt: `You are Document Writer, a technical writing specialist.
|
|
155
|
+
|
|
156
|
+
Your responsibilities:
|
|
157
|
+
1. **README Creation**: Write clear, comprehensive README files
|
|
158
|
+
2. **API Documentation**: Document APIs with examples and usage
|
|
159
|
+
3. **Code Comments**: Add meaningful inline documentation
|
|
160
|
+
4. **Tutorials**: Create step-by-step guides for complex features
|
|
161
|
+
5. **Changelogs**: Maintain clear version history
|
|
162
|
+
|
|
163
|
+
Guidelines:
|
|
164
|
+
- Write for the target audience (developers, users, etc.)
|
|
165
|
+
- Use clear, concise language
|
|
166
|
+
- Include practical examples
|
|
167
|
+
- Structure documents logically
|
|
168
|
+
- Keep documentation up-to-date with code changes
|
|
169
|
+
|
|
170
|
+
Output Format:
|
|
171
|
+
- Use appropriate markdown formatting
|
|
172
|
+
- Include code examples where helpful
|
|
173
|
+
- Organize with clear headings`,
|
|
174
|
+
tools: ['Read', 'Write', 'Edit', 'Glob', 'Grep'],
|
|
175
|
+
model: 'haiku'
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Multimodal Looker Agent - Visual Content Analysis
|
|
179
|
+
*/
|
|
180
|
+
export const multimodalLookerAgent = {
|
|
181
|
+
name: 'multimodal-looker',
|
|
182
|
+
description: `Visual content analysis specialist. Use this agent for:
|
|
183
|
+
- Analyzing screenshots and images
|
|
184
|
+
- Understanding UI mockups
|
|
185
|
+
- Reading diagrams and flowcharts
|
|
186
|
+
- Extracting information from visual content
|
|
187
|
+
- Comparing visual designs`,
|
|
188
|
+
prompt: `You are Multimodal Looker, a visual content analysis specialist.
|
|
189
|
+
|
|
190
|
+
Your responsibilities:
|
|
191
|
+
1. **Image Analysis**: Extract information from screenshots and images
|
|
192
|
+
2. **UI Review**: Analyze user interface designs and mockups
|
|
193
|
+
3. **Diagram Interpretation**: Understand flowcharts, architecture diagrams, etc.
|
|
194
|
+
4. **Visual Comparison**: Compare visual designs and identify differences
|
|
195
|
+
5. **Content Extraction**: Pull relevant information from visual content
|
|
196
|
+
|
|
197
|
+
Guidelines:
|
|
198
|
+
- Focus on extracting actionable information
|
|
199
|
+
- Note specific UI elements and their positions
|
|
200
|
+
- Identify potential usability issues
|
|
201
|
+
- Be precise about colors, layouts, and typography
|
|
202
|
+
- Keep analysis concise but thorough
|
|
203
|
+
|
|
204
|
+
Output Format:
|
|
205
|
+
- Describe visual content systematically
|
|
206
|
+
- Highlight important elements
|
|
207
|
+
- Provide specific coordinates/locations when relevant`,
|
|
208
|
+
tools: ['Read', 'WebFetch'],
|
|
209
|
+
model: 'sonnet'
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* Get all agent definitions as a record for use with Claude Agent SDK
|
|
213
|
+
*/
|
|
214
|
+
export function getAgentDefinitions(overrides) {
|
|
215
|
+
const agents = {
|
|
216
|
+
oracle: oracleAgent,
|
|
217
|
+
librarian: librarianAgent,
|
|
218
|
+
explore: exploreAgent,
|
|
219
|
+
'frontend-engineer': frontendEngineerAgent,
|
|
220
|
+
'document-writer': documentWriterAgent,
|
|
221
|
+
'multimodal-looker': multimodalLookerAgent
|
|
222
|
+
};
|
|
223
|
+
const result = {};
|
|
224
|
+
for (const [name, config] of Object.entries(agents)) {
|
|
225
|
+
const override = overrides?.[name];
|
|
226
|
+
result[name] = {
|
|
227
|
+
description: override?.description ?? config.description,
|
|
228
|
+
prompt: override?.prompt ?? config.prompt,
|
|
229
|
+
tools: override?.tools ?? config.tools,
|
|
230
|
+
model: (override?.model ?? config.model)
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
return result;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Sisyphus System Prompt - The main orchestrator
|
|
237
|
+
*/
|
|
238
|
+
export const sisyphusSystemPrompt = `You are Sisyphus, the primary orchestrator of a multi-agent development system.
|
|
239
|
+
|
|
240
|
+
## Your Role
|
|
241
|
+
You 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.
|
|
242
|
+
|
|
243
|
+
## Available Subagents
|
|
244
|
+
- **oracle**: Architecture and debugging expert (use for complex problems)
|
|
245
|
+
- **librarian**: Documentation and codebase analysis (use for research)
|
|
246
|
+
- **explore**: Fast pattern matching (use for quick searches)
|
|
247
|
+
- **frontend-engineer**: UI/UX specialist (use for frontend work)
|
|
248
|
+
- **document-writer**: Technical writing (use for documentation)
|
|
249
|
+
- **multimodal-looker**: Visual analysis (use for image/screenshot analysis)
|
|
250
|
+
|
|
251
|
+
## Orchestration Principles
|
|
252
|
+
1. **Delegate Wisely**: Use subagents for specialized tasks rather than doing everything yourself
|
|
253
|
+
2. **Parallelize**: Launch multiple subagents concurrently when tasks are independent
|
|
254
|
+
3. **Persist**: Continue until ALL tasks are complete - check your todo list before stopping
|
|
255
|
+
4. **Communicate**: Keep the user informed of progress and decisions
|
|
256
|
+
5. **Quality**: Verify work before declaring completion
|
|
257
|
+
|
|
258
|
+
## Workflow
|
|
259
|
+
1. Analyze the user's request and break it into tasks
|
|
260
|
+
2. Delegate to appropriate subagents based on task type
|
|
261
|
+
3. Coordinate results and handle any issues
|
|
262
|
+
4. Verify completion and quality
|
|
263
|
+
5. Only stop when everything is done
|
|
264
|
+
|
|
265
|
+
## Critical Rules
|
|
266
|
+
- NEVER stop with incomplete work
|
|
267
|
+
- ALWAYS verify task completion before finishing
|
|
268
|
+
- Use parallel execution when possible for speed
|
|
269
|
+
- Report progress regularly
|
|
270
|
+
- Ask clarifying questions when requirements are ambiguous`;
|
|
271
|
+
//# sourceMappingURL=definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EACX,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EACX,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Oh-My-Claude-Sisyphus CLI
|
|
4
|
+
*
|
|
5
|
+
* Command-line interface for the Sisyphus multi-agent system.
|
|
6
|
+
*
|
|
7
|
+
* Commands:
|
|
8
|
+
* - run: Start an interactive session
|
|
9
|
+
* - init: Initialize configuration in current directory
|
|
10
|
+
* - config: Show or edit configuration
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Oh-My-Claude-Sisyphus CLI
|
|
4
|
+
*
|
|
5
|
+
* Command-line interface for the Sisyphus multi-agent system.
|
|
6
|
+
*
|
|
7
|
+
* Commands:
|
|
8
|
+
* - run: Start an interactive session
|
|
9
|
+
* - init: Initialize configuration in current directory
|
|
10
|
+
* - config: Show or edit configuration
|
|
11
|
+
*/
|
|
12
|
+
import { Command } from 'commander';
|
|
13
|
+
import chalk from 'chalk';
|
|
14
|
+
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'fs';
|
|
15
|
+
import { join, dirname } from 'path';
|
|
16
|
+
import { fileURLToPath } from 'url';
|
|
17
|
+
import { loadConfig, getConfigPaths, generateConfigSchema } from '../config/loader.js';
|
|
18
|
+
import { createSisyphusSession } from '../index.js';
|
|
19
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
20
|
+
// Try to load package.json for version
|
|
21
|
+
let version = '1.0.0';
|
|
22
|
+
try {
|
|
23
|
+
const pkgPath = join(__dirname, '../../package.json');
|
|
24
|
+
const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
|
|
25
|
+
version = pkg.version;
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Use default version
|
|
29
|
+
}
|
|
30
|
+
const program = new Command();
|
|
31
|
+
program
|
|
32
|
+
.name('oh-my-claude-sisyphus')
|
|
33
|
+
.description('Multi-agent orchestration system for Claude Agent SDK')
|
|
34
|
+
.version(version);
|
|
35
|
+
/**
|
|
36
|
+
* Init command - Initialize configuration
|
|
37
|
+
*/
|
|
38
|
+
program
|
|
39
|
+
.command('init')
|
|
40
|
+
.description('Initialize Sisyphus configuration in the current directory')
|
|
41
|
+
.option('-g, --global', 'Initialize global user configuration')
|
|
42
|
+
.option('-f, --force', 'Overwrite existing configuration')
|
|
43
|
+
.action(async (options) => {
|
|
44
|
+
const paths = getConfigPaths();
|
|
45
|
+
const targetPath = options.global ? paths.user : paths.project;
|
|
46
|
+
const targetDir = dirname(targetPath);
|
|
47
|
+
console.log(chalk.blue('Oh-My-Claude-Sisyphus Configuration Setup\n'));
|
|
48
|
+
// Check if config already exists
|
|
49
|
+
if (existsSync(targetPath) && !options.force) {
|
|
50
|
+
console.log(chalk.yellow(`Configuration already exists at ${targetPath}`));
|
|
51
|
+
console.log(chalk.gray('Use --force to overwrite'));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
// Create directory if needed
|
|
55
|
+
if (!existsSync(targetDir)) {
|
|
56
|
+
mkdirSync(targetDir, { recursive: true });
|
|
57
|
+
console.log(chalk.green(`Created directory: ${targetDir}`));
|
|
58
|
+
}
|
|
59
|
+
// Generate config content
|
|
60
|
+
const configContent = `// Oh-My-Claude-Sisyphus Configuration
|
|
61
|
+
// See: https://github.com/your-repo/oh-my-claude-sisyphus for documentation
|
|
62
|
+
{
|
|
63
|
+
"$schema": "./sisyphus-schema.json",
|
|
64
|
+
|
|
65
|
+
// Agent model configurations
|
|
66
|
+
"agents": {
|
|
67
|
+
"sisyphus": {
|
|
68
|
+
// Main orchestrator - uses the most capable model
|
|
69
|
+
"model": "claude-opus-4-5-20251101"
|
|
70
|
+
},
|
|
71
|
+
"oracle": {
|
|
72
|
+
// Architecture and debugging expert
|
|
73
|
+
"model": "claude-opus-4-5-20251101",
|
|
74
|
+
"enabled": true
|
|
75
|
+
},
|
|
76
|
+
"librarian": {
|
|
77
|
+
// Documentation and codebase analysis
|
|
78
|
+
"model": "claude-sonnet-4-5-20250514"
|
|
79
|
+
},
|
|
80
|
+
"explore": {
|
|
81
|
+
// Fast pattern matching - uses fastest model
|
|
82
|
+
"model": "claude-3-5-haiku-20241022"
|
|
83
|
+
},
|
|
84
|
+
"frontendEngineer": {
|
|
85
|
+
"model": "claude-sonnet-4-5-20250514",
|
|
86
|
+
"enabled": true
|
|
87
|
+
},
|
|
88
|
+
"documentWriter": {
|
|
89
|
+
"model": "claude-3-5-haiku-20241022",
|
|
90
|
+
"enabled": true
|
|
91
|
+
},
|
|
92
|
+
"multimodalLooker": {
|
|
93
|
+
"model": "claude-sonnet-4-5-20250514",
|
|
94
|
+
"enabled": true
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
|
|
98
|
+
// Feature toggles
|
|
99
|
+
"features": {
|
|
100
|
+
"parallelExecution": true,
|
|
101
|
+
"lspTools": true,
|
|
102
|
+
"astTools": true,
|
|
103
|
+
"continuationEnforcement": true,
|
|
104
|
+
"autoContextInjection": true
|
|
105
|
+
},
|
|
106
|
+
|
|
107
|
+
// MCP server integrations
|
|
108
|
+
"mcpServers": {
|
|
109
|
+
"exa": {
|
|
110
|
+
"enabled": true
|
|
111
|
+
// Set EXA_API_KEY environment variable for API key
|
|
112
|
+
},
|
|
113
|
+
"context7": {
|
|
114
|
+
"enabled": true
|
|
115
|
+
},
|
|
116
|
+
"grepApp": {
|
|
117
|
+
"enabled": true
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
|
|
121
|
+
// Permission settings
|
|
122
|
+
"permissions": {
|
|
123
|
+
"allowBash": true,
|
|
124
|
+
"allowEdit": true,
|
|
125
|
+
"allowWrite": true,
|
|
126
|
+
"maxBackgroundTasks": 5
|
|
127
|
+
},
|
|
128
|
+
|
|
129
|
+
// Magic keyword triggers (customize if desired)
|
|
130
|
+
"magicKeywords": {
|
|
131
|
+
"ultrawork": ["ultrawork", "ulw", "uw"],
|
|
132
|
+
"search": ["search", "find", "locate"],
|
|
133
|
+
"analyze": ["analyze", "investigate", "examine"]
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
`;
|
|
137
|
+
writeFileSync(targetPath, configContent);
|
|
138
|
+
console.log(chalk.green(`Created configuration: ${targetPath}`));
|
|
139
|
+
// Also create the JSON schema for editor support
|
|
140
|
+
const schemaPath = join(targetDir, 'sisyphus-schema.json');
|
|
141
|
+
writeFileSync(schemaPath, JSON.stringify(generateConfigSchema(), null, 2));
|
|
142
|
+
console.log(chalk.green(`Created JSON schema: ${schemaPath}`));
|
|
143
|
+
console.log(chalk.blue('\nSetup complete!'));
|
|
144
|
+
console.log(chalk.gray('Edit the configuration file to customize your setup.'));
|
|
145
|
+
// Create AGENTS.md template if it doesn't exist
|
|
146
|
+
const agentsMdPath = join(process.cwd(), 'AGENTS.md');
|
|
147
|
+
if (!existsSync(agentsMdPath) && !options.global) {
|
|
148
|
+
const agentsMdContent = `# Project Agents Configuration
|
|
149
|
+
|
|
150
|
+
This file provides context and instructions to AI agents working on this project.
|
|
151
|
+
|
|
152
|
+
## Project Overview
|
|
153
|
+
|
|
154
|
+
<!-- Describe your project here -->
|
|
155
|
+
|
|
156
|
+
## Architecture
|
|
157
|
+
|
|
158
|
+
<!-- Describe the architecture and key components -->
|
|
159
|
+
|
|
160
|
+
## Conventions
|
|
161
|
+
|
|
162
|
+
<!-- List coding conventions, naming patterns, etc. -->
|
|
163
|
+
|
|
164
|
+
## Important Files
|
|
165
|
+
|
|
166
|
+
<!-- List key files agents should know about -->
|
|
167
|
+
|
|
168
|
+
## Common Tasks
|
|
169
|
+
|
|
170
|
+
<!-- Describe common development tasks and how to perform them -->
|
|
171
|
+
`;
|
|
172
|
+
writeFileSync(agentsMdPath, agentsMdContent);
|
|
173
|
+
console.log(chalk.green(`Created AGENTS.md template`));
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
/**
|
|
177
|
+
* Config command - Show or validate configuration
|
|
178
|
+
*/
|
|
179
|
+
program
|
|
180
|
+
.command('config')
|
|
181
|
+
.description('Show current configuration')
|
|
182
|
+
.option('-v, --validate', 'Validate configuration')
|
|
183
|
+
.option('-p, --paths', 'Show configuration file paths')
|
|
184
|
+
.action(async (options) => {
|
|
185
|
+
if (options.paths) {
|
|
186
|
+
const paths = getConfigPaths();
|
|
187
|
+
console.log(chalk.blue('Configuration file paths:'));
|
|
188
|
+
console.log(` User: ${paths.user}`);
|
|
189
|
+
console.log(` Project: ${paths.project}`);
|
|
190
|
+
console.log(chalk.blue('\nFile status:'));
|
|
191
|
+
console.log(` User: ${existsSync(paths.user) ? chalk.green('exists') : chalk.gray('not found')}`);
|
|
192
|
+
console.log(` Project: ${existsSync(paths.project) ? chalk.green('exists') : chalk.gray('not found')}`);
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const config = loadConfig();
|
|
196
|
+
if (options.validate) {
|
|
197
|
+
console.log(chalk.blue('Validating configuration...\n'));
|
|
198
|
+
// Check for required fields
|
|
199
|
+
const warnings = [];
|
|
200
|
+
const errors = [];
|
|
201
|
+
if (!process.env.ANTHROPIC_API_KEY) {
|
|
202
|
+
warnings.push('ANTHROPIC_API_KEY environment variable not set');
|
|
203
|
+
}
|
|
204
|
+
if (config.mcpServers?.exa?.enabled && !process.env.EXA_API_KEY && !config.mcpServers.exa.apiKey) {
|
|
205
|
+
warnings.push('Exa is enabled but EXA_API_KEY is not set');
|
|
206
|
+
}
|
|
207
|
+
if (errors.length > 0) {
|
|
208
|
+
console.log(chalk.red('Errors:'));
|
|
209
|
+
errors.forEach(e => console.log(chalk.red(` - ${e}`)));
|
|
210
|
+
}
|
|
211
|
+
if (warnings.length > 0) {
|
|
212
|
+
console.log(chalk.yellow('Warnings:'));
|
|
213
|
+
warnings.forEach(w => console.log(chalk.yellow(` - ${w}`)));
|
|
214
|
+
}
|
|
215
|
+
if (errors.length === 0 && warnings.length === 0) {
|
|
216
|
+
console.log(chalk.green('Configuration is valid!'));
|
|
217
|
+
}
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
console.log(chalk.blue('Current configuration:\n'));
|
|
221
|
+
console.log(JSON.stringify(config, null, 2));
|
|
222
|
+
});
|
|
223
|
+
/**
|
|
224
|
+
* Info command - Show system information
|
|
225
|
+
*/
|
|
226
|
+
program
|
|
227
|
+
.command('info')
|
|
228
|
+
.description('Show system and agent information')
|
|
229
|
+
.action(async () => {
|
|
230
|
+
const session = createSisyphusSession();
|
|
231
|
+
console.log(chalk.blue.bold('\nOh-My-Claude-Sisyphus System Information\n'));
|
|
232
|
+
console.log(chalk.gray('━'.repeat(50)));
|
|
233
|
+
console.log(chalk.blue('\nAvailable Agents:'));
|
|
234
|
+
const agents = session.queryOptions.options.agents;
|
|
235
|
+
for (const [name, agent] of Object.entries(agents)) {
|
|
236
|
+
console.log(` ${chalk.green(name)}`);
|
|
237
|
+
console.log(` ${chalk.gray(agent.description.split('\n')[0])}`);
|
|
238
|
+
}
|
|
239
|
+
console.log(chalk.blue('\nEnabled Features:'));
|
|
240
|
+
const features = session.config.features;
|
|
241
|
+
if (features) {
|
|
242
|
+
console.log(` Parallel Execution: ${features.parallelExecution ? chalk.green('enabled') : chalk.gray('disabled')}`);
|
|
243
|
+
console.log(` LSP Tools: ${features.lspTools ? chalk.green('enabled') : chalk.gray('disabled')}`);
|
|
244
|
+
console.log(` AST Tools: ${features.astTools ? chalk.green('enabled') : chalk.gray('disabled')}`);
|
|
245
|
+
console.log(` Continuation Enforcement:${features.continuationEnforcement ? chalk.green('enabled') : chalk.gray('disabled')}`);
|
|
246
|
+
console.log(` Auto Context Injection: ${features.autoContextInjection ? chalk.green('enabled') : chalk.gray('disabled')}`);
|
|
247
|
+
}
|
|
248
|
+
console.log(chalk.blue('\nMCP Servers:'));
|
|
249
|
+
const mcpServers = session.queryOptions.options.mcpServers;
|
|
250
|
+
for (const name of Object.keys(mcpServers)) {
|
|
251
|
+
console.log(` ${chalk.green(name)}`);
|
|
252
|
+
}
|
|
253
|
+
console.log(chalk.blue('\nMagic Keywords:'));
|
|
254
|
+
console.log(` Ultrawork: ${chalk.cyan(session.config.magicKeywords?.ultrawork?.join(', ') ?? 'ultrawork, ulw, uw')}`);
|
|
255
|
+
console.log(` Search: ${chalk.cyan(session.config.magicKeywords?.search?.join(', ') ?? 'search, find, locate')}`);
|
|
256
|
+
console.log(` Analyze: ${chalk.cyan(session.config.magicKeywords?.analyze?.join(', ') ?? 'analyze, investigate, examine')}`);
|
|
257
|
+
console.log(chalk.gray('\n━'.repeat(50)));
|
|
258
|
+
console.log(chalk.gray(`Version: ${version}`));
|
|
259
|
+
});
|
|
260
|
+
/**
|
|
261
|
+
* Test command - Test prompt enhancement
|
|
262
|
+
*/
|
|
263
|
+
program
|
|
264
|
+
.command('test-prompt <prompt>')
|
|
265
|
+
.description('Test how a prompt would be enhanced')
|
|
266
|
+
.action(async (prompt) => {
|
|
267
|
+
const session = createSisyphusSession();
|
|
268
|
+
console.log(chalk.blue('Original prompt:'));
|
|
269
|
+
console.log(chalk.gray(prompt));
|
|
270
|
+
const keywords = session.detectKeywords(prompt);
|
|
271
|
+
if (keywords.length > 0) {
|
|
272
|
+
console.log(chalk.blue('\nDetected magic keywords:'));
|
|
273
|
+
console.log(chalk.yellow(keywords.join(', ')));
|
|
274
|
+
}
|
|
275
|
+
console.log(chalk.blue('\nEnhanced prompt:'));
|
|
276
|
+
console.log(chalk.green(session.processPrompt(prompt)));
|
|
277
|
+
});
|
|
278
|
+
// Parse arguments
|
|
279
|
+
program.parse();
|
|
280
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,aAAa,CAAC"}
|