@kosuke-ai/cli 0.0.25 → 0.0.27
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.js +32 -28
- package/dist/index.js.map +1 -1
- package/dist/kosuke/commands/requirements.d.ts +7 -2
- package/dist/kosuke/commands/requirements.d.ts.map +1 -1
- package/dist/kosuke/commands/requirements.js +335 -216
- package/dist/kosuke/commands/requirements.js.map +1 -1
- package/dist/kosuke/commands/tickets.d.ts +10 -3
- package/dist/kosuke/commands/tickets.d.ts.map +1 -1
- package/dist/kosuke/commands/tickets.js +81 -42
- package/dist/kosuke/commands/tickets.js.map +1 -1
- package/dist/kosuke/types.d.ts +12 -1
- package/dist/kosuke/types.d.ts.map +1 -1
- package/dist/kosuke/utils/claude-agent.d.ts +11 -0
- package/dist/kosuke/utils/claude-agent.d.ts.map +1 -1
- package/dist/kosuke/utils/claude-agent.js +87 -6
- package/dist/kosuke/utils/claude-agent.js.map +1 -1
- package/dist/kosuke/utils/logger.d.ts +20 -0
- package/dist/kosuke/utils/logger.d.ts.map +1 -1
- package/dist/kosuke/utils/logger.js +2 -0
- package/dist/kosuke/utils/logger.js.map +1 -1
- package/dist/package.json +2 -1
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -96,7 +96,8 @@ async function main() {
|
|
|
96
96
|
const options = {
|
|
97
97
|
path: args.find((arg) => arg.startsWith('--path='))?.split('=')[1],
|
|
98
98
|
output: args.find((arg) => arg.startsWith('--output='))?.split('=')[1],
|
|
99
|
-
|
|
99
|
+
directory: args.find((arg) => arg.startsWith('--directory='))?.split('=')[1] ||
|
|
100
|
+
args.find((arg) => arg.startsWith('--dir='))?.split('=')[1],
|
|
100
101
|
noLogs: args.includes('--no-logs'),
|
|
101
102
|
};
|
|
102
103
|
await ticketsCommand(options);
|
|
@@ -192,12 +193,12 @@ COMMANDS:
|
|
|
192
193
|
|
|
193
194
|
sync-rules [options]
|
|
194
195
|
Sync rules and documentation from kosuke-template
|
|
195
|
-
|
|
196
|
+
|
|
196
197
|
Options:
|
|
197
198
|
--force Compare files regardless of recent commit history
|
|
198
199
|
--pr Create a pull request with changes
|
|
199
200
|
--base-branch=<name> Base branch for PR (default: current branch)
|
|
200
|
-
|
|
201
|
+
|
|
201
202
|
Examples:
|
|
202
203
|
kosuke sync-rules # Local changes only
|
|
203
204
|
kosuke sync-rules --force # Force comparison
|
|
@@ -207,13 +208,13 @@ COMMANDS:
|
|
|
207
208
|
analyse [options]
|
|
208
209
|
Analyze and fix code quality issues against CLAUDE.md rules
|
|
209
210
|
Applies fixes locally by default
|
|
210
|
-
|
|
211
|
+
|
|
211
212
|
Options:
|
|
212
213
|
--pr Create a pull request with fixes
|
|
213
214
|
--base-branch=<name> Base branch for PR (default: current branch)
|
|
214
215
|
--scope=<dirs> Analyze specific directories (comma-separated)
|
|
215
216
|
--types=<exts> Analyze specific file types (comma-separated)
|
|
216
|
-
|
|
217
|
+
|
|
217
218
|
Examples:
|
|
218
219
|
kosuke analyse # Local fixes only
|
|
219
220
|
kosuke analyse --pr # Create PR with fixes
|
|
@@ -224,11 +225,11 @@ COMMANDS:
|
|
|
224
225
|
lint [options]
|
|
225
226
|
Use Claude AI to automatically fix linting errors
|
|
226
227
|
Applies fixes locally by default
|
|
227
|
-
|
|
228
|
+
|
|
228
229
|
Options:
|
|
229
230
|
--pr Create a pull request with fixes
|
|
230
231
|
--base-branch=<name> Base branch for PR (default: current branch)
|
|
231
|
-
|
|
232
|
+
|
|
232
233
|
Examples:
|
|
233
234
|
kosuke lint # Local fixes only
|
|
234
235
|
kosuke lint --pr # Create PR with fixes
|
|
@@ -237,18 +238,18 @@ COMMANDS:
|
|
|
237
238
|
requirements
|
|
238
239
|
Interactive requirements gathering with Claude AI
|
|
239
240
|
Generates a comprehensive docs.md file
|
|
240
|
-
|
|
241
|
+
|
|
241
242
|
Examples:
|
|
242
243
|
kosuke requirements
|
|
243
244
|
|
|
244
245
|
getcode [repo] "<query>" [options]
|
|
245
246
|
Explore GitHub repositories and fetch code implementations
|
|
246
247
|
Uses Claude Code Agent to find and explain code
|
|
247
|
-
|
|
248
|
+
|
|
248
249
|
Options:
|
|
249
250
|
--template, -t Use kosuke-template repository
|
|
250
251
|
--output=<file> Save output to file
|
|
251
|
-
|
|
252
|
+
|
|
252
253
|
Examples:
|
|
253
254
|
kosuke getcode "facebook/react" "How does reconciliation work?"
|
|
254
255
|
kosuke getcode "How is routing implemented in Next.js?"
|
|
@@ -261,21 +262,24 @@ COMMANDS:
|
|
|
261
262
|
1. Schema tickets (database design)
|
|
262
263
|
2. Backend tickets (API, services, business logic)
|
|
263
264
|
3. Frontend tickets (pages, components, UI)
|
|
264
|
-
|
|
265
|
+
|
|
265
266
|
Options:
|
|
266
|
-
--path=<file> Path to requirements document (default: docs.md)
|
|
267
|
-
--output=<file> Output file for tickets (default: tickets.json)
|
|
268
|
-
--
|
|
269
|
-
|
|
267
|
+
--path=<file> Path to requirements document (default: docs.md, relative to project directory)
|
|
268
|
+
--output=<file> Output file for tickets (default: tickets.json, relative to project directory)
|
|
269
|
+
--directory=<path> Directory for Claude to explore (default: current directory)
|
|
270
|
+
--dir=<path> Alias for --directory
|
|
271
|
+
|
|
270
272
|
Examples:
|
|
271
|
-
kosuke tickets
|
|
272
|
-
kosuke tickets --path=requirements.md
|
|
273
|
-
kosuke tickets --output=my-tickets.json
|
|
273
|
+
kosuke tickets # Use docs.md in current directory
|
|
274
|
+
kosuke tickets --path=requirements.md # Custom requirements file
|
|
275
|
+
kosuke tickets --output=my-tickets.json # Custom output file
|
|
276
|
+
kosuke tickets --directory=./projects/my-app # Analyze specific directory
|
|
277
|
+
kosuke tickets --dir=./my-app --path=docs/spec.md # Custom directory and requirements path
|
|
274
278
|
|
|
275
279
|
ship --ticket=<ID> [options]
|
|
276
280
|
Implement a single ticket from tickets.json
|
|
277
281
|
Follows CLAUDE.md rules, runs linting, and optionally performs review and tests
|
|
278
|
-
|
|
282
|
+
|
|
279
283
|
Options:
|
|
280
284
|
--ticket=<ID> Ticket ID to implement (required, e.g., SCHEMA-1)
|
|
281
285
|
--review Perform code review step after implementation
|
|
@@ -284,7 +288,7 @@ COMMANDS:
|
|
|
284
288
|
--pr Create new branch and pull request (mutually exclusive with --commit)
|
|
285
289
|
--base-branch=<name> Base branch for PR (default: current branch)
|
|
286
290
|
--tickets=<file> Path to tickets file (default: tickets.json)
|
|
287
|
-
|
|
291
|
+
|
|
288
292
|
Examples:
|
|
289
293
|
kosuke ship --ticket=SCHEMA-1 # Implement locally only
|
|
290
294
|
kosuke ship --ticket=BACKEND-2 --review # Implement with review
|
|
@@ -298,24 +302,24 @@ COMMANDS:
|
|
|
298
302
|
Automatically commits each ticket to current branch
|
|
299
303
|
Processes tickets in order: Schema → Backend → Frontend
|
|
300
304
|
Frontend tickets automatically include E2E testing
|
|
301
|
-
|
|
305
|
+
|
|
302
306
|
Options:
|
|
303
307
|
--tickets=<file> Path to tickets file (default: tickets.json)
|
|
304
|
-
|
|
308
|
+
|
|
305
309
|
Examples:
|
|
306
310
|
git checkout -b feat/implement-tickets # Create feature branch first
|
|
307
311
|
kosuke build # Process and commit all tickets
|
|
308
312
|
gh pr create # Create PR manually
|
|
309
|
-
|
|
313
|
+
|
|
310
314
|
kosuke build --tickets=custom.json # Use custom tickets file
|
|
311
|
-
|
|
315
|
+
|
|
312
316
|
Note: If a ticket fails, fix the issue and run build again to resume
|
|
313
317
|
|
|
314
318
|
review
|
|
315
319
|
Review current git diff against CLAUDE.md rules
|
|
316
320
|
Identifies and fixes compliance issues in uncommitted changes
|
|
317
321
|
Note: Changes applied locally only (no --pr support)
|
|
318
|
-
|
|
322
|
+
|
|
319
323
|
Examples:
|
|
320
324
|
kosuke review # Review uncommitted changes
|
|
321
325
|
|
|
@@ -323,7 +327,7 @@ COMMANDS:
|
|
|
323
327
|
Run E2E tests for a ticket with automated fixing
|
|
324
328
|
Uses Playwright for testing, Claude AI for analyzing and fixing issues
|
|
325
329
|
Iteratively tests and fixes until passing or max retries reached
|
|
326
|
-
|
|
330
|
+
|
|
327
331
|
Options:
|
|
328
332
|
--ticket=<ID> Ticket ID to test (required, e.g., FRONTEND-1)
|
|
329
333
|
--url=<URL> Base URL (default: http://localhost:3000)
|
|
@@ -334,7 +338,7 @@ COMMANDS:
|
|
|
334
338
|
--tickets=<file> Path to tickets file (default: tickets.json)
|
|
335
339
|
--pr Create pull request with fixes
|
|
336
340
|
--base-branch=<name> Base branch for PR (default: current branch)
|
|
337
|
-
|
|
341
|
+
|
|
338
342
|
Examples:
|
|
339
343
|
kosuke test --ticket=FRONTEND-1 # Test with auto-fix
|
|
340
344
|
kosuke test --ticket=FRONTEND-1 --url=http://localhost:4000
|
|
@@ -346,7 +350,7 @@ COMMANDS:
|
|
|
346
350
|
GLOBAL OPTIONS:
|
|
347
351
|
|
|
348
352
|
--no-logs Disable logging to Kosuke API (useful when kosuke-cli is used as library)
|
|
349
|
-
By default, logging is enabled if KOSUKE_BASE_URL, KOSUKE_API_KEY,
|
|
353
|
+
By default, logging is enabled if KOSUKE_BASE_URL, KOSUKE_API_KEY,
|
|
350
354
|
and KOSUKE_PROJECT_ID environment variables are set.
|
|
351
355
|
This flag can be used with any command to prevent API logging calls.
|
|
352
356
|
|
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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"}
|
|
@@ -7,14 +7,19 @@
|
|
|
7
7
|
* - Claude asks clarification questions
|
|
8
8
|
* - User answers questions (iterative until clear)
|
|
9
9
|
* - Generate docs.md with complete requirements
|
|
10
|
+
*
|
|
11
|
+
* Implementation: Uses Anthropic SDK directly with two custom tools:
|
|
12
|
+
* - write_docs: Create new docs.md file
|
|
13
|
+
* - edit_docs: Update existing docs.md file
|
|
10
14
|
*/
|
|
15
|
+
import Anthropic from '@anthropic-ai/sdk';
|
|
11
16
|
/**
|
|
12
17
|
* Options for programmatic requirements gathering
|
|
13
18
|
*/
|
|
14
19
|
export interface RequirementsOptions {
|
|
15
20
|
workspaceRoot: string;
|
|
16
21
|
userMessage: string;
|
|
17
|
-
|
|
22
|
+
previousMessages?: Anthropic.MessageParam[];
|
|
18
23
|
isFirstRequest?: boolean;
|
|
19
24
|
onStream?: (text: string) => void;
|
|
20
25
|
}
|
|
@@ -24,7 +29,7 @@ export interface RequirementsOptions {
|
|
|
24
29
|
export interface RequirementsResult {
|
|
25
30
|
success: boolean;
|
|
26
31
|
response: string;
|
|
27
|
-
|
|
32
|
+
messages: Anthropic.MessageParam[];
|
|
28
33
|
docsCreated: boolean;
|
|
29
34
|
docsContent?: string;
|
|
30
35
|
tokenUsage: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirements.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/requirements.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"requirements.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/requirements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAO1C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA2ZD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoEhG;AAqWD;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgCzD"}
|