@kosuke-ai/cli 0.0.40 โ†’ 0.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +77 -41
  4. package/dist/index.js.map +1 -1
  5. package/dist/kosuke/commands/build.d.ts +2 -2
  6. package/dist/kosuke/commands/build.d.ts.map +1 -1
  7. package/dist/kosuke/commands/build.js +21 -49
  8. package/dist/kosuke/commands/build.js.map +1 -1
  9. package/dist/kosuke/commands/plan.d.ts +44 -0
  10. package/dist/kosuke/commands/plan.d.ts.map +1 -0
  11. package/dist/kosuke/commands/plan.js +817 -0
  12. package/dist/kosuke/commands/plan.js.map +1 -0
  13. package/dist/kosuke/commands/requirements.d.ts.map +1 -1
  14. package/dist/kosuke/commands/requirements.js +2 -106
  15. package/dist/kosuke/commands/requirements.js.map +1 -1
  16. package/dist/kosuke/commands/review.d.ts.map +1 -1
  17. package/dist/kosuke/commands/review.js +4 -2
  18. package/dist/kosuke/commands/review.js.map +1 -1
  19. package/dist/kosuke/commands/ship.d.ts.map +1 -1
  20. package/dist/kosuke/commands/ship.js +8 -2
  21. package/dist/kosuke/commands/ship.js.map +1 -1
  22. package/dist/kosuke/commands/tickets.d.ts +27 -18
  23. package/dist/kosuke/commands/tickets.d.ts.map +1 -1
  24. package/dist/kosuke/commands/tickets.js +176 -152
  25. package/dist/kosuke/commands/tickets.js.map +1 -1
  26. package/dist/kosuke/types.d.ts +8 -0
  27. package/dist/kosuke/types.d.ts.map +1 -1
  28. package/dist/kosuke/utils/claude-agent.d.ts.map +1 -1
  29. package/dist/kosuke/utils/claude-agent.js +12 -0
  30. package/dist/kosuke/utils/claude-agent.js.map +1 -1
  31. package/dist/kosuke/utils/git.d.ts +4 -0
  32. package/dist/kosuke/utils/git.d.ts.map +1 -1
  33. package/dist/kosuke/utils/git.js +7 -0
  34. package/dist/kosuke/utils/git.js.map +1 -1
  35. package/dist/kosuke/utils/interactive-input.d.ts +22 -0
  36. package/dist/kosuke/utils/interactive-input.d.ts.map +1 -0
  37. package/dist/kosuke/utils/interactive-input.js +124 -0
  38. package/dist/kosuke/utils/interactive-input.js.map +1 -0
  39. package/dist/kosuke/utils/logger.d.ts +1 -1
  40. package/dist/kosuke/utils/logger.d.ts.map +1 -1
  41. package/dist/kosuke/utils/ticket-writer.d.ts +48 -0
  42. package/dist/kosuke/utils/ticket-writer.d.ts.map +1 -0
  43. package/dist/kosuke/utils/ticket-writer.js +259 -0
  44. package/dist/kosuke/utils/ticket-writer.js.map +1 -0
  45. package/dist/lib.d.ts +6 -1
  46. package/dist/lib.d.ts.map +1 -1
  47. package/dist/lib.js +3 -0
  48. package/dist/lib.js.map +1 -1
  49. package/dist/package.json +1 -1
  50. package/package.json +1 -1
@@ -34,4 +34,8 @@ export declare function getGitDiff(cwd?: string): Promise<string>;
34
34
  * Check if there are any uncommitted changes
35
35
  */
36
36
  export declare function hasUncommittedChanges(cwd?: string): Promise<boolean>;
37
+ /**
38
+ * Stage all changes (including untracked files) so they appear in git diff
39
+ */
40
+ export declare function stageAllChanges(cwd?: string): Promise<void>;
37
41
  //# sourceMappingURL=git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/git.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAgD3C;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBnE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOzE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAe,EAC3B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzE;AAED;;GAEG;AACH,wBAAsB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIpE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU9D;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAI1E"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/git.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAgD3C;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBnE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOzE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAe,EAC3B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzE;AAED;;GAEG;AACH,wBAAsB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIpE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU9D;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAI1E;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE"}
@@ -135,4 +135,11 @@ export async function hasUncommittedChanges(cwd) {
135
135
  const status = await git.status();
136
136
  return status.files.length > 0;
137
137
  }
138
+ /**
139
+ * Stage all changes (including untracked files) so they appear in git diff
140
+ */
141
+ export async function stageAllChanges(cwd) {
142
+ const git = getGitInstance(cwd);
143
+ await git.add('.');
144
+ }
138
145
  //# sourceMappingURL=git.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../kosuke/utils/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../kosuke/utils/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Interactive CLI input utilities
3
+ *
4
+ * Provides consistent multi-line input handling across commands.
5
+ * Works reliably in Docker and all terminal environments.
6
+ */
7
+ /**
8
+ * Ask a question with multi-line support
9
+ *
10
+ * Controls:
11
+ * - Enter: Submit input
12
+ * - Ctrl+J: New line (works in Docker)
13
+ * - Ctrl+C: Exit
14
+ * - Ctrl+D: Exit if empty
15
+ * - Backspace: Delete character
16
+ * - Tab: Insert 2 spaces
17
+ *
18
+ * @param prompt - The prompt to display (e.g., "You: ")
19
+ * @returns The user's input (trimmed)
20
+ */
21
+ export declare function askQuestion(prompt: string): Promise<string>;
22
+ //# sourceMappingURL=interactive-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-input.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/interactive-input.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0H3D"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Interactive CLI input utilities
3
+ *
4
+ * Provides consistent multi-line input handling across commands.
5
+ * Works reliably in Docker and all terminal environments.
6
+ */
7
+ /**
8
+ * Ask a question with multi-line support
9
+ *
10
+ * Controls:
11
+ * - Enter: Submit input
12
+ * - Ctrl+J: New line (works in Docker)
13
+ * - Ctrl+C: Exit
14
+ * - Ctrl+D: Exit if empty
15
+ * - Backspace: Delete character
16
+ * - Tab: Insert 2 spaces
17
+ *
18
+ * @param prompt - The prompt to display (e.g., "You: ")
19
+ * @returns The user's input (trimmed)
20
+ */
21
+ export function askQuestion(prompt) {
22
+ return new Promise((resolve) => {
23
+ const lines = [];
24
+ let currentLine = '';
25
+ let escapeBuffer = '';
26
+ console.log('(Enter to submit, Ctrl+J for new line, Ctrl+C to exit)\n');
27
+ process.stdout.write(prompt);
28
+ // Store original stdin state
29
+ const wasRaw = process.stdin.isRaw;
30
+ // Enable raw mode to capture key combinations
31
+ if (process.stdin.isTTY) {
32
+ process.stdin.setRawMode(true);
33
+ }
34
+ // Remove existing listeners
35
+ process.stdin.removeAllListeners('data');
36
+ process.stdin.resume();
37
+ process.stdin.setEncoding('utf8');
38
+ const onData = (key) => {
39
+ // Handle escape sequences (for Shift+Enter and other special keys)
40
+ if (escapeBuffer.length > 0 || key === '\x1b') {
41
+ escapeBuffer += key;
42
+ // Check for Shift+Enter sequences
43
+ // Common sequences: \x1b[13;2~ or \x1b\r or \x1bOM
44
+ if (escapeBuffer === '\x1b\r' ||
45
+ escapeBuffer === '\x1b\n' ||
46
+ escapeBuffer.match(/\x1b\[13;2~/)) {
47
+ // Shift+Enter - add new line
48
+ lines.push(currentLine);
49
+ currentLine = '';
50
+ process.stdout.write('\n' + ' '.repeat(prompt.length));
51
+ escapeBuffer = '';
52
+ return;
53
+ }
54
+ // If escape sequence is incomplete, wait for more
55
+ if (escapeBuffer.length < 6) {
56
+ return;
57
+ }
58
+ // Unknown escape sequence, ignore it
59
+ escapeBuffer = '';
60
+ return;
61
+ }
62
+ // Ctrl+C - exit
63
+ if (key === '\u0003') {
64
+ cleanup();
65
+ process.exit(0);
66
+ }
67
+ // Ctrl+D (EOF)
68
+ if (key === '\u0004') {
69
+ if (currentLine === '' && lines.length === 0) {
70
+ cleanup();
71
+ resolve('');
72
+ return;
73
+ }
74
+ }
75
+ // Ctrl+J (linefeed) - new line (works in Docker)
76
+ if (key === '\n') {
77
+ lines.push(currentLine);
78
+ currentLine = '';
79
+ process.stdout.write('\n' + ' '.repeat(prompt.length));
80
+ return;
81
+ }
82
+ // Regular Enter key (without Shift) - submit
83
+ if (key === '\r') {
84
+ if (currentLine.length > 0) {
85
+ lines.push(currentLine);
86
+ }
87
+ process.stdout.write('\n');
88
+ cleanup();
89
+ resolve(lines.join('\n').trim());
90
+ return;
91
+ }
92
+ // Backspace
93
+ if (key === '\u007f' || key === '\b' || key === '\x08') {
94
+ if (currentLine.length > 0) {
95
+ currentLine = currentLine.slice(0, -1);
96
+ process.stdout.write('\b \b');
97
+ }
98
+ return;
99
+ }
100
+ // Tab - insert 2 spaces
101
+ if (key === '\t') {
102
+ currentLine += ' ';
103
+ process.stdout.write(' ');
104
+ return;
105
+ }
106
+ // Ignore other control characters (except printable ones)
107
+ if (key.charCodeAt(0) < 32) {
108
+ return;
109
+ }
110
+ // Regular character
111
+ currentLine += key;
112
+ process.stdout.write(key);
113
+ };
114
+ const cleanup = () => {
115
+ process.stdin.removeListener('data', onData);
116
+ if (process.stdin.isTTY) {
117
+ process.stdin.setRawMode(wasRaw || false);
118
+ }
119
+ process.stdin.pause();
120
+ };
121
+ process.stdin.on('data', onData);
122
+ });
123
+ }
124
+ //# sourceMappingURL=interactive-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-input.js","sourceRoot":"","sources":["../../../kosuke/utils/interactive-input.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  /**
8
8
  * Command names supported by the logger
9
9
  */
10
- export type CommandName = 'ship' | 'test' | 'review' | 'getcode' | 'tickets' | 'migrate';
10
+ export type CommandName = 'ship' | 'test' | 'review' | 'getcode' | 'tickets' | 'migrate' | 'plan';
11
11
  /**
12
12
  * Execution status
13
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Shared ticket writing and validation utilities
3
+ *
4
+ * Used by both `plan` and `tickets` commands to ensure consistent
5
+ * ticket structure, validation, and file output.
6
+ */
7
+ import type { Ticket } from '../types.js';
8
+ /**
9
+ * Review result structure from validation agent
10
+ */
11
+ export interface TicketReviewResult {
12
+ validationIssues: string[];
13
+ fixedTickets: Ticket[];
14
+ }
15
+ /**
16
+ * Parse tickets from a JSON string or response
17
+ * Validates basic structure and normalizes data
18
+ */
19
+ export declare function parseTickets(response: string): Ticket[];
20
+ /**
21
+ * Sort tickets by processing order
22
+ */
23
+ export declare function sortTicketsByOrder(tickets: Ticket[]): Ticket[];
24
+ /**
25
+ * Validate and fix tickets using Claude
26
+ * Returns fixed tickets and list of issues found
27
+ */
28
+ export declare function validateAndFixTickets(tickets: Ticket[], projectPath: string): Promise<TicketReviewResult>;
29
+ /**
30
+ * Write tickets to a JSON file
31
+ */
32
+ export declare function writeTicketsFile(outputPath: string, tickets: Ticket[]): void;
33
+ /**
34
+ * Display tickets summary to console
35
+ */
36
+ export declare function displayTicketsSummary(tickets: Ticket[]): void;
37
+ /**
38
+ * Full pipeline: parse, validate, sort, and write tickets
39
+ * Used by both plan.ts and tickets.ts
40
+ */
41
+ export declare function processAndWriteTickets(rawTickets: Ticket[], outputPath: string, projectPath: string, options?: {
42
+ skipValidation?: boolean;
43
+ displaySummary?: boolean;
44
+ }): Promise<{
45
+ tickets: Ticket[];
46
+ validationIssues: string[];
47
+ }>;
48
+ //# sourceMappingURL=ticket-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-writer.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/ticket-writer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAmCvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAuB9D;AA4DD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CA8D7B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAQ5E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAyB7D;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACnE,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuB5D"}
@@ -0,0 +1,259 @@
1
+ /**
2
+ * Shared ticket writing and validation utilities
3
+ *
4
+ * Used by both `plan` and `tickets` commands to ensure consistent
5
+ * ticket structure, validation, and file output.
6
+ */
7
+ import { writeFileSync } from 'fs';
8
+ import { runAgent } from './claude-agent.js';
9
+ /**
10
+ * Parse tickets from a JSON string or response
11
+ * Validates basic structure and normalizes data
12
+ */
13
+ export function parseTickets(response) {
14
+ // Extract JSON from response (in case Claude includes extra text)
15
+ const jsonMatch = response.match(/\[[\s\S]*\]/);
16
+ if (!jsonMatch) {
17
+ throw new Error('No JSON array found in response');
18
+ }
19
+ const tickets = JSON.parse(jsonMatch[0]);
20
+ if (!Array.isArray(tickets)) {
21
+ throw new Error(`Expected array of tickets, got ${typeof tickets}`);
22
+ }
23
+ const validTypes = ['schema', 'backend', 'frontend', 'test'];
24
+ for (const ticket of tickets) {
25
+ if (!ticket.id || !ticket.title || !ticket.description) {
26
+ throw new Error(`Invalid ticket structure: ${JSON.stringify(ticket)}`);
27
+ }
28
+ if (!ticket.type || !validTypes.includes(ticket.type)) {
29
+ throw new Error(`Invalid or missing type for ticket ${ticket.id}: ${ticket.type}`);
30
+ }
31
+ if (typeof ticket.estimatedEffort !== 'number' ||
32
+ ticket.estimatedEffort < 1 ||
33
+ ticket.estimatedEffort > 10) {
34
+ throw new Error(`Invalid estimatedEffort for ticket ${ticket.id}: ${ticket.estimatedEffort}`);
35
+ }
36
+ if (!ticket.status) {
37
+ ticket.status = 'Todo';
38
+ }
39
+ }
40
+ return tickets;
41
+ }
42
+ /**
43
+ * Sort tickets by processing order
44
+ */
45
+ export function sortTicketsByOrder(tickets) {
46
+ return [...tickets].sort((a, b) => {
47
+ const getPhaseOrder = (id) => {
48
+ const upper = id.toUpperCase();
49
+ // SCAFFOLD batch first
50
+ if (upper.startsWith('SCAFFOLD-SCHEMA-'))
51
+ return 1;
52
+ if (upper.startsWith('SCAFFOLD-BACKEND-'))
53
+ return 2;
54
+ if (upper.startsWith('SCAFFOLD-FRONTEND-'))
55
+ return 3;
56
+ if (upper.startsWith('SCAFFOLD-WEB-TEST-'))
57
+ return 4;
58
+ // LOGIC batch second
59
+ if (upper.startsWith('LOGIC-SCHEMA-'))
60
+ return 5;
61
+ if (upper.startsWith('LOGIC-BACKEND-'))
62
+ return 6;
63
+ if (upper.startsWith('LOGIC-FRONTEND-'))
64
+ return 7;
65
+ if (upper.startsWith('LOGIC-WEB-TEST-'))
66
+ return 8;
67
+ // PLAN batch (from plan command)
68
+ if (upper.startsWith('PLAN-SCHEMA-'))
69
+ return 10;
70
+ if (upper.startsWith('PLAN-BACKEND-'))
71
+ return 11;
72
+ if (upper.startsWith('PLAN-FRONTEND-'))
73
+ return 12;
74
+ if (upper.startsWith('PLAN-WEB-TEST-'))
75
+ return 13;
76
+ return 14;
77
+ };
78
+ return getPhaseOrder(a.id) - getPhaseOrder(b.id);
79
+ });
80
+ }
81
+ /**
82
+ * Build the review/fix prompt for ticket validation
83
+ */
84
+ function buildReviewPrompt(tickets) {
85
+ return `You are a ticket validation and correction expert.
86
+
87
+ **Generated Tickets to Review:**
88
+ ${JSON.stringify(tickets, null, 2)}
89
+
90
+ **Your Task: VALIDATE AND FIX the tickets according to these rules:**
91
+
92
+ **RULE 1: ONE Schema Ticket Per Batch**
93
+ - Each batch (SCAFFOLD, LOGIC, or simple SCHEMA) should have at most ONE schema ticket
94
+ - If multiple schema tickets exist, merge them into one
95
+ - โŒ WRONG: SCHEMA-1, SCHEMA-2, SCHEMA-3
96
+ - โœ… CORRECT: SCHEMA-1 (combines ALL schemas)
97
+
98
+ **RULE 2: Feature-by-Feature Ordering**
99
+ Each feature should follow this pattern when possible:
100
+ 1. Backend ticket
101
+ 2. Frontend ticket
102
+ 3. Test ticket (if applicable)
103
+
104
+ **RULE 3: Sequential Numbering**
105
+ - Ensure ticket IDs are numbered sequentially
106
+ - Example: BACKEND-1, BACKEND-2 (not BACKEND-1, BACKEND-5)
107
+
108
+ **RULE 4: Test Tickets Must Include Credentials**
109
+ - Every WEB-TEST ticket should include test user credentials if available
110
+ - Format: "**Test User Credentials:**\\n- Email: user+kosuke_test@example.com\\n- OTP Code: 424242"
111
+
112
+ **AUTOMATIC FIXES TO APPLY:**
113
+
114
+ 1. **Combine Schema Tickets** if multiple exist
115
+ 2. **Reorder Tickets** to follow feature-by-feature pattern
116
+ 3. **Renumber Ticket IDs** to be sequential
117
+ 4. **Add placeholder credentials** to test tickets if missing
118
+
119
+ **OUTPUT FORMAT:**
120
+ Return ONLY a valid JSON object with this exact structure:
121
+ {
122
+ "validationIssues": [
123
+ "Issue 1 found and fixed",
124
+ "Issue 2 found and fixed"
125
+ ],
126
+ "fixedTickets": [
127
+ { /* all ticket objects in corrected order */ }
128
+ ]
129
+ }
130
+
131
+ **CRITICAL:**
132
+ - Return ONLY valid JSON (no markdown, no code blocks)
133
+ - fixedTickets array must contain ALL tickets
134
+ - Preserve all ticket content (descriptions, effort, category)
135
+ - Only fix structure, ordering, and numbering issues
136
+ - If no issues found, return empty validationIssues with original tickets`;
137
+ }
138
+ /**
139
+ * Validate and fix tickets using Claude
140
+ * Returns fixed tickets and list of issues found
141
+ */
142
+ export async function validateAndFixTickets(tickets, projectPath) {
143
+ console.log(`\n${'โ”€'.repeat(60)}`);
144
+ console.log('๐Ÿ” Validating ticket structure...');
145
+ console.log(`${'โ”€'.repeat(60)}\n`);
146
+ const reviewPrompt = buildReviewPrompt(tickets);
147
+ const reviewResult = await runAgent('Validate and fix ticket structure', {
148
+ systemPrompt: reviewPrompt,
149
+ maxTurns: 10,
150
+ verbosity: 'minimal',
151
+ cwd: projectPath,
152
+ });
153
+ try {
154
+ const jsonMatch = reviewResult.response.match(/\{[\s\S]*"fixedTickets"[\s\S]*\}/);
155
+ if (!jsonMatch) {
156
+ throw new Error('No valid review result found');
157
+ }
158
+ const parsed = JSON.parse(jsonMatch[0]);
159
+ if (!parsed.fixedTickets || !Array.isArray(parsed.fixedTickets)) {
160
+ throw new Error('Invalid review result: fixedTickets must be an array');
161
+ }
162
+ // Validate fixed tickets
163
+ const validTypes = ['schema', 'backend', 'frontend', 'test'];
164
+ for (const ticket of parsed.fixedTickets) {
165
+ if (!ticket.id || !ticket.title || !ticket.description || !ticket.type) {
166
+ throw new Error(`Invalid ticket in review result: ${JSON.stringify(ticket)}`);
167
+ }
168
+ if (!validTypes.includes(ticket.type)) {
169
+ throw new Error(`Invalid type in ticket ${ticket.id}: ${ticket.type}`);
170
+ }
171
+ // Ensure status is set
172
+ if (!ticket.status) {
173
+ ticket.status = 'Todo';
174
+ }
175
+ }
176
+ // Display validation results
177
+ if (parsed.validationIssues.length > 0) {
178
+ console.log('๐Ÿ”ง Issues found and fixed:');
179
+ parsed.validationIssues.forEach((issue, idx) => {
180
+ console.log(` ${idx + 1}. ${issue}`);
181
+ });
182
+ console.log('');
183
+ }
184
+ else {
185
+ console.log('โœ… No validation issues - tickets are correctly structured\n');
186
+ }
187
+ return parsed;
188
+ }
189
+ catch (error) {
190
+ // If validation fails, return original tickets with warning
191
+ console.warn('โš ๏ธ Ticket validation failed, using original tickets');
192
+ console.warn(` Error: ${error instanceof Error ? error.message : String(error)}\n`);
193
+ return {
194
+ validationIssues: [],
195
+ fixedTickets: tickets,
196
+ };
197
+ }
198
+ }
199
+ /**
200
+ * Write tickets to a JSON file
201
+ */
202
+ export function writeTicketsFile(outputPath, tickets) {
203
+ const outputData = {
204
+ generatedAt: new Date().toISOString(),
205
+ totalTickets: tickets.length,
206
+ tickets,
207
+ };
208
+ writeFileSync(outputPath, JSON.stringify(outputData, null, 2), 'utf-8');
209
+ }
210
+ /**
211
+ * Display tickets summary to console
212
+ */
213
+ export function displayTicketsSummary(tickets) {
214
+ console.log(`\n${'='.repeat(60)}`);
215
+ console.log('๐Ÿ“‹ Tickets Created');
216
+ console.log(`${'='.repeat(60)}\n`);
217
+ for (const ticket of tickets) {
218
+ const emoji = ticket.type === 'schema'
219
+ ? '๐Ÿ—„๏ธ'
220
+ : ticket.type === 'backend'
221
+ ? 'โš™๏ธ'
222
+ : ticket.type === 'frontend'
223
+ ? '๐ŸŽจ'
224
+ : '๐Ÿงช';
225
+ console.log(`${emoji} ${ticket.id}: ${ticket.title}`);
226
+ console.log(` Type: ${ticket.type} | Effort: ${ticket.estimatedEffort}/10`);
227
+ if (ticket.category) {
228
+ console.log(` Category: ${ticket.category}`);
229
+ }
230
+ console.log('');
231
+ }
232
+ console.log(`${'='.repeat(60)}`);
233
+ console.log(`โœ… Total: ${tickets.length} ticket(s)`);
234
+ console.log(`${'='.repeat(60)}\n`);
235
+ }
236
+ /**
237
+ * Full pipeline: parse, validate, sort, and write tickets
238
+ * Used by both plan.ts and tickets.ts
239
+ */
240
+ export async function processAndWriteTickets(rawTickets, outputPath, projectPath, options = {}) {
241
+ const { skipValidation = false, displaySummary = true } = options;
242
+ let finalTickets = sortTicketsByOrder(rawTickets);
243
+ let validationIssues = [];
244
+ // Run validation unless skipped
245
+ if (!skipValidation) {
246
+ const reviewResult = await validateAndFixTickets(finalTickets, projectPath);
247
+ finalTickets = reviewResult.fixedTickets;
248
+ validationIssues = reviewResult.validationIssues;
249
+ }
250
+ // Display summary
251
+ if (displaySummary) {
252
+ displayTicketsSummary(finalTickets);
253
+ }
254
+ // Write to file
255
+ writeTicketsFile(outputPath, finalTickets);
256
+ console.log(`๐Ÿ’พ Saved to: ${outputPath}\n`);
257
+ return { tickets: finalTickets, validationIssues };
258
+ }
259
+ //# sourceMappingURL=ticket-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-writer.js","sourceRoot":"","sources":["../../../kosuke/utils/ticket-writer.ts"],"names":[],"mappings":"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"}
package/dist/lib.d.ts CHANGED
@@ -70,6 +70,7 @@ export { analyseCommand } from './kosuke/commands/analyse.js';
70
70
  export { lintCommand, fixCodeQualityErrors, fixLintErrors } from './kosuke/commands/lint.js';
71
71
  export { syncRulesCommand } from './kosuke/commands/sync-rules.js';
72
72
  export { requirementsCommand, requirementsCore } from './kosuke/commands/requirements.js';
73
+ export { planCommand, planCore } from './kosuke/commands/plan.js';
73
74
  export { getCodeCore } from './kosuke/commands/getcode.js';
74
75
  export { ticketsCore } from './kosuke/commands/tickets.js';
75
76
  export { shipCore } from './kosuke/commands/ship.js';
@@ -84,9 +85,13 @@ export { runLint, runTypecheck, runFormat, runTests, runComprehensiveLinting, de
84
85
  export { getRepoLocalPath } from './kosuke/utils/repository-manager.js';
85
86
  export { validateRepoAccess } from './kosuke/utils/repository-resolver.js';
86
87
  export { logger, withCommandTracking, setupCancellationHandler } from './kosuke/utils/logger.js';
87
- export type { Batch, Fix, AnalyseOptions, LintOptions, SyncRulesOptions, RulesAdaptation, GitInfo, GetCodeOptions, CodeExplorationResult, TicketsOptions, TicketsResult, Ticket, ShipOptions, ShipResult, BuildOptions, MigrateOptions, MigrateResult, ReviewContext, ReviewOptions, ReviewResult, TestContext, TestOptions, TestResult, TestRunnerOptions, TestRunnerResult, AnalysisResult, TestFailure, ConsoleLog, NetworkLog, DockerLog, CollectedLogs, CommandName, ExecutionStatus, CliLogData, CommandExecutionContext, } from './kosuke/types.js';
88
+ export { askQuestion } from './kosuke/utils/interactive-input.js';
89
+ export { parseTickets, sortTicketsByOrder, validateAndFixTickets, writeTicketsFile, displayTicketsSummary, processAndWriteTickets, } from './kosuke/utils/ticket-writer.js';
90
+ export type { Batch, Fix, AnalyseOptions, LintOptions, SyncRulesOptions, RulesAdaptation, GitInfo, GetCodeOptions, CodeExplorationResult, TicketsOptions, TicketsResult, Ticket, ShipOptions, ShipResult, BuildOptions, MigrateOptions, MigrateResult, PlanOptions, ReviewContext, ReviewOptions, ReviewResult, TestContext, TestOptions, TestResult, TestRunnerOptions, TestRunnerResult, AnalysisResult, TestFailure, ConsoleLog, NetworkLog, DockerLog, CollectedLogs, CommandName, ExecutionStatus, CliLogData, CommandExecutionContext, } from './kosuke/types.js';
88
91
  export type { ValidationResult } from './kosuke/utils/validator.js';
89
92
  export type { AgentVerbosity, AgentConfig, AgentResult } from './kosuke/utils/claude-agent.js';
90
93
  export type { RequirementsOptions, RequirementsResult } from './kosuke/commands/requirements.js';
94
+ export type { PlanResult } from './kosuke/commands/plan.js';
95
+ export type { TicketReviewResult } from './kosuke/utils/ticket-writer.js';
91
96
  export declare const version: string;
92
97
  //# sourceMappingURL=lib.d.ts.map
package/dist/lib.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EACL,OAAO,EACP,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGjG,YAAY,EACV,KAAK,EACL,GAAG,EACH,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,MAAM,EACN,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAEhB,cAAc,EACd,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EAEb,WAAW,EACX,eAAe,EACf,UAAU,EACV,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC/F,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGjG,eAAO,MAAM,OAAO,QAAsB,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EACL,OAAO,EACP,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AAGzC,YAAY,EACV,KAAK,EACL,GAAG,EACH,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,MAAM,EACN,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAEhB,cAAc,EACd,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EAEb,WAAW,EACX,eAAe,EACf,UAAU,EACV,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC/F,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACjG,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,eAAO,MAAM,OAAO,QAAsB,CAAC"}
package/dist/lib.js CHANGED
@@ -72,6 +72,7 @@ export { analyseCommand } from './kosuke/commands/analyse.js';
72
72
  export { lintCommand, fixCodeQualityErrors, fixLintErrors } from './kosuke/commands/lint.js';
73
73
  export { syncRulesCommand } from './kosuke/commands/sync-rules.js';
74
74
  export { requirementsCommand, requirementsCore } from './kosuke/commands/requirements.js';
75
+ export { planCommand, planCore } from './kosuke/commands/plan.js';
75
76
  export { getCodeCore } from './kosuke/commands/getcode.js';
76
77
  export { ticketsCore } from './kosuke/commands/tickets.js';
77
78
  export { shipCore } from './kosuke/commands/ship.js';
@@ -87,6 +88,8 @@ export { runLint, runTypecheck, runFormat, runTests, runComprehensiveLinting, de
87
88
  export { getRepoLocalPath } from './kosuke/utils/repository-manager.js';
88
89
  export { validateRepoAccess } from './kosuke/utils/repository-resolver.js';
89
90
  export { logger, withCommandTracking, setupCancellationHandler } from './kosuke/utils/logger.js';
91
+ export { askQuestion } from './kosuke/utils/interactive-input.js';
92
+ export { parseTickets, sortTicketsByOrder, validateAndFixTickets, writeTicketsFile, displayTicketsSummary, processAndWriteTickets, } from './kosuke/utils/ticket-writer.js';
90
93
  // Export version from package.json
91
94
  export const version = packageJson.version;
92
95
  //# sourceMappingURL=lib.js.map
package/dist/lib.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AAEH,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,qBAAqB;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,sBAAsB;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EACL,OAAO,EACP,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AA+CjG,mCAAmC;AACnC,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AAEH,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,qBAAqB;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,sBAAsB;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EACL,OAAO,EACP,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AAkDzC,mCAAmC;AACnC,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kosuke-ai/cli",
3
- "version": "0.0.40",
3
+ "version": "0.0.42",
4
4
  "description": "Kosuke CLI - Development automation tool for syncing rules and analyzing code quality",
5
5
  "keywords": [
6
6
  "CLI",