@kosuke-ai/cli 0.0.11 → 0.0.13

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 (35) hide show
  1. package/dist/index.d.ts +12 -6
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +94 -6
  4. package/dist/index.js.map +1 -1
  5. package/dist/kosuke/commands/build.d.ts +22 -0
  6. package/dist/kosuke/commands/build.d.ts.map +1 -0
  7. package/dist/kosuke/commands/build.js +135 -0
  8. package/dist/kosuke/commands/build.js.map +1 -0
  9. package/dist/kosuke/commands/lint.d.ts +9 -4
  10. package/dist/kosuke/commands/lint.d.ts.map +1 -1
  11. package/dist/kosuke/commands/lint.js +181 -68
  12. package/dist/kosuke/commands/lint.js.map +1 -1
  13. package/dist/kosuke/commands/review.d.ts +21 -0
  14. package/dist/kosuke/commands/review.d.ts.map +1 -0
  15. package/dist/kosuke/commands/review.js +185 -0
  16. package/dist/kosuke/commands/review.js.map +1 -0
  17. package/dist/kosuke/commands/ship.d.ts +23 -0
  18. package/dist/kosuke/commands/ship.d.ts.map +1 -0
  19. package/dist/kosuke/commands/ship.js +419 -0
  20. package/dist/kosuke/commands/ship.js.map +1 -0
  21. package/dist/kosuke/types.d.ts +45 -1
  22. package/dist/kosuke/types.d.ts.map +1 -1
  23. package/dist/kosuke/utils/git.d.ts +12 -0
  24. package/dist/kosuke/utils/git.d.ts.map +1 -1
  25. package/dist/kosuke/utils/git.js +39 -0
  26. package/dist/kosuke/utils/git.js.map +1 -1
  27. package/dist/kosuke/utils/validator.d.ts +11 -0
  28. package/dist/kosuke/utils/validator.d.ts.map +1 -1
  29. package/dist/kosuke/utils/validator.js +100 -0
  30. package/dist/kosuke/utils/validator.js.map +1 -1
  31. package/dist/lib.d.ts +6 -3
  32. package/dist/lib.d.ts.map +1 -1
  33. package/dist/lib.js +5 -2
  34. package/dist/lib.js.map +1 -1
  35. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -3,12 +3,15 @@
3
3
  * Kosuke CLI - Development Automation Tool
4
4
  *
5
5
  * Commands:
6
- * sync-rules [--force] Sync rules from kosuke-template
7
- * analyse Analyze and fix code quality issues
8
- * lint Fix linting errors with Claude AI
9
- * requirements Interactive requirements gathering
10
- * getcode Explore GitHub repositories and fetch code
11
- * tickets Generate implementation tickets from requirements
6
+ * sync-rules [--force] Sync rules from kosuke-template
7
+ * analyse Analyze and fix code quality issues
8
+ * lint Fix linting errors with Claude AI
9
+ * requirements Interactive requirements gathering
10
+ * getcode Explore GitHub repositories and fetch code
11
+ * tickets Generate implementation tickets from requirements
12
+ * ship --ticket=<ID> Implement a single ticket from tickets.json
13
+ * build Batch process all tickets from tickets.json
14
+ * review Review codebase against CLAUDE.md rules
12
15
  *
13
16
  * Usage:
14
17
  * bun run kosuke sync-rules
@@ -17,6 +20,9 @@
17
20
  * bun run kosuke requirements
18
21
  * bun run kosuke getcode "query"
19
22
  * bun run kosuke tickets
23
+ * bun run kosuke ship --ticket=SCHEMA-1
24
+ * bun run kosuke build
25
+ * bun run kosuke review
20
26
  *
21
27
  * Environment Variables:
22
28
  * ANTHROPIC_API_KEY - Required for Claude API
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -3,12 +3,15 @@
3
3
  * Kosuke CLI - Development Automation Tool
4
4
  *
5
5
  * Commands:
6
- * sync-rules [--force] Sync rules from kosuke-template
7
- * analyse Analyze and fix code quality issues
8
- * lint Fix linting errors with Claude AI
9
- * requirements Interactive requirements gathering
10
- * getcode Explore GitHub repositories and fetch code
11
- * tickets Generate implementation tickets from requirements
6
+ * sync-rules [--force] Sync rules from kosuke-template
7
+ * analyse Analyze and fix code quality issues
8
+ * lint Fix linting errors with Claude AI
9
+ * requirements Interactive requirements gathering
10
+ * getcode Explore GitHub repositories and fetch code
11
+ * tickets Generate implementation tickets from requirements
12
+ * ship --ticket=<ID> Implement a single ticket from tickets.json
13
+ * build Batch process all tickets from tickets.json
14
+ * review Review codebase against CLAUDE.md rules
12
15
  *
13
16
  * Usage:
14
17
  * bun run kosuke sync-rules
@@ -17,6 +20,9 @@
17
20
  * bun run kosuke requirements
18
21
  * bun run kosuke getcode "query"
19
22
  * bun run kosuke tickets
23
+ * bun run kosuke ship --ticket=SCHEMA-1
24
+ * bun run kosuke build
25
+ * bun run kosuke review
20
26
  *
21
27
  * Environment Variables:
22
28
  * ANTHROPIC_API_KEY - Required for Claude API
@@ -29,6 +35,9 @@ import { lintCommand } from './kosuke/commands/lint.js';
29
35
  import { requirementsCommand } from './kosuke/commands/requirements.js';
30
36
  import { getCodeCommand, parseGetCodeArgs } from './kosuke/commands/getcode.js';
31
37
  import { ticketsCommand } from './kosuke/commands/tickets.js';
38
+ import { shipCommand } from './kosuke/commands/ship.js';
39
+ import { buildCommand } from './kosuke/commands/build.js';
40
+ import { reviewCommand } from './kosuke/commands/review.js';
32
41
  async function main() {
33
42
  const args = process.argv.slice(2);
34
43
  const command = args[0];
@@ -86,6 +95,41 @@ async function main() {
86
95
  await ticketsCommand(options);
87
96
  break;
88
97
  }
98
+ case 'ship': {
99
+ const ticketArg = args.find((arg) => arg.startsWith('--ticket='))?.split('=')[1];
100
+ if (!ticketArg) {
101
+ console.error('āŒ --ticket flag is required\n');
102
+ console.log('Usage: kosuke ship --ticket=SCHEMA-1 [--review] [--commit | --pr]');
103
+ console.log('\nExamples:');
104
+ console.log(' kosuke ship --ticket=SCHEMA-1 # Local only');
105
+ console.log(' kosuke ship --ticket=BACKEND-2 --review # With review');
106
+ console.log(' kosuke ship --ticket=FRONTEND-1 --commit # Commit to current branch');
107
+ console.log(' kosuke ship --ticket=BACKEND-3 --pr # Create PR (new branch)');
108
+ process.exit(1);
109
+ }
110
+ const options = {
111
+ ticket: ticketArg,
112
+ review: args.includes('--review'),
113
+ commit: args.includes('--commit'),
114
+ pr: args.includes('--pr'),
115
+ baseBranch: args.find((arg) => arg.startsWith('--base-branch='))?.split('=')[1],
116
+ ticketsFile: args.find((arg) => arg.startsWith('--tickets='))?.split('=')[1],
117
+ };
118
+ await shipCommand(options);
119
+ break;
120
+ }
121
+ case 'build': {
122
+ const options = {
123
+ ticketsFile: args.find((arg) => arg.startsWith('--tickets='))?.split('=')[1],
124
+ };
125
+ await buildCommand(options);
126
+ break;
127
+ }
128
+ case 'review': {
129
+ const options = {};
130
+ await reviewCommand(options);
131
+ break;
132
+ }
89
133
  default:
90
134
  console.error(`āŒ Unknown command: ${command}\n`);
91
135
  showHelp();
@@ -187,6 +231,50 @@ COMMANDS:
187
231
  kosuke tickets --path=requirements.md # Custom requirements file
188
232
  kosuke tickets --output=my-tickets.json # Custom output file
189
233
 
234
+ ship --ticket=<ID> [options]
235
+ Implement a single ticket from tickets.json
236
+ Follows CLAUDE.md rules, runs linting, and optionally performs review
237
+
238
+ Options:
239
+ --ticket=<ID> Ticket ID to implement (required, e.g., SCHEMA-1)
240
+ --review Perform code review step after implementation
241
+ --commit Commit and push to current branch
242
+ --pr Create new branch and pull request (mutually exclusive with --commit)
243
+ --base-branch=<name> Base branch for PR (default: current branch)
244
+ --tickets=<file> Path to tickets file (default: tickets.json)
245
+
246
+ Examples:
247
+ kosuke ship --ticket=SCHEMA-1 # Implement locally only
248
+ kosuke ship --ticket=BACKEND-2 --review # Implement with review
249
+ kosuke ship --ticket=FRONTEND-1 --commit # Commit to current branch
250
+ kosuke ship --ticket=BACKEND-3 --pr # Create new branch + PR
251
+ kosuke ship --ticket=SCHEMA-1 --tickets=custom.json
252
+
253
+ build [options]
254
+ Batch process all "Todo" and "Error" tickets from tickets.json
255
+ Automatically commits each ticket to current branch
256
+ Processes tickets in order: Schema → Backend → Frontend
257
+
258
+ Options:
259
+ --tickets=<file> Path to tickets file (default: tickets.json)
260
+
261
+ Examples:
262
+ git checkout -b feat/implement-tickets # Create feature branch first
263
+ kosuke build # Process and commit all tickets
264
+ gh pr create # Create PR manually
265
+
266
+ kosuke build --tickets=custom.json # Use custom tickets file
267
+
268
+ Note: If a ticket fails, fix the issue and run build again to resume
269
+
270
+ review
271
+ Review current git diff against CLAUDE.md rules
272
+ Identifies and fixes compliance issues in uncommitted changes
273
+ Note: Changes applied locally only (no --pr support)
274
+
275
+ Examples:
276
+ kosuke review # Review uncommitted changes
277
+
190
278
  WORKFLOW:
191
279
 
192
280
  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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Build command - Batch process all tickets from tickets.json
3
+ *
4
+ * This command processes all "Todo" and "Error" tickets sequentially,
5
+ * implementing each one using the ship command with --commit flag.
6
+ * Each ticket is committed individually to the current branch.
7
+ *
8
+ * Usage:
9
+ * kosuke build # Process and commit all tickets
10
+ * kosuke build --tickets=path/to/tickets.json
11
+ *
12
+ * Note: Create a feature branch before running build:
13
+ * git checkout -b feat/implement-tickets
14
+ * kosuke build
15
+ * gh pr create
16
+ */
17
+ import type { BuildOptions } from '../types.js';
18
+ /**
19
+ * Main build command - processes all tickets and commits each one
20
+ */
21
+ export declare function buildCommand(options: BuildOptions): Promise<void>;
22
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,aAAa,CAAC;AAyDxD;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8EvE"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Build command - Batch process all tickets from tickets.json
3
+ *
4
+ * This command processes all "Todo" and "Error" tickets sequentially,
5
+ * implementing each one using the ship command with --commit flag.
6
+ * Each ticket is committed individually to the current branch.
7
+ *
8
+ * Usage:
9
+ * kosuke build # Process and commit all tickets
10
+ * kosuke build --tickets=path/to/tickets.json
11
+ *
12
+ * Note: Create a feature branch before running build:
13
+ * git checkout -b feat/implement-tickets
14
+ * kosuke build
15
+ * gh pr create
16
+ */
17
+ import { readFileSync, existsSync } from 'fs';
18
+ import { join } from 'path';
19
+ import { shipCommand } from './ship.js';
20
+ /**
21
+ * Load tickets from file
22
+ */
23
+ function loadTicketsFile(ticketsPath) {
24
+ if (!existsSync(ticketsPath)) {
25
+ throw new Error(`Tickets file not found: ${ticketsPath}\n` +
26
+ `Please generate tickets first using: kosuke tickets`);
27
+ }
28
+ try {
29
+ const content = readFileSync(ticketsPath, 'utf-8');
30
+ return JSON.parse(content);
31
+ }
32
+ catch (error) {
33
+ throw new Error(`Failed to parse tickets file: ${error instanceof Error ? error.message : String(error)}`);
34
+ }
35
+ }
36
+ /**
37
+ * Filter and sort tickets for processing
38
+ */
39
+ function getTicketsToProcess(ticketsData) {
40
+ // Get all Todo and Error tickets (automatic retry on Error)
41
+ let tickets = ticketsData.tickets.filter((t) => t.status === 'Todo' || t.status === 'Error');
42
+ // Sort by phase: SCHEMA -> BACKEND -> FRONTEND
43
+ tickets.sort((a, b) => {
44
+ const getPhaseOrder = (id) => {
45
+ if (id.startsWith('SCHEMA-'))
46
+ return 1;
47
+ if (id.startsWith('BACKEND-'))
48
+ return 2;
49
+ if (id.startsWith('FRONTEND-'))
50
+ return 3;
51
+ return 4;
52
+ };
53
+ const phaseComparison = getPhaseOrder(a.id) - getPhaseOrder(b.id);
54
+ if (phaseComparison !== 0)
55
+ return phaseComparison;
56
+ // Within same phase, sort by ticket number
57
+ const aNum = parseInt(a.id.split('-')[1] || '0', 10);
58
+ const bNum = parseInt(b.id.split('-')[1] || '0', 10);
59
+ return aNum - bNum;
60
+ });
61
+ return tickets;
62
+ }
63
+ /**
64
+ * Main build command - processes all tickets and commits each one
65
+ */
66
+ export async function buildCommand(options) {
67
+ console.log('šŸ—ļø Starting Build - Batch Ticket Processing\n');
68
+ try {
69
+ // Validate environment
70
+ if (!process.env.ANTHROPIC_API_KEY) {
71
+ throw new Error('ANTHROPIC_API_KEY environment variable is required');
72
+ }
73
+ if (!process.env.GITHUB_TOKEN) {
74
+ throw new Error('GITHUB_TOKEN environment variable is required for build command');
75
+ }
76
+ const { ticketsFile = 'tickets.json' } = options;
77
+ const cwd = process.cwd();
78
+ const ticketsPath = join(cwd, ticketsFile);
79
+ // 1. Load tickets
80
+ console.log('šŸ“‹ Loading tickets...');
81
+ const ticketsData = loadTicketsFile(ticketsPath);
82
+ const ticketsToProcess = getTicketsToProcess(ticketsData);
83
+ if (ticketsToProcess.length === 0) {
84
+ console.log('ā„¹ļø No tickets found with status "Todo" or "Error"');
85
+ return;
86
+ }
87
+ console.log(` āœ… Found ${ticketsToProcess.length} ticket(s) to process\n`);
88
+ // Display tickets to be processed
89
+ console.log('šŸ“¦ Tickets to be processed:');
90
+ ticketsToProcess.forEach((ticket, index) => {
91
+ console.log(` ${index + 1}. ${ticket.id}: ${ticket.title}`);
92
+ });
93
+ console.log('');
94
+ // 2. Process each ticket sequentially with ship --commit
95
+ for (let i = 0; i < ticketsToProcess.length; i++) {
96
+ const ticket = ticketsToProcess[i];
97
+ console.log('\n' + '='.repeat(80));
98
+ console.log(`šŸ“¦ Processing Ticket ${i + 1}/${ticketsToProcess.length}: ${ticket.id}`);
99
+ console.log(`šŸ“ ${ticket.title}`);
100
+ console.log('='.repeat(80) + '\n');
101
+ try {
102
+ // Use ship command with --commit flag
103
+ await shipCommand({
104
+ ticket: ticket.id,
105
+ commit: true,
106
+ ticketsFile,
107
+ });
108
+ console.log(`\nāœ… ${ticket.id} completed and committed successfully\n`);
109
+ }
110
+ catch (error) {
111
+ const errorMessage = error instanceof Error ? error.message : String(error);
112
+ console.error(`\nāŒ Failed to process ${ticket.id}: ${errorMessage}`);
113
+ console.error('\nāŒ Build stopped due to ticket failure');
114
+ console.error('ā„¹ļø Fix the issue and run build again to resume from failed tickets\n');
115
+ throw error;
116
+ }
117
+ }
118
+ // 3. Display final summary
119
+ console.log('\n' + '='.repeat(80));
120
+ console.log('āœ… Build Completed Successfully!');
121
+ console.log('='.repeat(80));
122
+ console.log(`šŸ“¦ Total tickets processed: ${ticketsToProcess.length}`);
123
+ console.log(`āœ… All tickets have been committed to current branch`);
124
+ console.log('='.repeat(80));
125
+ console.log('\nšŸ’” Next steps:');
126
+ console.log(' - Review the commits');
127
+ console.log(' - Create a PR using: gh pr create');
128
+ console.log(' - Or push to a remote branch and create PR manually\n');
129
+ }
130
+ catch (error) {
131
+ console.error('\nāŒ Build failed:', error);
132
+ throw error;
133
+ }
134
+ }
135
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../kosuke/commands/build.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,21 @@
1
1
  /**
2
- * Lint command - Use Claude to fix linting errors
2
+ * Lint command - Comprehensive code quality validation and fixing
3
3
  *
4
- * Strategy: Run linter, give errors to Claude, let it fix them
4
+ * Strategy: Run all validation steps (format, lint, typecheck, test, knip),
5
+ * give errors to Claude, let it fix them
5
6
  */
6
7
  import type { LintOptions } from '../types.js';
7
8
  /**
8
- * Run Claude-powered lint fixing
9
+ * Run Claude to fix code quality errors
9
10
  * Exported so other commands can use it
10
11
  */
12
+ export declare function fixCodeQualityErrors(stepName: string, errors: string): Promise<boolean>;
13
+ /**
14
+ * Legacy export for backward compatibility
15
+ */
11
16
  export declare function fixLintErrors(lintErrors: string): Promise<boolean>;
12
17
  /**
13
- * Main lint command
18
+ * Main lint command (now runs comprehensive validation)
14
19
  */
15
20
  export declare function lintCommand(options?: LintOptions): Promise<void>;
16
21
  //# sourceMappingURL=lint.d.ts.map
@@ -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;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"}
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/lint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA2F/C;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiD7F;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAExE;AA6GD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6D1E"}