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.
Files changed (85) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +416 -0
  3. package/dist/agents/definitions.d.ts +48 -0
  4. package/dist/agents/definitions.d.ts.map +1 -0
  5. package/dist/agents/definitions.js +271 -0
  6. package/dist/agents/definitions.js.map +1 -0
  7. package/dist/agents/index.d.ts +5 -0
  8. package/dist/agents/index.d.ts.map +1 -0
  9. package/dist/agents/index.js +5 -0
  10. package/dist/agents/index.js.map +1 -0
  11. package/dist/cli/index.d.ts +13 -0
  12. package/dist/cli/index.d.ts.map +1 -0
  13. package/dist/cli/index.js +280 -0
  14. package/dist/cli/index.js.map +1 -0
  15. package/dist/config/index.d.ts +5 -0
  16. package/dist/config/index.d.ts.map +1 -0
  17. package/dist/config/index.js +5 -0
  18. package/dist/config/index.js.map +1 -0
  19. package/dist/config/loader.d.ts +49 -0
  20. package/dist/config/loader.d.ts.map +1 -0
  21. package/dist/config/loader.js +329 -0
  22. package/dist/config/loader.js.map +1 -0
  23. package/dist/features/continuation-enforcement.d.ts +34 -0
  24. package/dist/features/continuation-enforcement.d.ts.map +1 -0
  25. package/dist/features/continuation-enforcement.js +142 -0
  26. package/dist/features/continuation-enforcement.js.map +1 -0
  27. package/dist/features/index.d.ts +6 -0
  28. package/dist/features/index.d.ts.map +1 -0
  29. package/dist/features/index.js +6 -0
  30. package/dist/features/index.js.map +1 -0
  31. package/dist/features/magic-keywords.d.ts +22 -0
  32. package/dist/features/magic-keywords.d.ts.map +1 -0
  33. package/dist/features/magic-keywords.js +189 -0
  34. package/dist/features/magic-keywords.js.map +1 -0
  35. package/dist/index.d.ts +105 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +146 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/mcp/index.d.ts +6 -0
  40. package/dist/mcp/index.d.ts.map +1 -0
  41. package/dist/mcp/index.js +5 -0
  42. package/dist/mcp/index.js.map +1 -0
  43. package/dist/mcp/servers.d.ts +77 -0
  44. package/dist/mcp/servers.d.ts.map +1 -0
  45. package/dist/mcp/servers.js +122 -0
  46. package/dist/mcp/servers.js.map +1 -0
  47. package/dist/shared/index.d.ts +5 -0
  48. package/dist/shared/index.d.ts.map +1 -0
  49. package/dist/shared/index.js +5 -0
  50. package/dist/shared/index.js.map +1 -0
  51. package/dist/shared/types.d.ts +133 -0
  52. package/dist/shared/types.d.ts.map +1 -0
  53. package/dist/shared/types.js +5 -0
  54. package/dist/shared/types.js.map +1 -0
  55. package/dist/tools/ast-tools.d.ts +63 -0
  56. package/dist/tools/ast-tools.d.ts.map +1 -0
  57. package/dist/tools/ast-tools.js +349 -0
  58. package/dist/tools/ast-tools.js.map +1 -0
  59. package/dist/tools/index.d.ts +52 -0
  60. package/dist/tools/index.d.ts.map +1 -0
  61. package/dist/tools/index.js +120 -0
  62. package/dist/tools/index.js.map +1 -0
  63. package/dist/tools/lsp/client.d.ts +201 -0
  64. package/dist/tools/lsp/client.d.ts.map +1 -0
  65. package/dist/tools/lsp/client.js +454 -0
  66. package/dist/tools/lsp/client.js.map +1 -0
  67. package/dist/tools/lsp/index.d.ts +9 -0
  68. package/dist/tools/lsp/index.d.ts.map +1 -0
  69. package/dist/tools/lsp/index.js +7 -0
  70. package/dist/tools/lsp/index.js.map +1 -0
  71. package/dist/tools/lsp/servers.d.ts +37 -0
  72. package/dist/tools/lsp/servers.d.ts.map +1 -0
  73. package/dist/tools/lsp/servers.js +148 -0
  74. package/dist/tools/lsp/servers.js.map +1 -0
  75. package/dist/tools/lsp/utils.d.ts +58 -0
  76. package/dist/tools/lsp/utils.d.ts.map +1 -0
  77. package/dist/tools/lsp/utils.js +236 -0
  78. package/dist/tools/lsp/utils.js.map +1 -0
  79. package/dist/tools/lsp-tools.d.ts +151 -0
  80. package/dist/tools/lsp-tools.d.ts.map +1 -0
  81. package/dist/tools/lsp-tools.js +358 -0
  82. package/dist/tools/lsp-tools.js.map +1 -0
  83. package/package.json +75 -0
  84. package/scripts/install.sh +765 -0
  85. package/scripts/uninstall.sh +47 -0
@@ -0,0 +1,122 @@
1
+ /**
2
+ * MCP Server Configurations
3
+ *
4
+ * Predefined MCP server configurations for common integrations:
5
+ * - Exa: AI-powered web search
6
+ * - Context7: Official documentation lookup
7
+ * - grep.app: GitHub code search
8
+ * - Playwright: Browser automation
9
+ */
10
+ /**
11
+ * Exa MCP Server - AI-powered web search
12
+ * Requires: EXA_API_KEY environment variable
13
+ */
14
+ export function createExaServer(apiKey) {
15
+ return {
16
+ command: 'npx',
17
+ args: ['-y', '@anthropic-ai/exa-mcp-server'],
18
+ env: apiKey ? { EXA_API_KEY: apiKey } : undefined
19
+ };
20
+ }
21
+ /**
22
+ * Context7 MCP Server - Official documentation lookup
23
+ * Provides access to official docs for popular libraries
24
+ */
25
+ export function createContext7Server() {
26
+ return {
27
+ command: 'npx',
28
+ args: ['-y', '@anthropic-ai/context7-mcp-server']
29
+ };
30
+ }
31
+ /**
32
+ * grep.app MCP Server - GitHub code search
33
+ * Search across public GitHub repositories
34
+ */
35
+ export function createGrepAppServer() {
36
+ return {
37
+ command: 'npx',
38
+ args: ['-y', '@anthropic-ai/grep-app-mcp-server']
39
+ };
40
+ }
41
+ /**
42
+ * Playwright MCP Server - Browser automation
43
+ * Enables agents to interact with web pages
44
+ */
45
+ export function createPlaywrightServer() {
46
+ return {
47
+ command: 'npx',
48
+ args: ['-y', '@playwright/mcp@latest']
49
+ };
50
+ }
51
+ /**
52
+ * Filesystem MCP Server - Extended file operations
53
+ * Provides additional file system capabilities
54
+ */
55
+ export function createFilesystemServer(allowedPaths) {
56
+ return {
57
+ command: 'npx',
58
+ args: ['-y', '@modelcontextprotocol/server-filesystem', ...allowedPaths]
59
+ };
60
+ }
61
+ /**
62
+ * Git MCP Server - Git operations
63
+ * Provides git-specific operations beyond basic bash
64
+ */
65
+ export function createGitServer(repoPath) {
66
+ return {
67
+ command: 'npx',
68
+ args: ['-y', '@modelcontextprotocol/server-git', repoPath ?? '.']
69
+ };
70
+ }
71
+ /**
72
+ * Memory MCP Server - Persistent memory
73
+ * Allows agents to store and retrieve information across sessions
74
+ */
75
+ export function createMemoryServer() {
76
+ return {
77
+ command: 'npx',
78
+ args: ['-y', '@modelcontextprotocol/server-memory']
79
+ };
80
+ }
81
+ /**
82
+ * Fetch MCP Server - HTTP requests
83
+ * Make HTTP requests to APIs
84
+ */
85
+ export function createFetchServer() {
86
+ return {
87
+ command: 'npx',
88
+ args: ['-y', '@modelcontextprotocol/server-fetch']
89
+ };
90
+ }
91
+ export function getDefaultMcpServers(options) {
92
+ const servers = {};
93
+ if (options?.enableExa !== false) {
94
+ servers.exa = createExaServer(options?.exaApiKey);
95
+ }
96
+ if (options?.enableContext7 !== false) {
97
+ servers.context7 = createContext7Server();
98
+ }
99
+ if (options?.enableGrepApp !== false) {
100
+ servers.grepApp = createGrepAppServer();
101
+ }
102
+ if (options?.enablePlaywright) {
103
+ servers.playwright = createPlaywrightServer();
104
+ }
105
+ if (options?.enableMemory) {
106
+ servers.memory = createMemoryServer();
107
+ }
108
+ return servers;
109
+ }
110
+ /**
111
+ * Convert MCP servers config to SDK format
112
+ */
113
+ export function toSdkMcpFormat(servers) {
114
+ const result = {};
115
+ for (const [name, config] of Object.entries(servers)) {
116
+ if (config) {
117
+ result[name] = config;
118
+ }
119
+ }
120
+ return result;
121
+ }
122
+ //# sourceMappingURL=servers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"servers.js","sourceRoot":"","sources":["../../src/mcp/servers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Shared Types Export
3
+ */
4
+ export * from './types.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Shared Types Export
3
+ */
4
+ export * from './types.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Shared types for Oh-My-Claude-Sisyphus
3
+ */
4
+ export type ModelType = 'sonnet' | 'opus' | 'haiku' | 'inherit';
5
+ export interface AgentConfig {
6
+ name: string;
7
+ description: string;
8
+ prompt: string;
9
+ tools: string[];
10
+ model?: ModelType;
11
+ }
12
+ export interface PluginConfig {
13
+ agents?: {
14
+ sisyphus?: {
15
+ model?: string;
16
+ };
17
+ oracle?: {
18
+ model?: string;
19
+ enabled?: boolean;
20
+ };
21
+ librarian?: {
22
+ model?: string;
23
+ };
24
+ explore?: {
25
+ model?: string;
26
+ };
27
+ frontendEngineer?: {
28
+ model?: string;
29
+ enabled?: boolean;
30
+ };
31
+ documentWriter?: {
32
+ model?: string;
33
+ enabled?: boolean;
34
+ };
35
+ multimodalLooker?: {
36
+ model?: string;
37
+ enabled?: boolean;
38
+ };
39
+ momus?: {
40
+ model?: string;
41
+ enabled?: boolean;
42
+ };
43
+ metis?: {
44
+ model?: string;
45
+ enabled?: boolean;
46
+ };
47
+ orchestratorSisyphus?: {
48
+ model?: string;
49
+ enabled?: boolean;
50
+ };
51
+ sisyphusJunior?: {
52
+ model?: string;
53
+ enabled?: boolean;
54
+ };
55
+ prometheus?: {
56
+ model?: string;
57
+ enabled?: boolean;
58
+ };
59
+ };
60
+ features?: {
61
+ parallelExecution?: boolean;
62
+ lspTools?: boolean;
63
+ astTools?: boolean;
64
+ continuationEnforcement?: boolean;
65
+ autoContextInjection?: boolean;
66
+ };
67
+ mcpServers?: {
68
+ exa?: {
69
+ enabled?: boolean;
70
+ apiKey?: string;
71
+ };
72
+ context7?: {
73
+ enabled?: boolean;
74
+ };
75
+ grepApp?: {
76
+ enabled?: boolean;
77
+ };
78
+ };
79
+ permissions?: {
80
+ allowBash?: boolean;
81
+ allowEdit?: boolean;
82
+ allowWrite?: boolean;
83
+ maxBackgroundTasks?: number;
84
+ };
85
+ magicKeywords?: {
86
+ ultrawork?: string[];
87
+ search?: string[];
88
+ analyze?: string[];
89
+ };
90
+ }
91
+ export interface SessionState {
92
+ sessionId?: string;
93
+ activeAgents: Map<string, AgentState>;
94
+ backgroundTasks: BackgroundTask[];
95
+ contextFiles: string[];
96
+ }
97
+ export interface AgentState {
98
+ name: string;
99
+ status: 'idle' | 'running' | 'completed' | 'error';
100
+ lastMessage?: string;
101
+ startTime?: number;
102
+ }
103
+ export interface BackgroundTask {
104
+ id: string;
105
+ agentName: string;
106
+ prompt: string;
107
+ status: 'pending' | 'running' | 'completed' | 'error';
108
+ result?: string;
109
+ error?: string;
110
+ }
111
+ export interface MagicKeyword {
112
+ triggers: string[];
113
+ action: (prompt: string) => string;
114
+ description: string;
115
+ }
116
+ export interface HookDefinition {
117
+ event: 'PreToolUse' | 'PostToolUse' | 'Stop' | 'SessionStart' | 'SessionEnd' | 'UserPromptSubmit';
118
+ matcher?: string;
119
+ command?: string;
120
+ handler?: (context: HookContext) => Promise<HookResult>;
121
+ }
122
+ export interface HookContext {
123
+ toolName?: string;
124
+ toolInput?: unknown;
125
+ toolOutput?: unknown;
126
+ sessionId?: string;
127
+ }
128
+ export interface HookResult {
129
+ continue: boolean;
130
+ message?: string;
131
+ modifiedInput?: unknown;
132
+ }
133
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Shared types for Oh-My-Claude-Sisyphus
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * AST Tools using ast-grep
3
+ *
4
+ * Provides AST-aware code search and transformation:
5
+ * - Pattern matching with meta-variables ($VAR, $$$)
6
+ * - Code replacement while preserving structure
7
+ * - Support for 25+ programming languages
8
+ */
9
+ import { z } from 'zod';
10
+ export interface AstToolDefinition<T extends z.ZodRawShape> {
11
+ name: string;
12
+ description: string;
13
+ schema: T;
14
+ handler: (args: z.infer<z.ZodObject<T>>) => Promise<{
15
+ content: Array<{
16
+ type: 'text';
17
+ text: string;
18
+ }>;
19
+ }>;
20
+ }
21
+ /**
22
+ * Supported languages for AST analysis
23
+ * Maps to ast-grep language identifiers
24
+ */
25
+ export declare const SUPPORTED_LANGUAGES: [string, ...string[]];
26
+ export type SupportedLanguage = typeof SUPPORTED_LANGUAGES[number];
27
+ /**
28
+ * AST Grep Search Tool - Find code patterns using AST matching
29
+ */
30
+ export declare const astGrepSearchTool: AstToolDefinition<{
31
+ pattern: z.ZodString;
32
+ language: z.ZodEnum<[string, ...string[]]>;
33
+ path: z.ZodOptional<z.ZodString>;
34
+ context: z.ZodOptional<z.ZodNumber>;
35
+ maxResults: z.ZodOptional<z.ZodNumber>;
36
+ }>;
37
+ /**
38
+ * AST Grep Replace Tool - Replace code patterns using AST matching
39
+ */
40
+ export declare const astGrepReplaceTool: AstToolDefinition<{
41
+ pattern: z.ZodString;
42
+ replacement: z.ZodString;
43
+ language: z.ZodEnum<[string, ...string[]]>;
44
+ path: z.ZodOptional<z.ZodString>;
45
+ dryRun: z.ZodOptional<z.ZodBoolean>;
46
+ }>;
47
+ /**
48
+ * Get all AST tool definitions
49
+ */
50
+ export declare const astTools: (AstToolDefinition<{
51
+ pattern: z.ZodString;
52
+ language: z.ZodEnum<[string, ...string[]]>;
53
+ path: z.ZodOptional<z.ZodString>;
54
+ context: z.ZodOptional<z.ZodNumber>;
55
+ maxResults: z.ZodOptional<z.ZodNumber>;
56
+ }> | AstToolDefinition<{
57
+ pattern: z.ZodString;
58
+ replacement: z.ZodString;
59
+ language: z.ZodEnum<[string, ...string[]]>;
60
+ path: z.ZodOptional<z.ZodString>;
61
+ dryRun: z.ZodOptional<z.ZodBoolean>;
62
+ }>)[];
63
+ //# sourceMappingURL=ast-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-tools.d.ts","sourceRoot":"","sources":["../../src/tools/ast-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CACzG;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAIrD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AA8GnE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;CACxC,CAiGA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CACrC,CAkJA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ;aAxQV,CAAC,CAAC,SAAS;cACV,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;UACpC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;aACvB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;;aAwG7B,CAAC,CAAC,SAAS;iBACP,CAAC,CAAC,SAAS;cACd,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;UACpC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACxB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;KA2JpC,CAAC"}