@kosuke-ai/cli 0.0.9 ā 0.0.11
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/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +51 -0
- package/dist/index.js.map +1 -1
- package/dist/kosuke/commands/analyse.d.ts.map +1 -1
- package/dist/kosuke/commands/analyse.js +52 -94
- package/dist/kosuke/commands/analyse.js.map +1 -1
- package/dist/kosuke/commands/getcode.d.ts +29 -0
- package/dist/kosuke/commands/getcode.d.ts.map +1 -0
- package/dist/kosuke/commands/getcode.js +204 -0
- package/dist/kosuke/commands/getcode.js.map +1 -0
- package/dist/kosuke/commands/lint.d.ts +5 -0
- package/dist/kosuke/commands/lint.d.ts.map +1 -1
- package/dist/kosuke/commands/lint.js +21 -39
- package/dist/kosuke/commands/lint.js.map +1 -1
- package/dist/kosuke/commands/requirements.d.ts.map +1 -1
- package/dist/kosuke/commands/requirements.js +1 -18
- package/dist/kosuke/commands/requirements.js.map +1 -1
- package/dist/kosuke/commands/sync-rules.d.ts.map +1 -1
- package/dist/kosuke/commands/sync-rules.js +56 -48
- package/dist/kosuke/commands/sync-rules.js.map +1 -1
- package/dist/kosuke/commands/tickets.d.ts +24 -0
- package/dist/kosuke/commands/tickets.d.ts.map +1 -0
- package/dist/kosuke/commands/tickets.js +298 -0
- package/dist/kosuke/commands/tickets.js.map +1 -0
- package/dist/kosuke/types.d.ts +50 -0
- package/dist/kosuke/types.d.ts.map +1 -1
- package/dist/kosuke/utils/claude-agent.d.ts +57 -0
- package/dist/kosuke/utils/claude-agent.d.ts.map +1 -0
- package/dist/kosuke/utils/claude-agent.js +177 -0
- package/dist/kosuke/utils/claude-agent.js.map +1 -0
- package/dist/kosuke/utils/repository-manager.d.ts +13 -0
- package/dist/kosuke/utils/repository-manager.d.ts.map +1 -0
- package/dist/kosuke/utils/repository-manager.js +94 -0
- package/dist/kosuke/utils/repository-manager.js.map +1 -0
- package/dist/kosuke/utils/repository-resolver.d.ts +12 -0
- package/dist/kosuke/utils/repository-resolver.d.ts.map +1 -0
- package/dist/kosuke/utils/repository-resolver.js +186 -0
- package/dist/kosuke/utils/repository-resolver.js.map +1 -0
- package/dist/kosuke/utils/validator.d.ts +19 -7
- package/dist/kosuke/utils/validator.d.ts.map +1 -1
- package/dist/kosuke/utils/validator.js +103 -16
- package/dist/kosuke/utils/validator.js.map +1 -1
- package/dist/lib.d.ts +25 -4
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +22 -3
- package/dist/lib.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -7,12 +7,16 @@
|
|
|
7
7
|
* analyse Analyze and fix code quality issues
|
|
8
8
|
* lint Fix linting errors with Claude AI
|
|
9
9
|
* requirements Interactive requirements gathering
|
|
10
|
+
* getcode Explore GitHub repositories and fetch code
|
|
11
|
+
* tickets Generate implementation tickets from requirements
|
|
10
12
|
*
|
|
11
13
|
* Usage:
|
|
12
14
|
* bun run kosuke sync-rules
|
|
13
15
|
* bun run kosuke analyse
|
|
14
16
|
* bun run kosuke lint
|
|
15
17
|
* bun run kosuke requirements
|
|
18
|
+
* bun run kosuke getcode "query"
|
|
19
|
+
* bun run kosuke tickets
|
|
16
20
|
*
|
|
17
21
|
* Environment Variables:
|
|
18
22
|
* ANTHROPIC_API_KEY - Required for Claude API
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,12 +7,16 @@
|
|
|
7
7
|
* analyse Analyze and fix code quality issues
|
|
8
8
|
* lint Fix linting errors with Claude AI
|
|
9
9
|
* requirements Interactive requirements gathering
|
|
10
|
+
* getcode Explore GitHub repositories and fetch code
|
|
11
|
+
* tickets Generate implementation tickets from requirements
|
|
10
12
|
*
|
|
11
13
|
* Usage:
|
|
12
14
|
* bun run kosuke sync-rules
|
|
13
15
|
* bun run kosuke analyse
|
|
14
16
|
* bun run kosuke lint
|
|
15
17
|
* bun run kosuke requirements
|
|
18
|
+
* bun run kosuke getcode "query"
|
|
19
|
+
* bun run kosuke tickets
|
|
16
20
|
*
|
|
17
21
|
* Environment Variables:
|
|
18
22
|
* ANTHROPIC_API_KEY - Required for Claude API
|
|
@@ -23,6 +27,8 @@ import { syncRulesCommand } from './kosuke/commands/sync-rules.js';
|
|
|
23
27
|
import { analyseCommand } from './kosuke/commands/analyse.js';
|
|
24
28
|
import { lintCommand } from './kosuke/commands/lint.js';
|
|
25
29
|
import { requirementsCommand } from './kosuke/commands/requirements.js';
|
|
30
|
+
import { getCodeCommand, parseGetCodeArgs } from './kosuke/commands/getcode.js';
|
|
31
|
+
import { ticketsCommand } from './kosuke/commands/tickets.js';
|
|
26
32
|
async function main() {
|
|
27
33
|
const args = process.argv.slice(2);
|
|
28
34
|
const command = args[0];
|
|
@@ -66,6 +72,20 @@ async function main() {
|
|
|
66
72
|
await requirementsCommand();
|
|
67
73
|
break;
|
|
68
74
|
}
|
|
75
|
+
case 'getcode': {
|
|
76
|
+
const options = parseGetCodeArgs(args);
|
|
77
|
+
await getCodeCommand(options);
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
case 'tickets': {
|
|
81
|
+
const options = {
|
|
82
|
+
path: args.find((arg) => arg.startsWith('--path='))?.split('=')[1],
|
|
83
|
+
output: args.find((arg) => arg.startsWith('--output='))?.split('=')[1],
|
|
84
|
+
template: args.find((arg) => arg.startsWith('--template='))?.split('=')[1],
|
|
85
|
+
};
|
|
86
|
+
await ticketsCommand(options);
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
69
89
|
default:
|
|
70
90
|
console.error(`ā Unknown command: ${command}\n`);
|
|
71
91
|
showHelp();
|
|
@@ -136,6 +156,37 @@ COMMANDS:
|
|
|
136
156
|
Examples:
|
|
137
157
|
kosuke requirements
|
|
138
158
|
|
|
159
|
+
getcode [repo] "<query>" [options]
|
|
160
|
+
Explore GitHub repositories and fetch code implementations
|
|
161
|
+
Uses Claude Code Agent to find and explain code
|
|
162
|
+
|
|
163
|
+
Options:
|
|
164
|
+
--template, -t Use kosuke-template repository
|
|
165
|
+
--output=<file> Save output to file
|
|
166
|
+
|
|
167
|
+
Examples:
|
|
168
|
+
kosuke getcode "facebook/react" "How does reconciliation work?"
|
|
169
|
+
kosuke getcode "How is routing implemented in Next.js?"
|
|
170
|
+
kosuke getcode --template "What authentication system is used?"
|
|
171
|
+
kosuke getcode -t "Show me pagination examples"
|
|
172
|
+
|
|
173
|
+
tickets [options]
|
|
174
|
+
Generate implementation tickets from requirements document
|
|
175
|
+
Analyzes requirements and creates structured tickets in three phases:
|
|
176
|
+
1. Schema tickets (database design)
|
|
177
|
+
2. Backend tickets (API, services, business logic)
|
|
178
|
+
3. Frontend tickets (pages, components, UI)
|
|
179
|
+
|
|
180
|
+
Options:
|
|
181
|
+
--path=<file> Path to requirements document (default: docs.md)
|
|
182
|
+
--output=<file> Output file for tickets (default: tickets.json)
|
|
183
|
+
--template=<repo> Custom template repository (default: kosuke-template)
|
|
184
|
+
|
|
185
|
+
Examples:
|
|
186
|
+
kosuke tickets # Use docs.md
|
|
187
|
+
kosuke tickets --path=requirements.md # Custom requirements file
|
|
188
|
+
kosuke tickets --output=my-tickets.json # Custom output file
|
|
189
|
+
|
|
139
190
|
WORKFLOW:
|
|
140
191
|
|
|
141
192
|
By default, all commands apply changes locally without git operations.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyse.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/analyse.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"analyse.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/analyse.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AA0O9D;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFhF"}
|
|
@@ -7,31 +7,14 @@
|
|
|
7
7
|
* - Validate after each batch, commit locally
|
|
8
8
|
* - If --pr flag: Push all commits and create single PR
|
|
9
9
|
*/
|
|
10
|
-
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
11
10
|
import { readFileSync } from 'fs';
|
|
12
11
|
import { join } from 'path';
|
|
13
12
|
import { discoverFiles } from '../utils/file-discovery.js';
|
|
14
13
|
import { createBatches } from '../utils/batch-creator.js';
|
|
15
14
|
import { runLint, runTypecheck } from '../utils/validator.js';
|
|
16
15
|
import { runWithPRBatched } from '../utils/pr-orchestrator.js';
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
* - $3 per million input tokens
|
|
20
|
-
* - $15 per million output tokens
|
|
21
|
-
* - $3.75 per million cache creation tokens (input + 25% overhead)
|
|
22
|
-
* - $0.30 per million cache read tokens (90% discount from input)
|
|
23
|
-
*/
|
|
24
|
-
function calculateCost(inputTokens, outputTokens, cacheCreationTokens = 0, cacheReadTokens = 0) {
|
|
25
|
-
const INPUT_COST_PER_MILLION = 3.0;
|
|
26
|
-
const OUTPUT_COST_PER_MILLION = 15.0;
|
|
27
|
-
const CACHE_CREATION_COST_PER_MILLION = 3.75;
|
|
28
|
-
const CACHE_READ_COST_PER_MILLION = 0.3;
|
|
29
|
-
const inputCost = (inputTokens / 1000000) * INPUT_COST_PER_MILLION;
|
|
30
|
-
const outputCost = (outputTokens / 1000000) * OUTPUT_COST_PER_MILLION;
|
|
31
|
-
const cacheCreationCost = (cacheCreationTokens / 1000000) * CACHE_CREATION_COST_PER_MILLION;
|
|
32
|
-
const cacheReadCost = (cacheReadTokens / 1000000) * CACHE_READ_COST_PER_MILLION;
|
|
33
|
-
return inputCost + outputCost + cacheCreationCost + cacheReadCost;
|
|
34
|
-
}
|
|
16
|
+
import { runAgent, formatCostBreakdown } from '../utils/claude-agent.js';
|
|
17
|
+
import { fixLintErrors } from './lint.js';
|
|
35
18
|
/**
|
|
36
19
|
* Run Claude analysis on a single batch
|
|
37
20
|
*/
|
|
@@ -42,15 +25,18 @@ async function analyzeBatch(batch, _claudeMdRules) {
|
|
|
42
25
|
console.log(`${'='.repeat(60)}\n`);
|
|
43
26
|
const workspaceRoot = process.cwd();
|
|
44
27
|
// System prompt: Just point to CLAUDE.md
|
|
45
|
-
const systemPrompt = `You are a code quality analyzer for this repository.
|
|
28
|
+
const systemPrompt = `You are a code quality analyzer and fixer for this repository.
|
|
46
29
|
|
|
47
|
-
Your task is to analyze specific files for code quality issues and
|
|
30
|
+
Your task is to analyze specific files for code quality issues and IMMEDIATELY FIX them according to the rules in CLAUDE.md.
|
|
48
31
|
|
|
49
|
-
|
|
32
|
+
CRITICAL REQUIREMENTS:
|
|
33
|
+
- You MUST use the search_replace or write tools to fix ALL violations you find
|
|
34
|
+
- Simply identifying issues without fixing them is NOT acceptable
|
|
35
|
+
- You will ONLY be given access to a specific batch of files. Do NOT explore the entire repository.
|
|
50
36
|
|
|
51
37
|
The rules you must follow are provided in CLAUDE.md.`;
|
|
52
38
|
// User prompt: Simple and direct
|
|
53
|
-
const promptText = `Analyze these ${batch.files.length} files
|
|
39
|
+
const promptText = `Analyze and FIX code quality issues in these ${batch.files.length} files:
|
|
54
40
|
|
|
55
41
|
${batch.files.map((f) => `- ${f}`).join('\n')}
|
|
56
42
|
|
|
@@ -58,61 +44,25 @@ ${batch.files.map((f) => `- ${f}`).join('\n')}
|
|
|
58
44
|
1. Read CLAUDE.md to understand all the rules and best practices
|
|
59
45
|
2. Read ONLY the files listed above (these are the files in this batch)
|
|
60
46
|
3. Check each file against the CLAUDE.md rules
|
|
61
|
-
4.
|
|
47
|
+
4. **IMMEDIATELY FIX any violations you find using search_replace or write tools**
|
|
62
48
|
5. Do NOT explore or modify other files outside this batch
|
|
63
49
|
|
|
50
|
+
**IMPORTANT:**
|
|
51
|
+
- Don't just describe issues - FIX them!
|
|
52
|
+
- Use search_replace for targeted fixes
|
|
53
|
+
- Use write for complete file rewrites if needed
|
|
54
|
+
- Every violation you identify MUST be fixed
|
|
55
|
+
|
|
64
56
|
**Rules reference:** ${join(workspaceRoot, 'CLAUDE.md')}
|
|
65
57
|
|
|
66
|
-
Start by reading CLAUDE.md, then analyze the batch files.`;
|
|
67
|
-
const options = {
|
|
68
|
-
model: 'claude-sonnet-4-5',
|
|
69
|
-
systemPrompt,
|
|
70
|
-
maxTurns: 15,
|
|
71
|
-
cwd: workspaceRoot,
|
|
72
|
-
permissionMode: 'bypassPermissions',
|
|
73
|
-
};
|
|
58
|
+
Start by reading CLAUDE.md, then analyze and fix the batch files.`;
|
|
74
59
|
try {
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
// Display Claude's reasoning and actions
|
|
82
|
-
for await (const message of responseStream) {
|
|
83
|
-
if (message.type === 'assistant') {
|
|
84
|
-
const content = message.message.content;
|
|
85
|
-
for (const block of content) {
|
|
86
|
-
if (block.type === 'text' && block.text.trim()) {
|
|
87
|
-
// Only show key insights, not every detail
|
|
88
|
-
const text = block.text.trim();
|
|
89
|
-
if (text.includes('violation') ||
|
|
90
|
-
text.includes('fix') ||
|
|
91
|
-
text.includes('issue') ||
|
|
92
|
-
text.includes('ā
') ||
|
|
93
|
-
text.includes('ā')) {
|
|
94
|
-
console.log(` š ${text}`);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
else if (block.type === 'tool_use') {
|
|
98
|
-
if (block.name === 'write' || block.name === 'search_replace') {
|
|
99
|
-
fixCount++;
|
|
100
|
-
console.log(` š§ Applying fix ${fixCount}...`);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
// Track token usage from the response
|
|
106
|
-
if (message.type === 'result' && message.subtype === 'success') {
|
|
107
|
-
// Capture all token types including cache-related tokens
|
|
108
|
-
inputTokens += message.usage.input_tokens || 0;
|
|
109
|
-
outputTokens += message.usage.output_tokens || 0;
|
|
110
|
-
cacheCreationTokens += message.usage.cache_creation_input_tokens || 0;
|
|
111
|
-
cacheReadTokens += message.usage.cache_read_input_tokens || 0;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// Calculate cost for this batch
|
|
115
|
-
const cost = calculateCost(inputTokens, outputTokens, cacheCreationTokens, cacheReadTokens);
|
|
60
|
+
const result = await runAgent(promptText, {
|
|
61
|
+
systemPrompt,
|
|
62
|
+
maxTurns: 15,
|
|
63
|
+
cwd: workspaceRoot,
|
|
64
|
+
verbosity: 'normal',
|
|
65
|
+
});
|
|
116
66
|
// Return placeholder fixes (real fix tracking would require parsing Claude's edits)
|
|
117
67
|
const fixes = batch.files.map((file) => ({
|
|
118
68
|
file,
|
|
@@ -120,26 +70,16 @@ Start by reading CLAUDE.md, then analyze the batch files.`;
|
|
|
120
70
|
description: 'Quality improvements',
|
|
121
71
|
linesChanged: 0,
|
|
122
72
|
}));
|
|
123
|
-
console.log(`\n ⨠Batch analysis complete (${fixCount} fixes applied)`);
|
|
124
|
-
|
|
125
|
-
const tokenBreakdown = [];
|
|
126
|
-
if (inputTokens > 0)
|
|
127
|
-
tokenBreakdown.push(`${inputTokens.toLocaleString()} input`);
|
|
128
|
-
if (outputTokens > 0)
|
|
129
|
-
tokenBreakdown.push(`${outputTokens.toLocaleString()} output`);
|
|
130
|
-
if (cacheCreationTokens > 0)
|
|
131
|
-
tokenBreakdown.push(`${cacheCreationTokens.toLocaleString()} cache write`);
|
|
132
|
-
if (cacheReadTokens > 0)
|
|
133
|
-
tokenBreakdown.push(`${cacheReadTokens.toLocaleString()} cache read`);
|
|
134
|
-
console.log(` š° Cost: $${cost.toFixed(4)} (${tokenBreakdown.join(' + ')} tokens)`);
|
|
73
|
+
console.log(`\n ⨠Batch analysis complete (${result.fixCount} fixes applied)`);
|
|
74
|
+
console.log(` š° Cost: ${formatCostBreakdown(result)}`);
|
|
135
75
|
return {
|
|
136
76
|
batch,
|
|
137
|
-
fixes: fixCount > 0 ? fixes : [],
|
|
138
|
-
inputTokens,
|
|
139
|
-
outputTokens,
|
|
140
|
-
cacheCreationTokens,
|
|
141
|
-
cacheReadTokens,
|
|
142
|
-
cost,
|
|
77
|
+
fixes: result.fixCount > 0 ? fixes : [],
|
|
78
|
+
inputTokens: result.tokensUsed.input,
|
|
79
|
+
outputTokens: result.tokensUsed.output,
|
|
80
|
+
cacheCreationTokens: result.tokensUsed.cacheCreation,
|
|
81
|
+
cacheReadTokens: result.tokensUsed.cacheRead,
|
|
82
|
+
cost: result.cost,
|
|
143
83
|
skipped: false,
|
|
144
84
|
};
|
|
145
85
|
}
|
|
@@ -150,13 +90,31 @@ Start by reading CLAUDE.md, then analyze the batch files.`;
|
|
|
150
90
|
}
|
|
151
91
|
/**
|
|
152
92
|
* Validate fixes with lint and typecheck
|
|
93
|
+
* If lint fails, use Claude to fix the errors automatically
|
|
153
94
|
*/
|
|
154
95
|
async function validateBatch() {
|
|
155
96
|
console.log(` š§ Running validation...`);
|
|
156
|
-
|
|
97
|
+
let lintResult = await runLint();
|
|
157
98
|
if (!lintResult.success) {
|
|
158
|
-
console.
|
|
159
|
-
|
|
99
|
+
console.log(` ā ļø Linting errors detected, attempting to fix...`);
|
|
100
|
+
// Try to fix lint errors with Claude (max 2 attempts)
|
|
101
|
+
let attempts = 0;
|
|
102
|
+
const maxAttempts = 2;
|
|
103
|
+
while (!lintResult.success && attempts < maxAttempts) {
|
|
104
|
+
attempts++;
|
|
105
|
+
console.log(`\n š Lint fix attempt ${attempts}/${maxAttempts}`);
|
|
106
|
+
const fixApplied = await fixLintErrors(lintResult.error || '');
|
|
107
|
+
if (!fixApplied) {
|
|
108
|
+
console.log(` ā ļø No fixes were applied by Claude`);
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
// Re-run lint to check if errors are fixed
|
|
112
|
+
lintResult = await runLint();
|
|
113
|
+
}
|
|
114
|
+
if (!lintResult.success) {
|
|
115
|
+
console.error(` ā Linting failed after ${attempts} attempts:\n${lintResult.error}`);
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
160
118
|
}
|
|
161
119
|
console.log(` ā
Lint passed`);
|
|
162
120
|
const typecheckResult = await runTypecheck();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyse.js","sourceRoot":"","sources":["../../../kosuke/commands/analyse.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAgB,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAwB/D;;;;;;GAMG;AACH,SAAS,aAAa,CACpB,WAAmB,EACnB,YAAoB,EACpB,sBAA8B,CAAC,EAC/B,kBAA0B,CAAC;IAE3B,MAAM,sBAAsB,GAAG,GAAG,CAAC;IACnC,MAAM,uBAAuB,GAAG,IAAI,CAAC;IACrC,MAAM,+BAA+B,GAAG,IAAI,CAAC;IAC7C,MAAM,2BAA2B,GAAG,GAAG,CAAC;IAExC,MAAM,SAAS,GAAG,CAAC,WAAW,GAAG,OAAS,CAAC,GAAG,sBAAsB,CAAC;IACrE,MAAM,UAAU,GAAG,CAAC,YAAY,GAAG,OAAS,CAAC,GAAG,uBAAuB,CAAC;IACxE,MAAM,iBAAiB,GAAG,CAAC,mBAAmB,GAAG,OAAS,CAAC,GAAG,+BAA+B,CAAC;IAC9F,MAAM,aAAa,GAAG,CAAC,eAAe,GAAG,OAAS,CAAC,GAAG,2BAA2B,CAAC;IAElF,OAAO,SAAS,GAAG,UAAU,GAAG,iBAAiB,GAAG,aAAa,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CAAC,KAAY,EAAE,cAAsB;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEpC,yCAAyC;IACzC,MAAM,YAAY,GAAG;;;;;;qDAM8B,CAAC;IAEpD,iCAAiC;IACjC,MAAM,UAAU,GAAG,iBAAiB,KAAK,CAAC,KAAK,CAAC,MAAM;;EAEtD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;uBAStB,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;;0DAEG,CAAC;IAEzD,MAAM,OAAO,GAAY;QACvB,KAAK,EAAE,mBAAmB;QAC1B,YAAY;QACZ,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,aAAa;QAClB,cAAc,EAAE,mBAAmB;KACpC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QAE9D,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,yCAAyC;QACzC,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;gBACxC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC/C,2CAA2C;wBAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC/B,IACE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;4BAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;4BACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;4BAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAClB,CAAC;4BACD,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBACrC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;4BAC9D,QAAQ,EAAE,CAAC;4BACX,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,KAAK,CAAC,CAAC;wBACnD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,sCAAsC;YACtC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/D,yDAAyD;gBACzD,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;gBAC/C,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;gBACjD,mBAAmB,IAAI,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC;gBACtE,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAC;QAE5F,oFAAoF;QACpF,MAAM,KAAK,GAAU,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI;YACJ,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,sBAAsB;YACnC,YAAY,EAAE,CAAC;SAChB,CAAC,CAAC,CAAC;QAEJ,OAAO,CAAC,GAAG,CAAC,mCAAmC,QAAQ,iBAAiB,CAAC,CAAC;QAE1E,gCAAgC;QAChC,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,IAAI,WAAW,GAAG,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAClF,IAAI,YAAY,GAAG,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACrF,IAAI,mBAAmB,GAAG,CAAC;YACzB,cAAc,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAC7E,IAAI,eAAe,GAAG,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAE/F,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEtF,OAAO;YACL,KAAK;YACL,KAAK,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAChC,WAAW;YACX,YAAY;YACZ,mBAAmB;YACnB,eAAe;YACf,IAAI;YACJ,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa;IAC1B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,MAAM,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,yBAAyB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAEhC,MAAM,eAAe,GAAG,MAAM,YAAY,EAAE,CAAC;IAC7C,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,+BAA+B,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAErC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAAC,OAAuB;IAIpD,uBAAuB;IACvB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,MAAM,qBAAqB,CAAC,CAAC;IAE3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC;IACxC,CAAC;IAED,0DAA0D;IAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;IAEtD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAAC,OAAgB,EAAE,aAAqB;IACtE,MAAM,gBAAgB,GAAkB,EAAE,CAAC;IAC3C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,wBAAwB,GAAG,CAAC,CAAC;IACjC,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAE7B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7D,sCAAsC;QACtC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAExD,0BAA0B;QAC1B,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QAEtC,IAAI,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAEhD,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YAClC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC;YACzB,gBAAgB,IAAI,MAAM,CAAC,WAAW,CAAC;YACvC,iBAAiB,IAAI,MAAM,CAAC,YAAY,CAAC;YACzC,wBAAwB,IAAI,MAAM,CAAC,mBAAmB,CAAC;YACvD,oBAAoB,IAAI,MAAM,CAAC,eAAe,CAAC;QACjD,CAAC;aAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,qCAAqC;YACrC,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC3D,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO;QACL,gBAAgB;QAChB,UAAU;QACV,SAAS;QACT,gBAAgB;QAChB,iBAAiB;QACjB,wBAAwB;QACxB,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAA0B,EAAE;IAC/D,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAExD,IAAI,CAAC;QACH,uBAAuB;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,oDAAoD;QACpD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAElE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAEpD,0BAA0B;YAC1B,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,IAA0B,EAAE;gBACrF,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBACxD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAChD;oBACE,YAAY,EAAE,yBAAyB;oBACvC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,aAAa,EAAE,CAAC,UAAkB,EAAE,EAAE,CACpC,iBAAiB,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,iBAAiB;oBAC5D,OAAO,EAAE,yBAAyB,IAAI,GAAG;oBACzC,MAAM,EAAE,EAAE,EAAE,mDAAmD;oBAC/D,oBAAoB,EAAE,aAAa;iBACpC,EACD,eAAe,CAChB,CAAC;gBAEF,mBAAmB;gBACnB,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC3D,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAChF,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAEvE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,gBAAgB,gBAAgB,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;gBACjF,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,QAAQ,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,sBAAsB,EAAE,CAAC;oBACvE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAE/D,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;YACxF,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,UAAU,QAAQ,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"analyse.js","sourceRoot":"","sources":["../../../kosuke/commands/analyse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GetCode command - Explore GitHub repositories and fetch code implementations
|
|
3
|
+
*
|
|
4
|
+
* This command uses Claude Code Agent to explore any GitHub repository and
|
|
5
|
+
* fetch code implementations based on natural language queries.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* kosuke getcode "owner/repo" "query" # Explicit repository
|
|
9
|
+
* kosuke getcode "query" # Infer from query
|
|
10
|
+
* kosuke getcode --template "query" # Use kosuke-template
|
|
11
|
+
*/
|
|
12
|
+
import type { GetCodeOptions, CodeExplorationResult } from '../types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Parse arguments for getcode command
|
|
15
|
+
* Handles multiple argument patterns:
|
|
16
|
+
* kosuke getcode "query"
|
|
17
|
+
* kosuke getcode "owner/repo" "query"
|
|
18
|
+
* kosuke getcode --template "query"
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseGetCodeArgs(args: string[]): GetCodeOptions;
|
|
21
|
+
/**
|
|
22
|
+
* Core getcode logic (can be used programmatically by other commands)
|
|
23
|
+
*/
|
|
24
|
+
export declare function getCodeCore(options: GetCodeOptions): Promise<CodeExplorationResult>;
|
|
25
|
+
/**
|
|
26
|
+
* Main getcode command
|
|
27
|
+
*/
|
|
28
|
+
export declare function getCodeCommand(options: GetCodeOptions): Promise<void>;
|
|
29
|
+
//# sourceMappingURL=getcode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getcode.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/getcode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAsC/D;AAkDD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAoCzF;AAsCD;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC3E"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GetCode command - Explore GitHub repositories and fetch code implementations
|
|
3
|
+
*
|
|
4
|
+
* This command uses Claude Code Agent to explore any GitHub repository and
|
|
5
|
+
* fetch code implementations based on natural language queries.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* kosuke getcode "owner/repo" "query" # Explicit repository
|
|
9
|
+
* kosuke getcode "query" # Infer from query
|
|
10
|
+
* kosuke getcode --template "query" # Use kosuke-template
|
|
11
|
+
*/
|
|
12
|
+
import { writeFileSync } from 'fs';
|
|
13
|
+
import { resolveRepository } from '../utils/repository-resolver.js';
|
|
14
|
+
import { ensureRepoReady } from '../utils/repository-manager.js';
|
|
15
|
+
import { runAgent, formatCostBreakdown } from '../utils/claude-agent.js';
|
|
16
|
+
/**
|
|
17
|
+
* Parse arguments for getcode command
|
|
18
|
+
* Handles multiple argument patterns:
|
|
19
|
+
* kosuke getcode "query"
|
|
20
|
+
* kosuke getcode "owner/repo" "query"
|
|
21
|
+
* kosuke getcode --template "query"
|
|
22
|
+
*/
|
|
23
|
+
export function parseGetCodeArgs(args) {
|
|
24
|
+
const flags = {
|
|
25
|
+
template: args.includes('--template') || args.includes('-t'),
|
|
26
|
+
output: args.find((arg) => arg.startsWith('--output='))?.split('=')[1],
|
|
27
|
+
};
|
|
28
|
+
// Remove flags from args to get positional arguments
|
|
29
|
+
const positionalArgs = args.filter((arg) => !arg.startsWith('--') && !arg.startsWith('-') && arg !== 'getcode');
|
|
30
|
+
// Determine repo and query based on number of positional args
|
|
31
|
+
let repo;
|
|
32
|
+
let query;
|
|
33
|
+
if (positionalArgs.length === 0) {
|
|
34
|
+
throw new Error('Missing query argument.\n' +
|
|
35
|
+
'Usage:\n' +
|
|
36
|
+
' kosuke getcode "query"\n' +
|
|
37
|
+
' kosuke getcode "owner/repo" "query"\n' +
|
|
38
|
+
' kosuke getcode --template "query"');
|
|
39
|
+
}
|
|
40
|
+
else if (positionalArgs.length === 1) {
|
|
41
|
+
// Single argument: treat as query
|
|
42
|
+
query = positionalArgs[0];
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// Two or more arguments: first is repo, second is query
|
|
46
|
+
repo = positionalArgs[0];
|
|
47
|
+
query = positionalArgs[1];
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
repo,
|
|
51
|
+
query,
|
|
52
|
+
template: flags.template,
|
|
53
|
+
output: flags.output,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Build system prompt for code exploration
|
|
58
|
+
*/
|
|
59
|
+
function buildExplorationSystemPrompt(repoName, repoPath) {
|
|
60
|
+
return `You are an expert code exploration agent analyzing the repository: ${repoName}
|
|
61
|
+
|
|
62
|
+
**Your Purpose:**
|
|
63
|
+
Users will ask you to find reference implementations they can learn from and adapt for
|
|
64
|
+
their own projects. Your job is to provide COMPLETE, USABLE code examples with full context.
|
|
65
|
+
|
|
66
|
+
**When a user asks about a feature/implementation:**
|
|
67
|
+
|
|
68
|
+
1. **Locate ALL relevant files** - Find the complete implementation, not just snippets
|
|
69
|
+
2. **Show COMPLETE code** - Include entire files or substantial sections, never truncate
|
|
70
|
+
3. **Include dependencies** - Show imports, types, configurations, utilities used
|
|
71
|
+
4. **Explain architecture** - How components connect, data flow, design patterns
|
|
72
|
+
5. **Provide context** - Related files, setup requirements, usage examples
|
|
73
|
+
|
|
74
|
+
**Response Structure:**
|
|
75
|
+
|
|
76
|
+
1. **Overview** - What you found and where it's located
|
|
77
|
+
2. **Complete Code Snippets** - Full, copy-ready implementations with file paths
|
|
78
|
+
3. **Implementation Details** - How it works, key patterns, important decisions
|
|
79
|
+
4. **Dependencies & Setup** - Required imports, configurations, related utilities
|
|
80
|
+
5. **Usage Examples** - How the feature is actually used in the codebase
|
|
81
|
+
|
|
82
|
+
**Critical Rules:**
|
|
83
|
+
- NEVER truncate code - show complete implementations
|
|
84
|
+
- ALWAYS include file paths in code blocks
|
|
85
|
+
- ALWAYS show imports and type definitions
|
|
86
|
+
- ALWAYS explain what makes this implementation work
|
|
87
|
+
- If a feature spans multiple files, show ALL of them
|
|
88
|
+
- Include configuration, setup, and initialization code
|
|
89
|
+
|
|
90
|
+
**Format all code snippets as:**
|
|
91
|
+
\`\`\`language
|
|
92
|
+
// Complete implementation from: path/to/file.ext
|
|
93
|
+
[full code here]
|
|
94
|
+
\`\`\`
|
|
95
|
+
|
|
96
|
+
Your goal: Provide reference implementations so complete that users can understand and
|
|
97
|
+
adapt them immediately.
|
|
98
|
+
|
|
99
|
+
**Repository Details:**
|
|
100
|
+
- Name: ${repoName}
|
|
101
|
+
- Local Path: ${repoPath}`;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Core getcode logic (can be used programmatically by other commands)
|
|
105
|
+
*/
|
|
106
|
+
export async function getCodeCore(options) {
|
|
107
|
+
const { repo, query, template = false } = options;
|
|
108
|
+
console.log('š Resolving repository...');
|
|
109
|
+
// Resolve repository (infer if needed)
|
|
110
|
+
const repoIdentifier = await resolveRepository(repo, query, template, process.env.GITHUB_TOKEN);
|
|
111
|
+
console.log(` ā
Repository: ${repoIdentifier}\n`);
|
|
112
|
+
// Ensure repository is ready (clone or update)
|
|
113
|
+
console.log('š„ Preparing repository...');
|
|
114
|
+
const repoInfo = await ensureRepoReady(repoIdentifier);
|
|
115
|
+
// Explore code with Claude
|
|
116
|
+
console.log(`š¤ Exploring code with Claude...\n`);
|
|
117
|
+
const systemPrompt = buildExplorationSystemPrompt(repoIdentifier, repoInfo.localPath);
|
|
118
|
+
const agentResult = await runAgent(query, {
|
|
119
|
+
systemPrompt,
|
|
120
|
+
cwd: repoInfo.localPath,
|
|
121
|
+
maxTurns: 20,
|
|
122
|
+
verbosity: 'normal',
|
|
123
|
+
});
|
|
124
|
+
console.log(`\nā
Exploration complete!\n`);
|
|
125
|
+
return {
|
|
126
|
+
repository: repoIdentifier,
|
|
127
|
+
query,
|
|
128
|
+
response: agentResult.response,
|
|
129
|
+
filesReferenced: Array.from(agentResult.filesReferenced),
|
|
130
|
+
tokensUsed: agentResult.tokensUsed,
|
|
131
|
+
cost: agentResult.cost,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Format exploration result for display
|
|
136
|
+
*/
|
|
137
|
+
function formatExplorationResult(result) {
|
|
138
|
+
const header = `# Code from ${result.repository}
|
|
139
|
+
|
|
140
|
+
**Query:** ${result.query}
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
`;
|
|
145
|
+
const footer = `
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Token Usage
|
|
150
|
+
|
|
151
|
+
- **Input:** ${result.tokensUsed.input.toLocaleString()} tokens
|
|
152
|
+
- **Output:** ${result.tokensUsed.output.toLocaleString()} tokens${result.tokensUsed.cacheCreation > 0
|
|
153
|
+
? `\n- **Cache Creation:** ${result.tokensUsed.cacheCreation.toLocaleString()} tokens`
|
|
154
|
+
: ''}${result.tokensUsed.cacheRead > 0
|
|
155
|
+
? `\n- **Cache Read:** ${result.tokensUsed.cacheRead.toLocaleString()} tokens`
|
|
156
|
+
: ''}
|
|
157
|
+
- **Cost:** $${result.cost.toFixed(4)}
|
|
158
|
+
|
|
159
|
+
${result.filesReferenced.length > 0 ? `**Files Referenced:** ${result.filesReferenced.join(', ')}` : ''}
|
|
160
|
+
`;
|
|
161
|
+
return header + result.response + footer;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Main getcode command
|
|
165
|
+
*/
|
|
166
|
+
export async function getCodeCommand(options) {
|
|
167
|
+
console.log('š Starting Code Exploration...\n');
|
|
168
|
+
try {
|
|
169
|
+
// Validate environment
|
|
170
|
+
if (!process.env.ANTHROPIC_API_KEY) {
|
|
171
|
+
throw new Error('ANTHROPIC_API_KEY environment variable is required');
|
|
172
|
+
}
|
|
173
|
+
// Execute core logic
|
|
174
|
+
const result = await getCodeCore(options);
|
|
175
|
+
// Display cost breakdown
|
|
176
|
+
const costBreakdown = formatCostBreakdown({
|
|
177
|
+
cost: result.cost,
|
|
178
|
+
tokensUsed: result.tokensUsed,
|
|
179
|
+
fixCount: 0,
|
|
180
|
+
response: '',
|
|
181
|
+
filesReferenced: new Set(result.filesReferenced),
|
|
182
|
+
});
|
|
183
|
+
console.log(`š° Cost: ${costBreakdown}\n`);
|
|
184
|
+
// Format and display result
|
|
185
|
+
const formattedOutput = formatExplorationResult(result);
|
|
186
|
+
// Save to file if --output flag is provided
|
|
187
|
+
if (options.output) {
|
|
188
|
+
writeFileSync(options.output, formattedOutput, 'utf-8');
|
|
189
|
+
console.log(`š Output saved to: ${options.output}\n`);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
// Display to stdout
|
|
193
|
+
console.log('ā'.repeat(60));
|
|
194
|
+
console.log(formattedOutput);
|
|
195
|
+
console.log('ā'.repeat(60));
|
|
196
|
+
}
|
|
197
|
+
console.log('\nā
Code exploration completed successfully!');
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
console.error('\nā Code exploration failed:', error);
|
|
201
|
+
throw error;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=getcode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getcode.js","sourceRoot":"","sources":["../../../kosuke/commands/getcode.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
* Strategy: Run linter, give errors to Claude, let it fix them
|
|
5
5
|
*/
|
|
6
6
|
import type { LintOptions } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Run Claude-powered lint fixing
|
|
9
|
+
* Exported so other commands can use it
|
|
10
|
+
*/
|
|
11
|
+
export declare function fixLintErrors(lintErrors: string): Promise<boolean>;
|
|
7
12
|
/**
|
|
8
13
|
* Main lint command
|
|
9
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/lint.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/lint.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ/C;;;GAGG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiDxE;AAkED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD1E"}
|