@kosuke-ai/cli 0.0.10 ā 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 +15 -85
- 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.map +1 -1
- package/dist/kosuke/commands/lint.js +9 -36
- 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 +30 -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 +102 -24
- 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
|
@@ -11,24 +11,7 @@
|
|
|
11
11
|
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
12
12
|
import * as readline from 'readline';
|
|
13
13
|
import { join } from 'path';
|
|
14
|
-
|
|
15
|
-
* Calculate cost based on Claude Sonnet 4.5 pricing
|
|
16
|
-
* - $3 per million input tokens
|
|
17
|
-
* - $15 per million output tokens
|
|
18
|
-
* - $3.75 per million cache creation tokens
|
|
19
|
-
* - $0.30 per million cache read tokens
|
|
20
|
-
*/
|
|
21
|
-
function calculateCost(inputTokens, outputTokens, cacheCreationTokens = 0, cacheReadTokens = 0) {
|
|
22
|
-
const INPUT_COST_PER_MILLION = 3.0;
|
|
23
|
-
const OUTPUT_COST_PER_MILLION = 15.0;
|
|
24
|
-
const CACHE_CREATION_COST_PER_MILLION = 3.75;
|
|
25
|
-
const CACHE_READ_COST_PER_MILLION = 0.3;
|
|
26
|
-
const inputCost = (inputTokens / 1000000) * INPUT_COST_PER_MILLION;
|
|
27
|
-
const outputCost = (outputTokens / 1000000) * OUTPUT_COST_PER_MILLION;
|
|
28
|
-
const cacheCreationCost = (cacheCreationTokens / 1000000) * CACHE_CREATION_COST_PER_MILLION;
|
|
29
|
-
const cacheReadCost = (cacheReadTokens / 1000000) * CACHE_READ_COST_PER_MILLION;
|
|
30
|
-
return inputCost + outputCost + cacheCreationCost + cacheReadCost;
|
|
31
|
-
}
|
|
14
|
+
import { calculateCost } from '../utils/claude-agent.js';
|
|
32
15
|
/**
|
|
33
16
|
* Format token usage for display
|
|
34
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirements.js","sourceRoot":"","sources":["../../../kosuke/commands/requirements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAgB,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"requirements.js","sourceRoot":"","sources":["../../../kosuke/commands/requirements.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-rules.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/sync-rules.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-rules.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/sync-rules.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA2UrE;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4FpF"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Sync rules command - Syncs rules and documentation from kosuke-template
|
|
3
3
|
*/
|
|
4
|
-
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
5
4
|
import simpleGit from 'simple-git';
|
|
6
5
|
import { readFileSync, writeFileSync, existsSync, mkdirSync, rmSync } from 'fs';
|
|
7
6
|
import { join, dirname } from 'path';
|
|
8
7
|
import { isKosukeTemplateRepo } from '../utils/git.js';
|
|
9
8
|
import { runWithPR } from '../utils/pr-orchestrator.js';
|
|
10
9
|
import { runFormat, runLint } from '../utils/validator.js';
|
|
10
|
+
import { runAgent } from '../utils/claude-agent.js';
|
|
11
11
|
import { fixLintErrors } from './lint.js';
|
|
12
12
|
// Constants
|
|
13
13
|
const KOSUKE_TEMPLATE_REPO = 'https://github.com/Kosuke-Org/kosuke-template.git';
|
|
@@ -90,32 +90,15 @@ Take your time to explore the codebase and understand the context before making
|
|
|
90
90
|
- Current version: ${currentFilePath}
|
|
91
91
|
|
|
92
92
|
Explore the repository, read both files, identify improvements, and update the current version conservatively.`;
|
|
93
|
-
const options = {
|
|
94
|
-
model: 'claude-sonnet-4-5',
|
|
95
|
-
systemPrompt,
|
|
96
|
-
maxTurns: 30,
|
|
97
|
-
cwd: workspaceRoot,
|
|
98
|
-
permissionMode: 'bypassPermissions',
|
|
99
|
-
additionalDirectories: [TEMP_DIR, workspaceRoot],
|
|
100
|
-
};
|
|
101
93
|
try {
|
|
102
|
-
|
|
103
|
-
//
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
else if (block.type === 'tool_use') {
|
|
112
|
-
const inputStr = JSON.stringify(block.input, null, 0);
|
|
113
|
-
const shortInput = inputStr.length > 100 ? inputStr.substring(0, 97) + '...' : inputStr;
|
|
114
|
-
console.log(` š§ ${block.name}: ${shortInput}`);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
94
|
+
// Note: Claude Agent SDK doesn't support additionalDirectories in AgentConfig
|
|
95
|
+
// The agent can access TEMP_DIR via relative paths from workspaceRoot
|
|
96
|
+
await runAgent(promptText, {
|
|
97
|
+
systemPrompt,
|
|
98
|
+
maxTurns: 30,
|
|
99
|
+
cwd: workspaceRoot,
|
|
100
|
+
verbosity: 'verbose',
|
|
101
|
+
});
|
|
119
102
|
// Read the adapted content
|
|
120
103
|
const adaptedContent = existsSync(currentFilePath)
|
|
121
104
|
? readFileSync(currentFilePath, 'utf-8')
|
|
@@ -180,26 +163,15 @@ Provide a brief summary (3-5 bullet points) highlighting:
|
|
|
180
163
|
- Removed or deprecated items
|
|
181
164
|
|
|
182
165
|
Keep it concise and developer-friendly. Use bullet points starting with emojis.`;
|
|
183
|
-
const options = {
|
|
184
|
-
model: 'claude-sonnet-4-5',
|
|
185
|
-
maxTurns: 1,
|
|
186
|
-
cwd: process.cwd(),
|
|
187
|
-
};
|
|
188
166
|
try {
|
|
189
|
-
const
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
if (block.type === 'text') {
|
|
196
|
-
summary += block.text;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
167
|
+
const result = await runAgent(prompt, {
|
|
168
|
+
maxTurns: 1,
|
|
169
|
+
cwd: process.cwd(),
|
|
170
|
+
verbosity: 'minimal',
|
|
171
|
+
systemPrompt: '', // No system prompt needed for this simple task
|
|
172
|
+
});
|
|
201
173
|
console.log(' ā
Summary generated\n');
|
|
202
|
-
return
|
|
174
|
+
return result.response.trim();
|
|
203
175
|
}
|
|
204
176
|
catch {
|
|
205
177
|
console.warn(' ā ļø Failed to generate summary, using fallback');
|
|
@@ -270,13 +242,21 @@ async function syncRulesCore(force) {
|
|
|
270
242
|
// Run formatting and linting
|
|
271
243
|
console.log('\nš§ Running formatting and linting...');
|
|
272
244
|
const formatResult = await runFormat();
|
|
273
|
-
if (
|
|
245
|
+
if (formatResult.warning) {
|
|
246
|
+
console.log(` ${formatResult.warning}`);
|
|
247
|
+
}
|
|
248
|
+
else if (!formatResult.success) {
|
|
274
249
|
console.error(' ā Formatting failed:\n', formatResult.error);
|
|
275
250
|
throw new Error('Formatting validation failed');
|
|
276
251
|
}
|
|
277
|
-
|
|
252
|
+
else {
|
|
253
|
+
console.log(' ā
Formatting completed');
|
|
254
|
+
}
|
|
278
255
|
let lintResult = await runLint();
|
|
279
|
-
if (
|
|
256
|
+
if (lintResult.warning) {
|
|
257
|
+
console.log(` ${lintResult.warning}`);
|
|
258
|
+
}
|
|
259
|
+
else if (!lintResult.success) {
|
|
280
260
|
console.log(' ā ļø Linting errors detected, attempting to fix...');
|
|
281
261
|
// Try to fix lint errors with Claude (max 2 attempts)
|
|
282
262
|
let attempts = 0;
|
|
@@ -297,7 +277,9 @@ async function syncRulesCore(force) {
|
|
|
297
277
|
throw new Error('Linting validation failed');
|
|
298
278
|
}
|
|
299
279
|
}
|
|
300
|
-
|
|
280
|
+
else {
|
|
281
|
+
console.log(' ā
Linting completed');
|
|
282
|
+
}
|
|
301
283
|
return {
|
|
302
284
|
adaptation,
|
|
303
285
|
claudeMdContent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-rules.js","sourceRoot":"","sources":["../../../kosuke/commands/sync-rules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-rules.js","sourceRoot":"","sources":["../../../kosuke/commands/sync-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tickets command - Generate tickets from requirements document
|
|
3
|
+
*
|
|
4
|
+
* This command analyzes a requirements document (default: docs.md) and generates
|
|
5
|
+
* structured tickets in three phases:
|
|
6
|
+
* 1. Schema tickets (database design)
|
|
7
|
+
* 2. Backend tickets (API, services, business logic)
|
|
8
|
+
* 3. Frontend tickets (pages, components, UI)
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* kosuke tickets # Use docs.md
|
|
12
|
+
* kosuke tickets --path=custom.md # Custom requirements file
|
|
13
|
+
* kosuke tickets --output=my-tickets.json # Custom output file
|
|
14
|
+
*/
|
|
15
|
+
import type { TicketsOptions, TicketsResult } from '../types.js';
|
|
16
|
+
/**
|
|
17
|
+
* Core tickets logic
|
|
18
|
+
*/
|
|
19
|
+
export declare function ticketsCore(options: TicketsOptions): Promise<TicketsResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Main tickets command
|
|
22
|
+
*/
|
|
23
|
+
export declare function ticketsCommand(options: TicketsOptions): Promise<void>;
|
|
24
|
+
//# sourceMappingURL=tickets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tickets.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/tickets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAU,aAAa,EAAE,MAAM,aAAa,CAAC;AAuNzE;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAkFjF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgD3E"}
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tickets command - Generate tickets from requirements document
|
|
3
|
+
*
|
|
4
|
+
* This command analyzes a requirements document (default: docs.md) and generates
|
|
5
|
+
* structured tickets in three phases:
|
|
6
|
+
* 1. Schema tickets (database design)
|
|
7
|
+
* 2. Backend tickets (API, services, business logic)
|
|
8
|
+
* 3. Frontend tickets (pages, components, UI)
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* kosuke tickets # Use docs.md
|
|
12
|
+
* kosuke tickets --path=custom.md # Custom requirements file
|
|
13
|
+
* kosuke tickets --output=my-tickets.json # Custom output file
|
|
14
|
+
*/
|
|
15
|
+
import { readFileSync, writeFileSync, existsSync } from 'fs';
|
|
16
|
+
import { join } from 'path';
|
|
17
|
+
import { ensureRepoReady } from '../utils/repository-manager.js';
|
|
18
|
+
import { runAgent, formatCostBreakdown } from '../utils/claude-agent.js';
|
|
19
|
+
/**
|
|
20
|
+
* Build system prompt for ticket generation
|
|
21
|
+
*/
|
|
22
|
+
function buildTicketGenerationPrompt(phase, requirementsContent, repoPath) {
|
|
23
|
+
const phaseInstructions = {
|
|
24
|
+
schema: `
|
|
25
|
+
**PHASE 1: DATABASE SCHEMA TICKETS**
|
|
26
|
+
|
|
27
|
+
Generate ONE comprehensive schema ticket that includes:
|
|
28
|
+
- All database tables needed
|
|
29
|
+
- Relationships between tables
|
|
30
|
+
- Indexes and constraints
|
|
31
|
+
- Data types and validation rules
|
|
32
|
+
- Any special considerations (soft deletes, timestamps, etc.)
|
|
33
|
+
|
|
34
|
+
The schema should follow the patterns used in kosuke-template (Prisma ORM).
|
|
35
|
+
|
|
36
|
+
Ticket ID: SCHEMA-1
|
|
37
|
+
`,
|
|
38
|
+
backend: `
|
|
39
|
+
**PHASE 2: BACKEND/API TICKETS**
|
|
40
|
+
|
|
41
|
+
Generate backend tickets for:
|
|
42
|
+
- API endpoints and routes
|
|
43
|
+
- Service layer logic
|
|
44
|
+
- Authentication and authorization
|
|
45
|
+
- Business logic implementation
|
|
46
|
+
- Data validation and processing
|
|
47
|
+
- Third-party integrations
|
|
48
|
+
|
|
49
|
+
Create ONE ticket per feature/module. Each ticket should be independently implementable.
|
|
50
|
+
|
|
51
|
+
Ticket IDs: BACKEND-1, BACKEND-2, BACKEND-3, etc. (sequential)
|
|
52
|
+
|
|
53
|
+
The implementation should follow the patterns used in kosuke-template (tRPC, Next.js API routes).
|
|
54
|
+
`,
|
|
55
|
+
frontend: `
|
|
56
|
+
**PHASE 3: FRONTEND/UI TICKETS**
|
|
57
|
+
|
|
58
|
+
Generate frontend tickets for:
|
|
59
|
+
- Pages and routing
|
|
60
|
+
- UI components
|
|
61
|
+
- Forms and validation
|
|
62
|
+
- State management
|
|
63
|
+
- User interactions
|
|
64
|
+
- Responsive design
|
|
65
|
+
|
|
66
|
+
Create ONE ticket per PAGE. Each ticket should cover all components and functionality for that page.
|
|
67
|
+
|
|
68
|
+
Ticket IDs: FRONTEND-1, FRONTEND-2, FRONTEND-3, etc. (sequential)
|
|
69
|
+
|
|
70
|
+
The implementation should follow the patterns used in kosuke-template (Next.js, React, TailwindCSS).
|
|
71
|
+
`,
|
|
72
|
+
};
|
|
73
|
+
return `You are an expert software architect and project planner analyzing a requirements document to generate implementation tickets.
|
|
74
|
+
|
|
75
|
+
**Your Task:**
|
|
76
|
+
${phaseInstructions[phase]}
|
|
77
|
+
|
|
78
|
+
**Requirements Document:**
|
|
79
|
+
${requirementsContent}
|
|
80
|
+
|
|
81
|
+
**Context:**
|
|
82
|
+
You have access to the kosuke-template repository at: ${repoPath}
|
|
83
|
+
Use this to understand the tech stack, architecture patterns, and coding conventions.
|
|
84
|
+
DO NOT reference specific files in your tickets - use the template only for general understanding.
|
|
85
|
+
|
|
86
|
+
**Ticket Structure:**
|
|
87
|
+
Each ticket must be a JSON object with:
|
|
88
|
+
- id: string (e.g., "SCHEMA-1", "BACKEND-1", "FRONTEND-1")
|
|
89
|
+
- title: string (clear, concise title)
|
|
90
|
+
- description: string (detailed description with acceptance criteria)
|
|
91
|
+
- estimatedEffort: number (1-10, where 1=very easy, 10=very complex)
|
|
92
|
+
- status: "Todo" (all tickets start as Todo)
|
|
93
|
+
|
|
94
|
+
**Output Format:**
|
|
95
|
+
Return ONLY a valid JSON array of tickets. No markdown, no code blocks, just raw JSON.
|
|
96
|
+
|
|
97
|
+
Example:
|
|
98
|
+
[
|
|
99
|
+
{
|
|
100
|
+
"id": "SCHEMA-1",
|
|
101
|
+
"title": "Design and implement complete database schema",
|
|
102
|
+
"description": "Create Prisma schema including:\\n- Users table with authentication fields\\n- Organizations table with multi-tenant support\\n- Posts table for social media content\\n- Automations table for campaign configuration\\n- Leads table with status tracking\\n\\nRelationships:\\n- User belongs to many Organizations\\n- Posts and Automations belong to Organization\\n- Leads belong to Automation and Post\\n\\nAcceptance Criteria:\\n- Schema validates with Prisma\\n- Migrations run successfully\\n- All relationships properly defined\\n- Indexes on foreign keys and frequently queried fields",
|
|
103
|
+
"estimatedEffort": 8,
|
|
104
|
+
"status": "Todo"
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
|
|
108
|
+
**Critical Instructions:**
|
|
109
|
+
1. Analyze the requirements thoroughly
|
|
110
|
+
2. Explore kosuke-template to understand patterns (use read_file, grep, codebase_search tools)
|
|
111
|
+
3. Generate tickets that are actionable and specific
|
|
112
|
+
4. Return ONLY valid JSON - no explanations, no markdown formatting
|
|
113
|
+
5. Ensure ticket IDs follow the naming convention (${phase.toUpperCase()}-N)
|
|
114
|
+
6. Make descriptions detailed with clear acceptance criteria
|
|
115
|
+
7. Estimate effort realistically (consider complexity, dependencies, testing)
|
|
116
|
+
|
|
117
|
+
Begin by exploring the kosuke-template repository, then generate the tickets.`;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Parse tickets from Claude's response
|
|
121
|
+
*/
|
|
122
|
+
function parseTicketsFromResponse(response, phase) {
|
|
123
|
+
try {
|
|
124
|
+
// Extract JSON from response (in case Claude includes extra text)
|
|
125
|
+
const jsonMatch = response.match(/\[[\s\S]*\]/);
|
|
126
|
+
if (!jsonMatch) {
|
|
127
|
+
throw new Error(`No JSON array found in ${phase} response`);
|
|
128
|
+
}
|
|
129
|
+
const tickets = JSON.parse(jsonMatch[0]);
|
|
130
|
+
// Validate tickets
|
|
131
|
+
if (!Array.isArray(tickets)) {
|
|
132
|
+
throw new Error(`Expected array of tickets, got ${typeof tickets}`);
|
|
133
|
+
}
|
|
134
|
+
for (const ticket of tickets) {
|
|
135
|
+
if (!ticket.id || !ticket.title || !ticket.description) {
|
|
136
|
+
throw new Error(`Invalid ticket structure: ${JSON.stringify(ticket)}`);
|
|
137
|
+
}
|
|
138
|
+
if (typeof ticket.estimatedEffort !== 'number' ||
|
|
139
|
+
ticket.estimatedEffort < 1 ||
|
|
140
|
+
ticket.estimatedEffort > 10) {
|
|
141
|
+
throw new Error(`Invalid estimatedEffort for ticket ${ticket.id}: ${ticket.estimatedEffort}`);
|
|
142
|
+
}
|
|
143
|
+
if (!ticket.status) {
|
|
144
|
+
ticket.status = 'Todo';
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return tickets;
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
console.error(`\nā Failed to parse tickets from ${phase} phase:`);
|
|
151
|
+
console.error(`Raw response:\n${response.substring(0, 500)}...\n`);
|
|
152
|
+
throw new Error(`Failed to parse ${phase} tickets: ${error instanceof Error ? error.message : String(error)}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Generate tickets for a specific phase
|
|
157
|
+
*/
|
|
158
|
+
async function generatePhaseTickets(phase, requirementsContent, repoPath) {
|
|
159
|
+
const phaseEmoji = {
|
|
160
|
+
schema: 'šļø',
|
|
161
|
+
backend: 'āļø',
|
|
162
|
+
frontend: 'šØ',
|
|
163
|
+
};
|
|
164
|
+
const phaseName = {
|
|
165
|
+
schema: 'Schema',
|
|
166
|
+
backend: 'Backend',
|
|
167
|
+
frontend: 'Frontend',
|
|
168
|
+
};
|
|
169
|
+
console.log(`\n${'='.repeat(60)}`);
|
|
170
|
+
console.log(`${phaseEmoji[phase]} Phase ${phase === 'schema' ? '1' : phase === 'backend' ? '2' : '3'}: ${phaseName[phase]} Tickets`);
|
|
171
|
+
console.log(`${'='.repeat(60)}\n`);
|
|
172
|
+
const systemPrompt = buildTicketGenerationPrompt(phase, requirementsContent, repoPath);
|
|
173
|
+
const agentResult = await runAgent(`Generate ${phaseName[phase]} tickets from the requirements document.`, {
|
|
174
|
+
systemPrompt,
|
|
175
|
+
cwd: repoPath,
|
|
176
|
+
maxTurns: 25,
|
|
177
|
+
verbosity: 'normal',
|
|
178
|
+
});
|
|
179
|
+
// Parse tickets from response
|
|
180
|
+
const tickets = parseTicketsFromResponse(agentResult.response, phase);
|
|
181
|
+
console.log(`\nā
Generated ${tickets.length} ${phaseName[phase]} ticket${tickets.length === 1 ? '' : 's'}`);
|
|
182
|
+
tickets.forEach((ticket) => {
|
|
183
|
+
console.log(` ${phaseEmoji[phase]} ${ticket.id}: ${ticket.title} (Effort: ${ticket.estimatedEffort}/10)`);
|
|
184
|
+
});
|
|
185
|
+
return {
|
|
186
|
+
tickets,
|
|
187
|
+
tokensUsed: agentResult.tokensUsed,
|
|
188
|
+
cost: agentResult.cost,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Core tickets logic
|
|
193
|
+
*/
|
|
194
|
+
export async function ticketsCore(options) {
|
|
195
|
+
const { path = 'docs.md', template = 'Kosuke-Org/kosuke-template' } = options;
|
|
196
|
+
// 1. Read requirements document
|
|
197
|
+
console.log('š Reading requirements document...');
|
|
198
|
+
const requirementsPath = join(process.cwd(), path);
|
|
199
|
+
if (!existsSync(requirementsPath)) {
|
|
200
|
+
throw new Error(`Requirements document not found: ${path}\n` +
|
|
201
|
+
`Please provide a valid path using --path=<file>\n` +
|
|
202
|
+
`Example: kosuke tickets --path=requirements.md`);
|
|
203
|
+
}
|
|
204
|
+
const requirementsContent = readFileSync(requirementsPath, 'utf-8');
|
|
205
|
+
console.log(` ā
Loaded ${path} (${requirementsContent.length} characters)\n`);
|
|
206
|
+
// 2. Fetch kosuke-template for context
|
|
207
|
+
console.log('š„ Fetching kosuke-template for context...');
|
|
208
|
+
const repoInfo = await ensureRepoReady(template);
|
|
209
|
+
console.log(` ā
Template repository ready at ${repoInfo.localPath}\n`);
|
|
210
|
+
// 3. Generate tickets in three phases
|
|
211
|
+
let totalInputTokens = 0;
|
|
212
|
+
let totalOutputTokens = 0;
|
|
213
|
+
let totalCacheCreationTokens = 0;
|
|
214
|
+
let totalCacheReadTokens = 0;
|
|
215
|
+
let totalCost = 0;
|
|
216
|
+
// Phase 1: Schema
|
|
217
|
+
const schemaResult = await generatePhaseTickets('schema', requirementsContent, repoInfo.localPath);
|
|
218
|
+
totalInputTokens += schemaResult.tokensUsed.input;
|
|
219
|
+
totalOutputTokens += schemaResult.tokensUsed.output;
|
|
220
|
+
totalCacheCreationTokens += schemaResult.tokensUsed.cacheCreation;
|
|
221
|
+
totalCacheReadTokens += schemaResult.tokensUsed.cacheRead;
|
|
222
|
+
totalCost += schemaResult.cost;
|
|
223
|
+
// Phase 2: Backend
|
|
224
|
+
const backendResult = await generatePhaseTickets('backend', requirementsContent, repoInfo.localPath);
|
|
225
|
+
totalInputTokens += backendResult.tokensUsed.input;
|
|
226
|
+
totalOutputTokens += backendResult.tokensUsed.output;
|
|
227
|
+
totalCacheCreationTokens += backendResult.tokensUsed.cacheCreation;
|
|
228
|
+
totalCacheReadTokens += backendResult.tokensUsed.cacheRead;
|
|
229
|
+
totalCost += backendResult.cost;
|
|
230
|
+
// Phase 3: Frontend
|
|
231
|
+
const frontendResult = await generatePhaseTickets('frontend', requirementsContent, repoInfo.localPath);
|
|
232
|
+
totalInputTokens += frontendResult.tokensUsed.input;
|
|
233
|
+
totalOutputTokens += frontendResult.tokensUsed.output;
|
|
234
|
+
totalCacheCreationTokens += frontendResult.tokensUsed.cacheCreation;
|
|
235
|
+
totalCacheReadTokens += frontendResult.tokensUsed.cacheRead;
|
|
236
|
+
totalCost += frontendResult.cost;
|
|
237
|
+
const totalTickets = schemaResult.tickets.length + backendResult.tickets.length + frontendResult.tickets.length;
|
|
238
|
+
return {
|
|
239
|
+
schemaTickets: schemaResult.tickets,
|
|
240
|
+
backendTickets: backendResult.tickets,
|
|
241
|
+
frontendTickets: frontendResult.tickets,
|
|
242
|
+
totalTickets,
|
|
243
|
+
tokensUsed: {
|
|
244
|
+
input: totalInputTokens,
|
|
245
|
+
output: totalOutputTokens,
|
|
246
|
+
cacheCreation: totalCacheCreationTokens,
|
|
247
|
+
cacheRead: totalCacheReadTokens,
|
|
248
|
+
},
|
|
249
|
+
cost: totalCost,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Main tickets command
|
|
254
|
+
*/
|
|
255
|
+
export async function ticketsCommand(options) {
|
|
256
|
+
console.log('š« Starting Ticket Generation...\n');
|
|
257
|
+
try {
|
|
258
|
+
// Validate environment
|
|
259
|
+
if (!process.env.ANTHROPIC_API_KEY) {
|
|
260
|
+
throw new Error('ANTHROPIC_API_KEY environment variable is required');
|
|
261
|
+
}
|
|
262
|
+
// Execute core logic
|
|
263
|
+
const result = await ticketsCore(options);
|
|
264
|
+
// Display summary
|
|
265
|
+
console.log(`\n${'='.repeat(60)}`);
|
|
266
|
+
console.log('š Summary');
|
|
267
|
+
console.log(`${'='.repeat(60)}`);
|
|
268
|
+
console.log(`šļø Schema Tickets: ${result.schemaTickets.length}`);
|
|
269
|
+
console.log(`āļø Backend Tickets: ${result.backendTickets.length}`);
|
|
270
|
+
console.log(`šØ Frontend Tickets: ${result.frontendTickets.length}`);
|
|
271
|
+
console.log(`š Total Tickets: ${result.totalTickets}`);
|
|
272
|
+
console.log(`${'='.repeat(60)}\n`);
|
|
273
|
+
// Display cost breakdown
|
|
274
|
+
const costBreakdown = formatCostBreakdown({
|
|
275
|
+
cost: result.cost,
|
|
276
|
+
tokensUsed: result.tokensUsed,
|
|
277
|
+
fixCount: 0,
|
|
278
|
+
response: '',
|
|
279
|
+
filesReferenced: new Set(),
|
|
280
|
+
});
|
|
281
|
+
console.log(`š° Total Cost: ${costBreakdown}\n`);
|
|
282
|
+
// Save to file
|
|
283
|
+
const outputPath = options.output || 'tickets.json';
|
|
284
|
+
const outputData = {
|
|
285
|
+
generatedAt: new Date().toISOString(),
|
|
286
|
+
totalTickets: result.totalTickets,
|
|
287
|
+
tickets: [...result.schemaTickets, ...result.backendTickets, ...result.frontendTickets],
|
|
288
|
+
};
|
|
289
|
+
writeFileSync(outputPath, JSON.stringify(outputData, null, 2), 'utf-8');
|
|
290
|
+
console.log(`š¾ Tickets saved to: ${outputPath}\n`);
|
|
291
|
+
console.log('ā
Ticket generation completed successfully!');
|
|
292
|
+
}
|
|
293
|
+
catch (error) {
|
|
294
|
+
console.error('\nā Ticket generation failed:', error);
|
|
295
|
+
throw error;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=tickets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tickets.js","sourceRoot":"","sources":["../../../kosuke/commands/tickets.ts"],"names":[],"mappings":"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"}
|
package/dist/kosuke/types.d.ts
CHANGED
|
@@ -37,5 +37,55 @@ export interface GitInfo {
|
|
|
37
37
|
owner: string;
|
|
38
38
|
repo: string;
|
|
39
39
|
}
|
|
40
|
+
export interface GetCodeOptions {
|
|
41
|
+
repo?: string;
|
|
42
|
+
query: string;
|
|
43
|
+
template?: boolean;
|
|
44
|
+
output?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface RepositoryInfo {
|
|
47
|
+
owner: string;
|
|
48
|
+
repo: string;
|
|
49
|
+
fullName: string;
|
|
50
|
+
localPath: string;
|
|
51
|
+
}
|
|
52
|
+
export interface CodeExplorationResult {
|
|
53
|
+
repository: string;
|
|
54
|
+
query: string;
|
|
55
|
+
response: string;
|
|
56
|
+
filesReferenced: string[];
|
|
57
|
+
tokensUsed: {
|
|
58
|
+
input: number;
|
|
59
|
+
output: number;
|
|
60
|
+
cacheCreation: number;
|
|
61
|
+
cacheRead: number;
|
|
62
|
+
};
|
|
63
|
+
cost: number;
|
|
64
|
+
}
|
|
65
|
+
export interface TicketsOptions {
|
|
66
|
+
path?: string;
|
|
67
|
+
output?: string;
|
|
68
|
+
template?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface Ticket {
|
|
71
|
+
id: string;
|
|
72
|
+
title: string;
|
|
73
|
+
description: string;
|
|
74
|
+
estimatedEffort: number;
|
|
75
|
+
status: 'Todo' | 'Done';
|
|
76
|
+
}
|
|
77
|
+
export interface TicketsResult {
|
|
78
|
+
schemaTickets: Ticket[];
|
|
79
|
+
backendTickets: Ticket[];
|
|
80
|
+
frontendTickets: Ticket[];
|
|
81
|
+
totalTickets: number;
|
|
82
|
+
tokensUsed: {
|
|
83
|
+
input: number;
|
|
84
|
+
output: number;
|
|
85
|
+
cacheCreation: number;
|
|
86
|
+
cacheRead: number;
|
|
87
|
+
};
|
|
88
|
+
cost: number;
|
|
89
|
+
}
|
|
40
90
|
export {};
|
|
41
91
|
//# sourceMappingURL=types.d.ts.map
|