@kosuke-ai/cli 0.0.38 → 0.0.39

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 CHANGED
@@ -11,7 +11,7 @@
11
11
  * tickets Generate implementation tickets from requirements
12
12
  * build Batch process all tickets from tickets.json
13
13
  * review Review codebase against CLAUDE.md rules
14
- * test Run E2E tests with automated fixing (ticket or custom prompt)
14
+ * test Run atomic tests (web E2E or database validation)
15
15
  *
16
16
  * Usage:
17
17
  * bun run kosuke sync-rules
@@ -22,7 +22,7 @@
22
22
  * bun run kosuke tickets
23
23
  * bun run kosuke build
24
24
  * bun run kosuke review
25
- * bun run kosuke test --ticket=FRONTEND-1 OR --prompt="Test login flow"
25
+ * bun run kosuke test --prompt="Test user login flow" --type=web-test
26
26
  *
27
27
  * Environment Variables:
28
28
  * ANTHROPIC_API_KEY - Required for Claude API
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@
11
11
  * tickets Generate implementation tickets from requirements
12
12
  * build Batch process all tickets from tickets.json
13
13
  * review Review codebase against CLAUDE.md rules
14
- * test Run E2E tests with automated fixing (ticket or custom prompt)
14
+ * test Run atomic tests (web E2E or database validation)
15
15
  *
16
16
  * Usage:
17
17
  * bun run kosuke sync-rules
@@ -22,7 +22,7 @@
22
22
  * bun run kosuke tickets
23
23
  * bun run kosuke build
24
24
  * bun run kosuke review
25
- * bun run kosuke test --ticket=FRONTEND-1 OR --prompt="Test login flow"
25
+ * bun run kosuke test --prompt="Test user login flow" --type=web-test
26
26
  *
27
27
  * Environment Variables:
28
28
  * ANTHROPIC_API_KEY - Required for Claude API
@@ -96,6 +96,8 @@ async function main() {
96
96
  output: args.find((arg) => arg.startsWith('--output='))?.split('=')[1],
97
97
  directory: args.find((arg) => arg.startsWith('--directory='))?.split('=')[1] ||
98
98
  args.find((arg) => arg.startsWith('--dir='))?.split('=')[1],
99
+ scaffold: args.includes('--scaffold'),
100
+ prompt: args.find((arg) => arg.startsWith('--prompt='))?.split('=')[1],
99
101
  noLogs: args.includes('--no-logs'),
100
102
  };
101
103
  await ticketsCommand(options);
@@ -128,36 +130,38 @@ async function main() {
128
130
  break;
129
131
  }
130
132
  case 'test': {
131
- const ticketArg = args.find((arg) => arg.startsWith('--ticket='))?.split('=')[1];
132
133
  const promptArg = args.find((arg) => arg.startsWith('--prompt='))?.split('=')[1];
133
- if (!ticketArg && !promptArg) {
134
- console.error('❌ Either --ticket or --prompt flag is required\n');
135
- console.log('Usage: kosuke test --ticket=FRONTEND-1 [OPTIONS] OR kosuke test --prompt="..." [OPTIONS]');
134
+ if (!promptArg) {
135
+ console.error('❌ The --prompt flag is required\n');
136
+ console.log('Usage: kosuke test --prompt="..." [OPTIONS]');
136
137
  console.log('\nOptions:');
137
- console.log(' --ticket=ID Test a specific ticket from tickets.json');
138
- console.log(' --prompt="..." Test with a custom prompt');
139
- console.log(' --url=URL Base URL (default: http://localhost:3000)');
140
- console.log(' --headless Run in headless mode (invisible browser)');
141
- console.log(' --verbose Enable verbose output');
142
- console.log(' --directory=PATH Directory to test (default: cwd)');
138
+ console.log(' --prompt="..." Test instructions (required)');
139
+ console.log(' --type=TYPE Test type: web-test or db-test (auto-detected if not specified)');
140
+ console.log(' --url=URL Base URL for web tests (default: http://localhost:3000)');
141
+ console.log(' --db-url=URL Database URL for db tests (default: postgres://...)');
142
+ console.log(' --headless Run in headless mode (invisible browser, web-test only)');
143
+ console.log(' --verbose Enable verbose output');
144
+ console.log(' --directory=PATH Directory to test (default: cwd)');
143
145
  console.log('\nExamples:');
144
- console.log(' kosuke test --ticket=FRONTEND-1 # Test ticket');
145
- console.log(' kosuke test --prompt="Test login flow" # Test with prompt');
146
- console.log(' kosuke test --ticket=FRONTEND-1 --verbose # Verbose output');
147
- console.log(' kosuke test --prompt="..." --headless # Headless mode');
146
+ console.log(' kosuke test --prompt="Test user login flow" --type=web-test');
147
+ console.log(' kosuke test --prompt="Validate users table exists" --type=db-test');
148
+ console.log(' kosuke test --prompt="..." --verbose --headless');
149
+ console.log('\nNote: This command is mainly used programmatically from kosuke build.');
150
+ console.log(' For ticket-based testing with retries, use: kosuke build');
148
151
  process.exit(1);
149
152
  }
150
- if (ticketArg && promptArg) {
151
- console.error('❌ Cannot provide both --ticket and --prompt. Use one or the other.\n');
153
+ const typeArg = args.find((arg) => arg.startsWith('--type='))?.split('=')[1];
154
+ if (typeArg && typeArg !== 'web-test' && typeArg !== 'db-test') {
155
+ console.error('❌ Invalid test type. Use: web-test or db-test\n');
152
156
  process.exit(1);
153
157
  }
154
158
  const options = {
155
- ticket: ticketArg,
156
159
  prompt: promptArg,
160
+ type: typeArg,
157
161
  url: args.find((arg) => arg.startsWith('--url='))?.split('=')[1],
162
+ dbUrl: args.find((arg) => arg.startsWith('--db-url='))?.split('=')[1],
158
163
  headless: args.includes('--headless'),
159
164
  verbose: args.includes('--verbose'),
160
- ticketsFile: args.find((arg) => arg.startsWith('--tickets='))?.split('=')[1],
161
165
  directory: args.find((arg) => arg.startsWith('--directory='))?.split('=')[1] ||
162
166
  args.find((arg) => arg.startsWith('--dir='))?.split('=')[1],
163
167
  noLogs: args.includes('--no-logs'),
@@ -252,29 +256,61 @@ COMMANDS:
252
256
  kosuke getcode -t "Show me pagination examples"
253
257
 
254
258
  tickets [options]
255
- Generate implementation tickets from requirements document
256
- Analyzes requirements and creates structured tickets in three phases:
257
- 1. Schema tickets (database design)
258
- 2. Backend tickets (API, services, business logic)
259
- 3. Frontend tickets (pages, components, UI)
259
+ Generate implementation tickets from requirements document or inline prompt
260
+ Intelligently determines which layers (schema/backend/frontend) are needed
261
+
262
+ LOGIC-ONLY MODE (default - for existing projects):
263
+ Analyzes requirements and generates only needed tickets:
264
+ - Schema logic (if database changes needed)
265
+ - Backend logic (if API changes needed)
266
+ - Frontend logic (if UI changes needed)
267
+ - DB tests (if schema changes)
268
+ - Web tests (if implementation changes)
269
+
270
+ SCAFFOLD MODE (--scaffold flag - for new projects):
271
+ Generates full infrastructure setup + business logic:
272
+
273
+ SCAFFOLD BATCH:
274
+ 1. Schema scaffold (auth, billing, infrastructure)
275
+ 2. DB test (validate scaffold)
276
+ 3. Backend scaffold (API infrastructure)
277
+ 4. Frontend scaffold (UI infrastructure)
278
+ 5. Web tests (validate scaffold E2E)
279
+
280
+ LOGIC BATCH:
281
+ 1. Schema logic (business entities)
282
+ 2. DB test (validate logic)
283
+ 3. Backend logic (business API)
284
+ 4. Frontend logic (business UI)
285
+ 5. Web tests (validate logic E2E)
260
286
 
261
287
  Options:
262
- --path=<file> Path to requirements document (default: docs.md, relative to project directory)
263
- --output=<file> Output file for tickets (default: tickets.json, relative to project directory)
288
+ --path=<file> Path to requirements document (default: docs.md)
289
+ --prompt="..." Inline requirements (alternative to --path)
290
+ --scaffold Enable scaffold mode for new projects
291
+ --output=<file> Output file for tickets (default: tickets.json)
264
292
  --directory=<path> Directory for Claude to explore (default: current directory)
265
293
  --dir=<path> Alias for --directory
266
294
 
267
295
  Examples:
268
- kosuke tickets # Use docs.md in current directory
269
- kosuke tickets --path=requirements.md # Custom requirements file
270
- kosuke tickets --output=my-tickets.json # Custom output file
271
- kosuke tickets --directory=./projects/my-app # Analyze specific directory
272
- kosuke tickets --dir=./my-app --path=docs/spec.md # Custom directory and requirements path
296
+ # Logic-only mode (existing projects)
297
+ kosuke tickets --prompt="Add dark mode toggle"
298
+ kosuke tickets --prompt="Add user notifications"
299
+ kosuke tickets --path=feature.md
300
+
301
+ # Scaffold mode (new projects)
302
+ kosuke tickets --scaffold --path=docs.md
303
+ kosuke tickets --scaffold --prompt="Build a task manager with teams"
304
+
305
+ # With custom options
306
+ kosuke tickets --directory=./my-app --prompt="Add export to CSV"
307
+ kosuke tickets --output=my-tickets.json --path=requirements.md
273
308
 
274
309
  build [options]
275
310
  Batch process all "Todo" and "Error" tickets from tickets.json
276
- Implements and commits each ticket individually to current branch
277
- Processes tickets in order: Schema → Backend → Frontend
311
+ Implements tickets and runs tests with automatic fixing
312
+ Processes tickets in order: Schema → DB Test → Backend → Frontend → Web Test
313
+ Commits in batches after each web-test completion
278
314
  Frontend tickets automatically include E2E testing (unless --no-test)
279
315
  All tickets include code review by default (unless --no-review)
280
316
 
@@ -318,28 +354,35 @@ COMMANDS:
318
354
  Examples:
319
355
  kosuke review # Review uncommitted changes
320
356
 
321
- test [--ticket=<ID> | --prompt="..."] [options]
322
- Run atomic browser tests with AI-powered automation (no fixing, no retries)
323
- Uses Stagehand with Claude AI for intelligent browser interaction
324
- For iterative test+fix workflow, use: kosuke ship --test
357
+ test --prompt="..." [options]
358
+ Run atomic tests (web E2E or database validation, no fixing, no retries)
359
+
360
+ Test types:
361
+ - web-test: Browser E2E testing with Stagehand + Claude AI
362
+ - db-test: Database schema validation with Claude Code
363
+
364
+ For iterative test+fix workflow, use: kosuke build
325
365
 
326
366
  Options:
327
- --ticket=<ID> Ticket ID to test (from tickets.json, e.g., FRONTEND-1)
328
- --prompt="..." Custom test prompt (alternative to --ticket)
329
- --url=<URL> Base URL (default: http://localhost:3000)
330
- --headless Run in headless mode (invisible browser)
367
+ --prompt="..." Test instructions (required)
368
+ --type=<type> Test type: web-test or db-test (auto-detected if not specified)
369
+ --url=<URL> Base URL for web tests (default: http://localhost:3000)
370
+ --db-url=<URL> Database URL for db tests (default: postgres://postgres:postgres@localhost:5432/postgres)
371
+ --headless Run browser in headless mode (web-test only, invisible)
331
372
  --verbose Enable verbose output
332
- --tickets=<file> Path to tickets file (default: tickets.json, relative to directory)
333
373
  --directory=<path> Directory to run tests in (default: current directory)
334
374
  --dir=<path> Alias for --directory
335
375
 
336
376
  Examples:
337
- kosuke test --ticket=FRONTEND-1 # Test ticket (atomic)
338
- kosuke test --prompt="Test user login flow" # Test with custom prompt
339
- kosuke test --ticket=FRONTEND-1 --url=http://localhost:4000
340
- kosuke test --prompt="..." --verbose # Enable verbose output
341
- kosuke test --ticket=FRONTEND-1 --headless # Run in headless mode
342
- kosuke test --ticket=FRONTEND-1 --directory=./my-project # Specific directory
377
+ kosuke test --prompt="Test user login flow" --type=web-test
378
+ kosuke test --prompt="Validate users table exists" --type=db-test
379
+ kosuke test --prompt="..." --url=http://localhost:4000
380
+ kosuke test --prompt="..." --db-url=postgres://...
381
+ kosuke test --prompt="..." --verbose --headless
382
+ kosuke test --prompt="..." --directory=./my-project
383
+
384
+ Note: This command is mainly used programmatically from kosuke build.
385
+ For ticket-based testing with retries, use: kosuke build
343
386
 
344
387
  GLOBAL OPTIONS:
345
388
 
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":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC/E,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,OAAO,GAAG;oBACd,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC/B,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACzB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC/E,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;iBACnC,CAAC;gBACF,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM;YACR,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,OAAO,GAAG;oBACd,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACzB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC/E,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpE,KAAK,EAAE,IAAI;yBACR,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;wBAC1C,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACf,EAAE,KAAK,CAAC,GAAG,CAAC;oBACd,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;iBACnC,CAAC;gBACF,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC9B,MAAM;YACR,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,OAAO,GAAG;oBACd,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACzB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC/E,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC5E,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;iBACnC,CAAC;gBACF,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC3B,MAAM;YACR,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,mBAAmB,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC9B,MAAM;YACR,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,OAAO,GAAG;oBACd,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACtE,SAAS,EACP,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACjE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC7D,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBACrC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACtE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;iBACnC,CAAC;gBACF,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC9B,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,OAAO,GAAG;oBACd,SAAS,EACP,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACjE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC7D,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC5E,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC/B,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;oBAC1C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;oBACxC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,0CAA0C;oBACjF,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,wCAAwC;oBAC3E,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBACrC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACnC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;iBACnC,CAAC;gBACF,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC5B,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG;oBACd,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;iBACnC,CAAC;gBACF,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC7B,MAAM;YACR,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEjF,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBACnD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;oBAC3D,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;oBACnE,OAAO,CAAC,GAAG,CACT,wFAAwF,CACzF,CAAC;oBACF,OAAO,CAAC,GAAG,CACT,gFAAgF,CACjF,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;oBAC1F,OAAO,CAAC,GAAG,CACT,gFAAgF,CACjF,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;oBAC5D,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;oBACvE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;oBAC7E,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;oBACnF,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;oBACjE,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;oBACvF,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;oBAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7E,IAAI,OAAO,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/D,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;oBACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBAED,MAAM,OAAO,GAAG;oBACd,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,OAA6C;oBACnD,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBACrC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACnC,SAAS,EACP,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACjE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC7D,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;iBACnC,CAAC;gBACF,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC3B,MAAM;YACR,CAAC;YAED;gBACE,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,IAAI,CAAC,CAAC;gBACjD,QAAQ,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmOb,CAAC,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,aAAa,CAAC;AAwExD;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA2MvE"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,aAAa,CAAC;AAkGxD;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAkSvE"}
@@ -27,9 +27,10 @@ import { existsSync, statSync } from 'fs';
27
27
  import { join, resolve } from 'path';
28
28
  import * as readline from 'readline';
29
29
  import simpleGit from 'simple-git';
30
- import { runTestsWithRetry } from '../utils/test-runner.js';
30
+ import { generateDBTestPrompt, generateWebTestPrompt } from '../utils/prompt-generator.js';
31
31
  import { loadTicketsFile, saveTicketsFile, updateTicketStatus, } from '../utils/tickets-manager.js';
32
32
  import { shipCore } from './ship.js';
33
+ import { testCore } from './test.js';
33
34
  /**
34
35
  * Prompt user for confirmation to continue
35
36
  */
@@ -52,38 +53,62 @@ async function promptConfirmation(message) {
52
53
  function getTicketsToProcess(ticketsData) {
53
54
  // Get all Todo and Error tickets (automatic retry on Error)
54
55
  const tickets = ticketsData.tickets.filter((t) => t.status === 'Todo' || t.status === 'Error');
55
- // Sort by phase: SCHEMA -> BACKEND -> FRONTEND
56
+ // Sort by phase: SCHEMA -> DB-TEST -> BACKEND -> FRONTEND -> WEB-TEST
56
57
  tickets.sort((a, b) => {
57
58
  const getPhaseOrder = (id) => {
58
59
  if (id.startsWith('SCHEMA-'))
59
60
  return 1;
60
- if (id.startsWith('BACKEND-'))
61
+ if (id.startsWith('DB-TEST-'))
61
62
  return 2;
62
- if (id.startsWith('FRONTEND-'))
63
+ if (id.startsWith('BACKEND-'))
63
64
  return 3;
64
- return 4;
65
+ if (id.startsWith('FRONTEND-'))
66
+ return 4;
67
+ if (id.startsWith('WEB-TEST-'))
68
+ return 5;
69
+ return 6;
65
70
  };
66
71
  const phaseComparison = getPhaseOrder(a.id) - getPhaseOrder(b.id);
67
72
  if (phaseComparison !== 0)
68
73
  return phaseComparison;
69
74
  // Within same phase, sort by ticket number
70
- const aNum = parseInt(a.id.split('-')[1] || '0', 10);
71
- const bNum = parseInt(b.id.split('-')[1] || '0', 10);
75
+ const aNum = parseInt(a.id.split('-').slice(-1)[0] || '0', 10);
76
+ const bNum = parseInt(b.id.split('-').slice(-1)[0] || '0', 10);
72
77
  return aNum - bNum;
73
78
  });
74
79
  return tickets;
75
80
  }
76
81
  /**
77
- * Commit ticket changes to current branch
82
+ * Commit batch of tickets to current branch
78
83
  */
79
- async function commitTicket(ticket, cwd) {
84
+ async function commitBatch(batchTickets, cwd) {
80
85
  const git = simpleGit(cwd);
81
86
  // Stage all changes
82
87
  await git.add('.');
83
- // Commit with ticket info
84
- const commitMessage = `feat: ${ticket.id} - ${ticket.title}`;
88
+ // Create commit message with all tickets in batch
89
+ const ticketIds = batchTickets.map((t) => t.id).join(', ');
90
+ const batchType = batchTickets[0].id.startsWith('WEB-TEST-')
91
+ ? batchTickets[0].id.split('-')[2] === '1'
92
+ ? 'scaffold'
93
+ : 'logic'
94
+ : 'implementation';
95
+ const commitMessage = `feat: ${batchType} batch (${ticketIds})`;
85
96
  await git.commit(commitMessage);
86
- console.log(` ✅ Committed: ${commitMessage}`);
97
+ console.log(`\n ✅ Committed batch: ${commitMessage}\n`);
98
+ }
99
+ /**
100
+ * Determine if we should commit after this ticket
101
+ * Commits happen after the last WEB-TEST in a batch
102
+ */
103
+ function shouldCommitAfterTicket(currentTicket, nextTicket) {
104
+ // Always commit after last ticket
105
+ if (!nextTicket)
106
+ return true;
107
+ // Commit if current is WEB-TEST and next is not WEB-TEST (batch boundary)
108
+ if (currentTicket.id.startsWith('WEB-TEST-') && !nextTicket.id.startsWith('WEB-TEST-')) {
109
+ return true;
110
+ }
111
+ return false;
87
112
  }
88
113
  /**
89
114
  * Main build command - processes all tickets and commits each one
@@ -98,7 +123,7 @@ export async function buildCommand(options) {
98
123
  if (!process.env.GITHUB_TOKEN) {
99
124
  throw new Error('GITHUB_TOKEN environment variable is required for build command');
100
125
  }
101
- const { directory, ticketsFile = 'tickets.json', dbUrl = 'postgres://postgres:postgres@localhost:5432/postgres', reset = false, askConfirm = false, askCommit = false, review = true, test = true, url, headless, verbose, noLogs = false, } = options;
126
+ const { directory, ticketsFile = 'tickets.json', dbUrl = 'postgres://postgres:postgres@localhost:5432/postgres', reset = false, askConfirm = false, askCommit = false, review = true, url, headless, verbose, noLogs = false, } = options;
102
127
  // 1. Validate and resolve directory
103
128
  const cwd = directory ? resolve(directory) : process.cwd();
104
129
  if (!existsSync(cwd)) {
@@ -141,9 +166,11 @@ export async function buildCommand(options) {
141
166
  console.log(` ${index + 1}. ${ticket.id}: ${ticket.title}`);
142
167
  });
143
168
  console.log('');
144
- // 4. Process each ticket sequentially
169
+ // 4. Process each ticket sequentially with batch tracking
170
+ const batchTickets = []; // Track tickets in current batch
145
171
  for (let i = 0; i < ticketsToProcess.length; i++) {
146
172
  const ticket = ticketsToProcess[i];
173
+ const nextTicket = ticketsToProcess[i + 1];
147
174
  console.log('\n' + '='.repeat(80));
148
175
  console.log(`📦 Processing Ticket ${i + 1}/${ticketsToProcess.length}: ${ticket.id}`);
149
176
  console.log(`📝 ${ticket.title}`);
@@ -153,59 +180,132 @@ export async function buildCommand(options) {
153
180
  console.log('📝 Updating ticket status to InProgress...');
154
181
  updateTicketStatus(ticketsPath, ticket.id, 'InProgress');
155
182
  console.log(' ✅ Status updated\n');
156
- // Step 2: Ship implements the ticket (no ticket lifecycle management)
157
- const shipResult = await shipCore({
158
- ticketData: ticket, // Pass ticket object directly
159
- review, // Controlled by build options
160
- directory: cwd,
161
- dbUrl,
162
- noLogs,
163
- });
164
- if (!shipResult.success) {
165
- throw new Error(shipResult.error || 'Ship failed');
166
- }
167
- console.log(`\n✅ ${ticket.id} implemented successfully`);
168
- console.log(`📊 Implementation fixes: ${shipResult.implementationFixCount}`);
169
- console.log(`🔧 Linting fixes: ${shipResult.lintFixCount}`);
170
- if (shipResult.reviewFixCount > 0) {
171
- console.log(`🔍 Review fixes: ${shipResult.reviewFixCount}`);
172
- }
173
- console.log(`💰 Ship cost: $${shipResult.cost.toFixed(4)}`);
174
- // Step 3: Run tests if frontend ticket and test enabled
175
- const isFrontendTicket = ticket.id.startsWith('FRONTEND-');
176
- if (test && isFrontendTicket) {
183
+ // Step 2: Process ticket based on type
184
+ const isTestTicket = ticket.type === 'db-test' || ticket.type === 'web-test';
185
+ if (isTestTicket) {
186
+ // This is a test ticket - run test with retry
177
187
  console.log(`\n${'='.repeat(60)}`);
178
- console.log(`🧪 Phase: Testing (Iterative)`);
188
+ console.log(`🧪 Running ${ticket.type === 'db-test' ? 'Database' : 'Web'} Test`);
179
189
  console.log(`${'='.repeat(60)}\n`);
180
- const testResult = await runTestsWithRetry({
181
- ticket,
182
- cwd,
190
+ // Generate test prompt from ticket
191
+ const testPrompt = ticket.type === 'db-test'
192
+ ? generateDBTestPrompt(ticket)
193
+ : generateWebTestPrompt(ticket);
194
+ let testResult = await testCore({
195
+ prompt: testPrompt,
196
+ type: ticket.type === 'db-test' ? 'db-test' : 'web-test',
197
+ context: {
198
+ ticketId: ticket.id,
199
+ ticketTitle: ticket.title,
200
+ ticketDescription: ticket.description,
201
+ },
202
+ directory: cwd,
183
203
  url,
204
+ dbUrl,
184
205
  headless,
185
206
  verbose,
186
- maxRetries: 3,
207
+ noLogs,
187
208
  });
188
- console.log(`\n✨ Testing completed (${testResult.fixesApplied} fixes applied over ${testResult.attempts} iterations)`);
189
- console.log(`💰 Testing cost: $${testResult.cost.toFixed(4)}`);
209
+ let retryCount = 0;
210
+ const maxRetries = 3;
211
+ // Retry loop: if test fails, run ship to fix it
212
+ while (!testResult.success && retryCount < maxRetries) {
213
+ retryCount++;
214
+ console.log(`\n⚠️ Test failed (attempt ${retryCount}/${maxRetries})`);
215
+ console.log(`📝 Error: ${testResult.error}\n`);
216
+ console.log(`🔧 Running ship to fix test failures...\n`);
217
+ // Create a fix ticket for ship
218
+ const fixTicket = {
219
+ id: `${ticket.id}-FIX-${retryCount}`,
220
+ title: `Fix ${ticket.id} test failures`,
221
+ description: `Fix the following test failures:\n\n${testResult.error}\n\nOriginal ticket:\n${ticket.description}`,
222
+ type: 'logic', // Use logic type for fix tickets
223
+ estimatedEffort: 5,
224
+ status: 'InProgress',
225
+ category: ticket.category,
226
+ };
227
+ const shipResult = await shipCore({
228
+ ticketData: fixTicket,
229
+ review: false, // Skip review for test fixes
230
+ directory: cwd,
231
+ dbUrl,
232
+ noLogs,
233
+ });
234
+ if (!shipResult.success) {
235
+ console.error(`\n❌ Fix attempt ${retryCount} failed: ${shipResult.error}`);
236
+ continue;
237
+ }
238
+ console.log(`\n✅ Fix applied (attempt ${retryCount})`);
239
+ console.log(`💰 Fix cost: $${shipResult.cost.toFixed(4)}\n`);
240
+ // Re-run test
241
+ console.log(`🔄 Re-running test...\n`);
242
+ testResult = await testCore({
243
+ prompt: testPrompt,
244
+ type: ticket.type === 'db-test' ? 'db-test' : 'web-test',
245
+ context: {
246
+ ticketId: ticket.id,
247
+ ticketTitle: ticket.title,
248
+ ticketDescription: ticket.description,
249
+ },
250
+ directory: cwd,
251
+ url,
252
+ dbUrl,
253
+ headless,
254
+ verbose,
255
+ noLogs,
256
+ });
257
+ }
258
+ if (!testResult.success) {
259
+ throw new Error(`Test failed after ${maxRetries} fix attempts:\n${testResult.error}`);
260
+ }
261
+ console.log(`\n✅ ${ticket.id} test passed`);
262
+ console.log(`💰 Test cost: $${testResult.cost.toFixed(4)}`);
190
263
  }
191
- // Step 4: Update ticket status to Done
264
+ else {
265
+ // Regular implementation ticket - run ship
266
+ const shipResult = await shipCore({
267
+ ticketData: ticket,
268
+ review,
269
+ directory: cwd,
270
+ dbUrl,
271
+ noLogs,
272
+ });
273
+ if (!shipResult.success) {
274
+ throw new Error(shipResult.error || 'Ship failed');
275
+ }
276
+ console.log(`\n✅ ${ticket.id} implemented successfully`);
277
+ console.log(`📊 Implementation fixes: ${shipResult.implementationFixCount}`);
278
+ console.log(`🔧 Linting fixes: ${shipResult.lintFixCount}`);
279
+ if (shipResult.reviewFixCount > 0) {
280
+ console.log(`🔍 Review fixes: ${shipResult.reviewFixCount}`);
281
+ }
282
+ console.log(`💰 Ship cost: $${shipResult.cost.toFixed(4)}`);
283
+ }
284
+ // Step 3: Update ticket status to Done
192
285
  console.log('\n📝 Updating ticket status to Done...');
193
286
  updateTicketStatus(ticketsPath, ticket.id, 'Done');
194
287
  console.log(` ✅ Ticket ${ticket.id} marked as Done\n`);
195
- // Step 5: Commit (if not asking)
196
- if (askCommit) {
197
- // Interactive: ask before committing
198
- const shouldCommit = await promptConfirmation(`\n❓ Commit changes for ${ticket.id}?`);
199
- if (shouldCommit) {
200
- await commitTicket(ticket, cwd);
288
+ // Add to batch tracking
289
+ batchTickets.push(ticket);
290
+ // Step 4: Commit batch if at batch boundary
291
+ const shouldCommit = shouldCommitAfterTicket(ticket, nextTicket);
292
+ if (shouldCommit && batchTickets.length > 0) {
293
+ if (askCommit) {
294
+ // Interactive: ask before committing
295
+ const commitConfirmed = await promptConfirmation(`\n❓ Commit batch of ${batchTickets.length} ticket(s)?`);
296
+ if (commitConfirmed) {
297
+ await commitBatch(batchTickets, cwd);
298
+ }
299
+ else {
300
+ console.log(' ⏭️ Skipped batch commit\n');
301
+ }
201
302
  }
202
303
  else {
203
- console.log(' ⏭️ Skipped commit\n');
304
+ // Default: auto-commit batch
305
+ await commitBatch(batchTickets, cwd);
204
306
  }
205
- }
206
- else {
207
- // Default: auto-commit
208
- await commitTicket(ticket, cwd);
307
+ // Reset batch tracking
308
+ batchTickets.length = 0;
209
309
  }
210
310
  // Ask for confirmation before proceeding to next ticket (if not last ticket)
211
311
  if (askConfirm && i < ticketsToProcess.length - 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../kosuke/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../kosuke/commands/build.ts"],"names":[],"mappings":"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"}