wiggum-cli 0.2.2 → 0.2.5

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.
@@ -2,6 +2,7 @@
2
2
  * AI Analysis Prompts
3
3
  * Defines prompts for codebase analysis and enhancement
4
4
  */
5
+ import { RIPGREP_SKILL } from './tools.js';
5
6
  /**
6
7
  * Format the detected stack for inclusion in prompts
7
8
  */
@@ -76,68 +77,98 @@ export function formatStackForPrompt(stack) {
76
77
  return sections.join('\n');
77
78
  }
78
79
  /**
79
- * System prompt for codebase analysis
80
+ * System prompt for codebase analysis (agentic mode)
80
81
  */
81
- export const SYSTEM_PROMPT = `You are an expert software architect analyzing a codebase to provide insights for AI-assisted development.
82
+ export const SYSTEM_PROMPT_AGENTIC = `You are an expert codebase analyst with tools to explore the project.
82
83
 
83
- Your role is to:
84
- 1. Analyze the detected tech stack and provide deeper insights
85
- 2. Identify architectural patterns and coding conventions
86
- 3. Suggest improvements to the detection results
87
- 4. Recommend MCP servers that would benefit this project
88
- 5. Generate custom prompt suggestions for AI coding assistants
84
+ Your goal is to thoroughly understand the codebase structure and produce actionable configuration for AI-assisted development.
89
85
 
90
- Be concise and actionable. Focus on practical insights that help developers work more effectively with AI tools.
86
+ ## Exploration Strategy
87
+ 1. First, list the root directory to understand project structure
88
+ 2. Read package.json to understand scripts and dependencies
89
+ 3. Search for key patterns: entry points, routes, components, tests
90
+ 4. Identify naming conventions by examining existing files
91
+ 5. Look for existing documentation (.md files, README)
91
92
 
92
- Respond in valid JSON format only.`;
93
+ ## Tools Available
94
+ You have these tools to explore the codebase:
95
+ - searchCode: Search using ripgrep patterns
96
+ - readFile: Read file contents
97
+ - listDirectory: List directory structure
98
+ - getPackageInfo: Get package.json info
99
+
100
+ ${RIPGREP_SKILL}
101
+
102
+ ## Output Requirements
103
+ After exploration, output valid JSON with:
104
+ - projectContext: entry points, key directories, naming conventions
105
+ - commands: test, lint, build, dev commands from package.json
106
+ - implementationGuidelines: short actionable rules (5-10 words each, max 7)
107
+ - mcpServers: essential and recommended servers
108
+ - possibleMissedTechnologies: technologies that might be in use
109
+
110
+ Be concise. Focus on WHAT TO DO, not what exists.`;
111
+ /**
112
+ * System prompt for codebase analysis (simple mode - no tools)
113
+ */
114
+ export const SYSTEM_PROMPT = `You are analyzing a codebase to help configure AI-assisted development tools.
115
+
116
+ Your goal is to produce SHORT, ACTIONABLE output that helps AI coding assistants work effectively on this codebase.
117
+
118
+ Rules:
119
+ - Output valid JSON only
120
+ - Be extremely concise (5-10 words per item max)
121
+ - Focus on WHAT TO DO, not what exists
122
+ - Include specific file paths and commands
123
+ - Max 5-7 items per array
124
+ - No explanations, just actionable rules`;
93
125
  /**
94
126
  * Create the codebase analysis prompt
95
127
  */
96
128
  export function createAnalysisPrompt(scanResult) {
97
129
  const stackInfo = formatStackForPrompt(scanResult.stack);
98
- return `Analyze this codebase and provide enhanced insights.
130
+ return `Analyze this codebase for AI-assisted development configuration.
99
131
 
100
- Project Root: ${scanResult.projectRoot}
132
+ Project: ${scanResult.projectRoot}
101
133
 
102
134
  Detected Stack:
103
135
  ${stackInfo || 'No technologies detected'}
104
136
 
105
- Based on this stack, provide analysis in the following JSON format:
137
+ Respond with this JSON structure (keep values SHORT - 5-10 words max per item):
106
138
  {
107
- "frameworkInsights": {
108
- "variant": "more specific variant if detectable (e.g., 'app-router', 'pages-router', 'spa', 'ssr')",
109
- "confidence": "high/medium/low",
110
- "notes": "any additional observations about framework usage"
139
+ "projectContext": {
140
+ "entryPoints": ["src/index.ts", "src/server.ts"],
141
+ "keyDirectories": {
142
+ "src/routes": "API route handlers",
143
+ "src/models": "Database models"
144
+ },
145
+ "namingConventions": "camelCase files, PascalCase components"
111
146
  },
112
- "architecturalPatterns": [
113
- {
114
- "pattern": "pattern name",
115
- "confidence": "high/medium/low",
116
- "evidence": "why you think this pattern is used"
117
- }
118
- ],
119
- "codingConventions": [
120
- {
121
- "convention": "convention name",
122
- "suggestion": "how to follow this convention"
123
- }
124
- ],
125
- "recommendedMcpServers": [
126
- {
127
- "name": "server name",
128
- "reason": "why this would be useful"
129
- }
130
- ],
131
- "customPromptSuggestions": [
132
- "Specific prompt suggestions tailored to this codebase"
147
+ "commands": {
148
+ "test": "npm test",
149
+ "lint": "npm run lint",
150
+ "typecheck": "npm run typecheck",
151
+ "build": "npm run build",
152
+ "dev": "npm run dev"
153
+ },
154
+ "implementationGuidelines": [
155
+ "Run npm test after every change",
156
+ "Use Zod for request validation",
157
+ "Place routes in src/routes/<resource>.ts",
158
+ "Follow error pattern in src/utils/errors.ts"
133
159
  ],
134
- "additionalDetections": {
135
- "possibleMissed": ["technologies that might be in use but weren't detected"],
136
- "refinements": ["suggestions to improve existing detections"]
137
- }
160
+ "mcpServers": {
161
+ "essential": ["filesystem", "git"],
162
+ "recommended": ["docker", "postgres"]
163
+ },
164
+ "possibleMissedTechnologies": ["Redis", "WebSockets"]
138
165
  }
139
166
 
140
- Only include sections where you have meaningful insights. Keep responses focused and actionable.`;
167
+ Important:
168
+ - implementationGuidelines should be short rules (not analysis prompts)
169
+ - Include actual file paths from this project
170
+ - Infer commands from package.json patterns
171
+ - Max 5-7 items per array`;
141
172
  }
142
173
  /**
143
174
  * Prompt for validating and improving scanner results
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"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"}
@@ -44,4 +44,8 @@ export declare function getAvailableProvider(): AIProvider | null;
44
44
  * Get the environment variable name for a provider's API key
45
45
  */
46
46
  export declare function getApiKeyEnvVar(provider: AIProvider): string;
47
+ /**
48
+ * Check if a model is a reasoning model that doesn't support temperature
49
+ */
50
+ export declare function isReasoningModel(modelId: string): boolean;
47
51
  //# sourceMappingURL=providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/ai/providers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAWD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,CAkB9D,CAAC;AAYF;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAGvD;AAmBD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,GAAE,UAAwB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,cAAc,CA0CnG;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,UAAU,GAAG,IAAI,CAUxD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/ai/providers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAWD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,CAkB9D,CAAC;AAYF;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAGvD;AAmBD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,GAAE,UAAwB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,cAAc,CA0CnG;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,UAAU,GAAG,IAAI,CAUxD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAE5D;AAaD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzD"}
@@ -123,4 +123,20 @@ export function getAvailableProvider() {
123
123
  export function getApiKeyEnvVar(provider) {
124
124
  return API_KEY_ENV_VARS[provider];
125
125
  }
126
+ /**
127
+ * Models that don't support temperature parameter (reasoning models)
128
+ */
129
+ const REASONING_MODELS = [
130
+ // OpenAI reasoning models
131
+ 'o1', 'o1-mini', 'o1-preview',
132
+ 'o3', 'o3-mini',
133
+ 'gpt-5', 'gpt-5.1', 'gpt-5-mini',
134
+ 'gpt-5.1-codex', 'gpt-5.1-codex-max',
135
+ ];
136
+ /**
137
+ * Check if a model is a reasoning model that doesn't support temperature
138
+ */
139
+ export function isReasoningModel(modelId) {
140
+ return REASONING_MODELS.some(m => modelId.startsWith(m));
141
+ }
126
142
  //# sourceMappingURL=providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/ai/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/ai/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * AI Tools Module
3
+ * Defines tools the AI agent can use to explore the codebase
4
+ */
5
+ /**
6
+ * Create tools for codebase exploration
7
+ */
8
+ export declare function createExplorationTools(projectRoot: string): {
9
+ /**
10
+ * Search code using ripgrep patterns
11
+ */
12
+ searchCode: import("ai").Tool<{
13
+ pattern: string;
14
+ fileType?: string | undefined;
15
+ glob?: string | undefined;
16
+ literal?: boolean | undefined;
17
+ context?: number | undefined;
18
+ maxResults?: number | undefined;
19
+ }, string>;
20
+ /**
21
+ * Read a file's contents
22
+ */
23
+ readFile: import("ai").Tool<{
24
+ path: string;
25
+ startLine?: number | undefined;
26
+ endLine?: number | undefined;
27
+ }, string>;
28
+ /**
29
+ * List directory contents
30
+ */
31
+ listDirectory: import("ai").Tool<{
32
+ path: string;
33
+ recursive?: boolean | undefined;
34
+ maxDepth?: number | undefined;
35
+ }, string>;
36
+ /**
37
+ * Get package.json info including scripts
38
+ */
39
+ getPackageInfo: import("ai").Tool<{
40
+ field?: string | undefined;
41
+ }, string>;
42
+ };
43
+ /**
44
+ * Ripgrep skill reference for the AI agent
45
+ */
46
+ export declare const RIPGREP_SKILL = "\n## ripgrep Code Search Skill\n\n### Essential Patterns\n\n**Find definitions:**\n- Python functions: pattern=\"^def \\w+\\(\", fileType=\"py\"\n- JS/TS functions: pattern=\"^(export )?(function|const) \\w+\", fileType=\"ts\"\n- Classes: pattern=\"^class \\w+\", fileType=\"py\"\n\n**Find symbol usage (CRITICAL: use word boundaries):**\n- Exact word: pattern=\"\\bSymbolName\\b\"\n- Literal string: pattern=\"exact.string\", literal=true\n\n**Find imports:**\n- ES imports: pattern=\"^import.*from\", fileType=\"ts\"\n- CommonJS: pattern=\"require\\(\", fileType=\"js\"\n\n**File type options:**\n- py (Python)\n- js (JavaScript)\n- ts (TypeScript)\n- rust (Rust)\n- go (Go)\n\n**Performance tips:**\n1. Always use fileType when possible\n2. Use literal=true for exact strings\n3. Use \\b for word boundaries (prevents partial matches)\n4. Keep maxResults reasonable\n\n**Word boundaries are critical:**\n- WITHOUT: pattern=\"log\" matches \"logger\", \"blogger\", \"catalog\"\n- WITH: pattern=\"\\blog\\b\" matches only \"log\"\n";
47
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/ai/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM;IAEtD;;OAEG;;;;;;;;;IAwEH;;OAEG;;;;;;IAgDH;;OAEG;;;;;;IA4DH;;OAEG;;;;EAkCN;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,6gCAkCzB,CAAC"}
@@ -0,0 +1,253 @@
1
+ /**
2
+ * AI Tools Module
3
+ * Defines tools the AI agent can use to explore the codebase
4
+ */
5
+ import { tool, zodSchema } from 'ai';
6
+ import { z } from 'zod';
7
+ import { spawnSync } from 'node:child_process';
8
+ import { readFileSync, readdirSync, statSync, existsSync } from 'node:fs';
9
+ import { join, relative } from 'node:path';
10
+ /**
11
+ * Create tools for codebase exploration
12
+ */
13
+ export function createExplorationTools(projectRoot) {
14
+ return {
15
+ /**
16
+ * Search code using ripgrep patterns
17
+ */
18
+ searchCode: tool({
19
+ description: `Search the codebase using ripgrep. Use this to find:
20
+ - Function/class definitions: pattern="^(def|function|class) NAME", fileType="py"
21
+ - Symbol usage: pattern="\\bSymbolName\\b" (word boundaries critical!)
22
+ - Imports: pattern="^import.*module", fileType="ts"
23
+ - File patterns: pattern="pattern", glob="*.tsx"
24
+
25
+ Tips:
26
+ - Use fileType for filtering (py, js, ts, rust, go)
27
+ - Use \\b for word boundaries to avoid partial matches
28
+ - Use literal=true for exact strings (faster)
29
+ - Always use word boundaries when searching symbols`,
30
+ inputSchema: zodSchema(z.object({
31
+ pattern: z.string().describe('The regex pattern to search for'),
32
+ fileType: z.string().optional().describe('File type filter (py, js, ts, etc.)'),
33
+ glob: z.string().optional().describe('Glob pattern like "*.tsx" or "src/**/*.ts"'),
34
+ literal: z.boolean().optional().describe('Use literal search (faster for exact strings)'),
35
+ context: z.number().optional().describe('Lines of context (default 0)'),
36
+ maxResults: z.number().optional().describe('Max results to return (default 50)'),
37
+ })),
38
+ execute: async ({ pattern, fileType, glob, literal, context, maxResults }) => {
39
+ try {
40
+ const args = [];
41
+ if (literal)
42
+ args.push('-F');
43
+ if (fileType)
44
+ args.push('-t', fileType);
45
+ if (glob)
46
+ args.push('-g', glob);
47
+ if (context)
48
+ args.push('-C', String(context));
49
+ args.push('--max-count', String(maxResults || 50));
50
+ args.push('--no-heading');
51
+ args.push('--line-number');
52
+ args.push('--');
53
+ args.push(pattern);
54
+ args.push(projectRoot);
55
+ // Use spawnSync instead of execSync for safety (no shell injection)
56
+ const result = spawnSync('rg', args, {
57
+ encoding: 'utf-8',
58
+ maxBuffer: 1024 * 1024,
59
+ timeout: 30000,
60
+ });
61
+ if (result.error) {
62
+ return `Search error: ${result.error.message}`;
63
+ }
64
+ if (result.status === 1) {
65
+ return 'No matches found';
66
+ }
67
+ if (result.status !== 0) {
68
+ return `Search error: ${result.stderr || 'Unknown error'}`;
69
+ }
70
+ // Convert absolute paths to relative
71
+ const lines = result.stdout.split('\n').map(line => {
72
+ if (line.startsWith(projectRoot)) {
73
+ return line.replace(projectRoot + '/', '');
74
+ }
75
+ return line;
76
+ });
77
+ return lines.slice(0, 100).join('\n');
78
+ }
79
+ catch (error) {
80
+ const errMsg = error instanceof Error ? error.message : String(error);
81
+ return `Search error: ${errMsg}`;
82
+ }
83
+ },
84
+ }),
85
+ /**
86
+ * Read a file's contents
87
+ */
88
+ readFile: tool({
89
+ description: 'Read the contents of a file. Use relative paths from project root.',
90
+ inputSchema: zodSchema(z.object({
91
+ path: z.string().describe('Relative path to the file from project root'),
92
+ startLine: z.number().optional().describe('Start line (1-indexed)'),
93
+ endLine: z.number().optional().describe('End line (inclusive)'),
94
+ })),
95
+ execute: async ({ path: filePath, startLine, endLine }) => {
96
+ try {
97
+ // Prevent path traversal
98
+ const normalizedPath = filePath.replace(/\.\./g, '');
99
+ const fullPath = join(projectRoot, normalizedPath);
100
+ if (!fullPath.startsWith(projectRoot)) {
101
+ return 'Invalid path: cannot access files outside project';
102
+ }
103
+ if (!existsSync(fullPath)) {
104
+ return `File not found: ${filePath}`;
105
+ }
106
+ const stat = statSync(fullPath);
107
+ if (stat.isDirectory()) {
108
+ return `Path is a directory, not a file: ${filePath}`;
109
+ }
110
+ if (stat.size > 100000) {
111
+ return `File too large (${stat.size} bytes). Use startLine/endLine to read a portion.`;
112
+ }
113
+ const content = readFileSync(fullPath, 'utf-8');
114
+ const lines = content.split('\n');
115
+ if (startLine || endLine) {
116
+ const start = (startLine || 1) - 1;
117
+ const end = endLine || lines.length;
118
+ return lines.slice(start, end).join('\n');
119
+ }
120
+ return content;
121
+ }
122
+ catch (error) {
123
+ const errMsg = error instanceof Error ? error.message : String(error);
124
+ return `Error reading file: ${errMsg}`;
125
+ }
126
+ },
127
+ }),
128
+ /**
129
+ * List directory contents
130
+ */
131
+ listDirectory: tool({
132
+ description: 'List contents of a directory. Shows files and subdirectories.',
133
+ inputSchema: zodSchema(z.object({
134
+ path: z.string().describe('Relative path to the directory (use "." for project root)'),
135
+ recursive: z.boolean().optional().describe('List recursively (default false)'),
136
+ maxDepth: z.number().optional().describe('Max depth for recursive listing (default 2)'),
137
+ })),
138
+ execute: async ({ path: dirPath, recursive, maxDepth }) => {
139
+ try {
140
+ // Prevent path traversal
141
+ const normalizedPath = dirPath.replace(/\.\./g, '');
142
+ const fullPath = join(projectRoot, normalizedPath);
143
+ if (!fullPath.startsWith(projectRoot)) {
144
+ return 'Invalid path: cannot access directories outside project';
145
+ }
146
+ if (!existsSync(fullPath)) {
147
+ return `Directory not found: ${dirPath}`;
148
+ }
149
+ const stat = statSync(fullPath);
150
+ if (!stat.isDirectory()) {
151
+ return `Path is not a directory: ${dirPath}`;
152
+ }
153
+ const results = [];
154
+ const depth = maxDepth || 2;
155
+ function scanDir(dir, currentDepth) {
156
+ if (currentDepth > depth)
157
+ return;
158
+ const entries = readdirSync(dir, { withFileTypes: true });
159
+ for (const entry of entries) {
160
+ // Skip common ignored directories
161
+ if (['node_modules', '.git', 'dist', 'build', '.next', '__pycache__'].includes(entry.name)) {
162
+ continue;
163
+ }
164
+ const relativePath = relative(projectRoot, join(dir, entry.name));
165
+ const prefix = entry.isDirectory() ? '📁 ' : '📄 ';
166
+ results.push(prefix + relativePath);
167
+ if (recursive && entry.isDirectory() && currentDepth < depth) {
168
+ scanDir(join(dir, entry.name), currentDepth + 1);
169
+ }
170
+ }
171
+ }
172
+ scanDir(fullPath, 1);
173
+ return results.slice(0, 200).join('\n');
174
+ }
175
+ catch (error) {
176
+ const errMsg = error instanceof Error ? error.message : String(error);
177
+ return `Error listing directory: ${errMsg}`;
178
+ }
179
+ },
180
+ }),
181
+ /**
182
+ * Get package.json info including scripts
183
+ */
184
+ getPackageInfo: tool({
185
+ description: 'Get package.json contents including scripts, dependencies, and metadata.',
186
+ inputSchema: zodSchema(z.object({
187
+ field: z.string().optional().describe('Specific field to get (scripts, dependencies, etc.)'),
188
+ })),
189
+ execute: async ({ field }) => {
190
+ try {
191
+ const pkgPath = join(projectRoot, 'package.json');
192
+ if (!existsSync(pkgPath)) {
193
+ return 'No package.json found';
194
+ }
195
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
196
+ if (field) {
197
+ return JSON.stringify(pkg[field], null, 2) || `Field "${field}" not found`;
198
+ }
199
+ // Return relevant parts
200
+ return JSON.stringify({
201
+ name: pkg.name,
202
+ scripts: pkg.scripts,
203
+ dependencies: Object.keys(pkg.dependencies || {}),
204
+ devDependencies: Object.keys(pkg.devDependencies || {}),
205
+ }, null, 2);
206
+ }
207
+ catch (error) {
208
+ const errMsg = error instanceof Error ? error.message : String(error);
209
+ return `Error reading package.json: ${errMsg}`;
210
+ }
211
+ },
212
+ }),
213
+ };
214
+ }
215
+ /**
216
+ * Ripgrep skill reference for the AI agent
217
+ */
218
+ export const RIPGREP_SKILL = `
219
+ ## ripgrep Code Search Skill
220
+
221
+ ### Essential Patterns
222
+
223
+ **Find definitions:**
224
+ - Python functions: pattern="^def \\w+\\(", fileType="py"
225
+ - JS/TS functions: pattern="^(export )?(function|const) \\w+", fileType="ts"
226
+ - Classes: pattern="^class \\w+", fileType="py"
227
+
228
+ **Find symbol usage (CRITICAL: use word boundaries):**
229
+ - Exact word: pattern="\\bSymbolName\\b"
230
+ - Literal string: pattern="exact.string", literal=true
231
+
232
+ **Find imports:**
233
+ - ES imports: pattern="^import.*from", fileType="ts"
234
+ - CommonJS: pattern="require\\(", fileType="js"
235
+
236
+ **File type options:**
237
+ - py (Python)
238
+ - js (JavaScript)
239
+ - ts (TypeScript)
240
+ - rust (Rust)
241
+ - go (Go)
242
+
243
+ **Performance tips:**
244
+ 1. Always use fileType when possible
245
+ 2. Use literal=true for exact strings
246
+ 3. Use \\b for word boundaries (prevents partial matches)
247
+ 4. Keep maxResults reasonable
248
+
249
+ **Word boundaries are critical:**
250
+ - WITHOUT: pattern="log" matches "logger", "blogger", "catalog"
251
+ - WITH: pattern="\\blog\\b" matches only "log"
252
+ `;
253
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/ai/tools.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export interface InitOptions {
7
7
  ai?: boolean;
8
8
  provider?: AIProvider;
9
9
  yes?: boolean;
10
+ /** Use agentic mode for deep codebase exploration */
11
+ agentic?: boolean;
10
12
  }
11
13
  /**
12
14
  * Initialize Ralph in the current project
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,gBAAgB,CAAC;AAQxB,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoOrE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,gBAAgB,CAAC;AAQxB,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAsPrE"}
@@ -142,12 +142,27 @@ export async function initCommand(options) {
142
142
  }
143
143
  const selectedModel = modelChoice;
144
144
  const modelLabel = modelOptions.find(m => m.value === selectedModel)?.label || selectedModel;
145
+ // Ask about agentic mode (deep exploration)
146
+ let useAgentic = options.agentic;
147
+ if (useAgentic === undefined && !options.yes) {
148
+ const wantAgentic = await prompts.confirm({
149
+ message: 'Enable deep codebase exploration? (AI will search files and directories)',
150
+ initialValue: true,
151
+ });
152
+ if (prompts.isCancel(wantAgentic)) {
153
+ logger.info('Initialization cancelled');
154
+ return;
155
+ }
156
+ useAgentic = wantAgentic;
157
+ }
145
158
  console.log('');
146
- console.log(simpson.yellow(`─── AI Enhancement (${provider} / ${modelLabel}) ───`));
159
+ const modeLabel = useAgentic ? 'agentic' : 'simple';
160
+ console.log(simpson.yellow(`─── AI Enhancement (${provider} / ${modelLabel} / ${modeLabel}) ───`));
147
161
  const aiEnhancer = new AIEnhancer({
148
162
  provider,
149
163
  model: selectedModel,
150
164
  verbose: true,
165
+ agentic: useAgentic,
151
166
  });
152
167
  spinner.start('Running AI analysis...');
153
168
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}