@kosuke-ai/cli 0.0.56 → 1.0.0

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 (251) hide show
  1. package/README.md +31 -448
  2. package/dist/commands/auth.js +117 -0
  3. package/dist/generated/commands/deploy/cancel.js +17 -0
  4. package/dist/generated/commands/deploy/messages.js +17 -0
  5. package/dist/generated/commands/deploy/run.js +60 -0
  6. package/dist/generated/commands/index.js +132 -0
  7. package/dist/generated/commands/preview/get.js +25 -0
  8. package/dist/generated/commands/preview/health.js +25 -0
  9. package/dist/generated/commands/preview/reset.js +27 -0
  10. package/dist/generated/commands/preview/share-create.js +36 -0
  11. package/dist/generated/commands/preview/share-delete.js +26 -0
  12. package/dist/generated/commands/preview/share-get.js +26 -0
  13. package/dist/generated/commands/preview/shared.js +17 -0
  14. package/dist/generated/commands/projects/create.js +37 -0
  15. package/dist/generated/commands/projects/delete.js +17 -0
  16. package/dist/generated/commands/projects/env-vars-add.js +21 -0
  17. package/dist/generated/commands/projects/env-vars-remove.js +21 -0
  18. package/dist/generated/commands/projects/get.js +17 -0
  19. package/dist/generated/commands/projects/list.js +15 -0
  20. package/dist/generated/commands/projects/services-add.js +87 -0
  21. package/dist/generated/commands/projects/services-list.js +18 -0
  22. package/dist/generated/commands/projects/services-remove.js +19 -0
  23. package/dist/generated/commands/projects/services-update.js +81 -0
  24. package/dist/generated/commands/projects/settings-get.js +18 -0
  25. package/dist/generated/commands/projects/settings-import.js +91 -0
  26. package/dist/generated/commands/projects/settings-update.js +77 -0
  27. package/dist/generated/commands/projects/skills.js +35 -0
  28. package/dist/generated/commands/projects/update.js +27 -0
  29. package/dist/generated/commands/sessions/activate.js +18 -0
  30. package/dist/generated/commands/sessions/checklist-generate.js +19 -0
  31. package/dist/generated/commands/sessions/checklist-get.js +19 -0
  32. package/dist/generated/commands/sessions/comments-add.js +63 -0
  33. package/dist/generated/commands/sessions/comments-delete.js +20 -0
  34. package/dist/generated/commands/sessions/comments-list.js +19 -0
  35. package/dist/generated/commands/sessions/comments-update.js +23 -0
  36. package/dist/generated/commands/sessions/create.js +126 -0
  37. package/dist/generated/commands/sessions/delete.js +18 -0
  38. package/dist/generated/commands/sessions/diff-files.js +19 -0
  39. package/dist/generated/commands/sessions/diff-patch.js +86 -0
  40. package/dist/generated/commands/sessions/edit-prompt.js +59 -0
  41. package/dist/generated/commands/sessions/files-get.js +27 -0
  42. package/dist/generated/commands/sessions/files-list.js +19 -0
  43. package/dist/generated/commands/sessions/files-write.js +41 -0
  44. package/dist/generated/commands/sessions/get.js +18 -0
  45. package/dist/generated/commands/sessions/git-commit-message.js +19 -0
  46. package/dist/generated/commands/sessions/git-commit.js +29 -0
  47. package/dist/generated/commands/sessions/git-push.js +19 -0
  48. package/dist/generated/commands/sessions/git-state.js +19 -0
  49. package/dist/generated/commands/sessions/jobs-cancel.js +20 -0
  50. package/dist/generated/commands/sessions/jobs-get.js +20 -0
  51. package/dist/generated/commands/sessions/list.js +81 -0
  52. package/dist/generated/commands/sessions/messages.js +18 -0
  53. package/dist/generated/commands/sessions/search.js +23 -0
  54. package/dist/generated/commands/sessions/send.js +98 -0
  55. package/dist/generated/commands/sessions/update.js +72 -0
  56. package/dist/generated/commands/workspaces/access-status.js +29 -0
  57. package/dist/generated/commands/workspaces/ai-provider-get.js +18 -0
  58. package/dist/generated/commands/workspaces/ai-provider-remove.js +42 -0
  59. package/dist/generated/commands/workspaces/ai-provider-set.js +21 -0
  60. package/dist/generated/commands/workspaces/credits.js +17 -0
  61. package/dist/generated/commands/workspaces/get.js +17 -0
  62. package/dist/generated/commands/workspaces/getting-started-get.js +18 -0
  63. package/dist/generated/commands/workspaces/getting-started-update.js +32 -0
  64. package/dist/generated/commands/workspaces/list.js +15 -0
  65. package/dist/generated/commands/workspaces/members.js +25 -0
  66. package/dist/generated/commands/workspaces/sandbox-limit.js +17 -0
  67. package/dist/generated/commands/workspaces/stop-sandboxes.js +27 -0
  68. package/dist/generated/commands/workspaces/usage.js +32 -0
  69. package/dist/index.js +5 -516
  70. package/dist/program.js +46 -0
  71. package/dist/runtime/attach.js +139 -0
  72. package/dist/runtime/attachments.js +58 -0
  73. package/dist/runtime/client.js +12 -0
  74. package/dist/runtime/config.js +49 -0
  75. package/dist/runtime/credentials.js +24 -0
  76. package/dist/runtime/descriptor.js +7 -0
  77. package/dist/runtime/invoke.js +152 -0
  78. package/dist/runtime/runtime.js +41 -0
  79. package/dist/runtime/version.js +5 -0
  80. package/openapi.json +5222 -0
  81. package/package.json +21 -79
  82. package/LICENSE +0 -21
  83. package/claude.costs.json +0 -34
  84. package/dist/__tests__/utils/file-discovery.test.d.ts +0 -5
  85. package/dist/__tests__/utils/file-discovery.test.d.ts.map +0 -1
  86. package/dist/__tests__/utils/file-discovery.test.js +0 -51
  87. package/dist/__tests__/utils/file-discovery.test.js.map +0 -1
  88. package/dist/__tests__/utils/logger-nologs.test.d.ts +0 -5
  89. package/dist/__tests__/utils/logger-nologs.test.d.ts.map +0 -1
  90. package/dist/__tests__/utils/logger-nologs.test.js +0 -34
  91. package/dist/__tests__/utils/logger-nologs.test.js.map +0 -1
  92. package/dist/__tests__/utils/logger.test.d.ts +0 -5
  93. package/dist/__tests__/utils/logger.test.d.ts.map +0 -1
  94. package/dist/__tests__/utils/logger.test.js +0 -243
  95. package/dist/__tests__/utils/logger.test.js.map +0 -1
  96. package/dist/__tests__/utils/validator.test.d.ts +0 -5
  97. package/dist/__tests__/utils/validator.test.d.ts.map +0 -1
  98. package/dist/__tests__/utils/validator.test.js +0 -206
  99. package/dist/__tests__/utils/validator.test.js.map +0 -1
  100. package/dist/index.d.ts +0 -35
  101. package/dist/index.d.ts.map +0 -1
  102. package/dist/index.js.map +0 -1
  103. package/dist/kosuke/commands/analyse.d.ts +0 -15
  104. package/dist/kosuke/commands/analyse.d.ts.map +0 -1
  105. package/dist/kosuke/commands/analyse.js +0 -273
  106. package/dist/kosuke/commands/analyse.js.map +0 -1
  107. package/dist/kosuke/commands/build.d.ts +0 -35
  108. package/dist/kosuke/commands/build.d.ts.map +0 -1
  109. package/dist/kosuke/commands/build.js +0 -659
  110. package/dist/kosuke/commands/build.js.map +0 -1
  111. package/dist/kosuke/commands/getcode.d.ts +0 -29
  112. package/dist/kosuke/commands/getcode.d.ts.map +0 -1
  113. package/dist/kosuke/commands/getcode.js +0 -221
  114. package/dist/kosuke/commands/getcode.js.map +0 -1
  115. package/dist/kosuke/commands/lint.d.ts +0 -21
  116. package/dist/kosuke/commands/lint.d.ts.map +0 -1
  117. package/dist/kosuke/commands/lint.js +0 -321
  118. package/dist/kosuke/commands/lint.js.map +0 -1
  119. package/dist/kosuke/commands/migrate.d.ts +0 -38
  120. package/dist/kosuke/commands/migrate.d.ts.map +0 -1
  121. package/dist/kosuke/commands/migrate.js +0 -284
  122. package/dist/kosuke/commands/migrate.js.map +0 -1
  123. package/dist/kosuke/commands/plan.d.ts +0 -28
  124. package/dist/kosuke/commands/plan.d.ts.map +0 -1
  125. package/dist/kosuke/commands/plan.js +0 -630
  126. package/dist/kosuke/commands/plan.js.map +0 -1
  127. package/dist/kosuke/commands/requirements.d.ts +0 -52
  128. package/dist/kosuke/commands/requirements.d.ts.map +0 -1
  129. package/dist/kosuke/commands/requirements.js +0 -615
  130. package/dist/kosuke/commands/requirements.js.map +0 -1
  131. package/dist/kosuke/commands/review.d.ts +0 -26
  132. package/dist/kosuke/commands/review.d.ts.map +0 -1
  133. package/dist/kosuke/commands/review.js +0 -303
  134. package/dist/kosuke/commands/review.js.map +0 -1
  135. package/dist/kosuke/commands/serve.d.ts +0 -9
  136. package/dist/kosuke/commands/serve.d.ts.map +0 -1
  137. package/dist/kosuke/commands/serve.js +0 -17
  138. package/dist/kosuke/commands/serve.js.map +0 -1
  139. package/dist/kosuke/commands/ship.d.ts +0 -37
  140. package/dist/kosuke/commands/ship.d.ts.map +0 -1
  141. package/dist/kosuke/commands/ship.js +0 -375
  142. package/dist/kosuke/commands/ship.js.map +0 -1
  143. package/dist/kosuke/commands/sync-rules.d.ts +0 -9
  144. package/dist/kosuke/commands/sync-rules.d.ts.map +0 -1
  145. package/dist/kosuke/commands/sync-rules.js +0 -379
  146. package/dist/kosuke/commands/sync-rules.js.map +0 -1
  147. package/dist/kosuke/commands/test.d.ts +0 -42
  148. package/dist/kosuke/commands/test.d.ts.map +0 -1
  149. package/dist/kosuke/commands/test.js +0 -540
  150. package/dist/kosuke/commands/test.js.map +0 -1
  151. package/dist/kosuke/commands/tickets.d.ts +0 -43
  152. package/dist/kosuke/commands/tickets.d.ts.map +0 -1
  153. package/dist/kosuke/commands/tickets.js +0 -499
  154. package/dist/kosuke/commands/tickets.js.map +0 -1
  155. package/dist/kosuke/serve/middleware/error-handler.d.ts +0 -14
  156. package/dist/kosuke/serve/middleware/error-handler.d.ts.map +0 -1
  157. package/dist/kosuke/serve/middleware/error-handler.js +0 -42
  158. package/dist/kosuke/serve/middleware/error-handler.js.map +0 -1
  159. package/dist/kosuke/serve/middleware/validation.d.ts +0 -13
  160. package/dist/kosuke/serve/middleware/validation.d.ts.map +0 -1
  161. package/dist/kosuke/serve/middleware/validation.js +0 -38
  162. package/dist/kosuke/serve/middleware/validation.js.map +0 -1
  163. package/dist/kosuke/serve/routes/build.d.ts +0 -6
  164. package/dist/kosuke/serve/routes/build.d.ts.map +0 -1
  165. package/dist/kosuke/serve/routes/build.js +0 -226
  166. package/dist/kosuke/serve/routes/build.js.map +0 -1
  167. package/dist/kosuke/serve/routes/health.d.ts +0 -6
  168. package/dist/kosuke/serve/routes/health.d.ts.map +0 -1
  169. package/dist/kosuke/serve/routes/health.js +0 -11
  170. package/dist/kosuke/serve/routes/health.js.map +0 -1
  171. package/dist/kosuke/serve/routes/plan.d.ts +0 -6
  172. package/dist/kosuke/serve/routes/plan.d.ts.map +0 -1
  173. package/dist/kosuke/serve/routes/plan.js +0 -106
  174. package/dist/kosuke/serve/routes/plan.js.map +0 -1
  175. package/dist/kosuke/serve/server.d.ts +0 -16
  176. package/dist/kosuke/serve/server.d.ts.map +0 -1
  177. package/dist/kosuke/serve/server.js +0 -67
  178. package/dist/kosuke/serve/server.js.map +0 -1
  179. package/dist/kosuke/serve/validation/build.d.ts +0 -41
  180. package/dist/kosuke/serve/validation/build.d.ts.map +0 -1
  181. package/dist/kosuke/serve/validation/build.js +0 -20
  182. package/dist/kosuke/serve/validation/build.js.map +0 -1
  183. package/dist/kosuke/serve/validation/plan.d.ts +0 -26
  184. package/dist/kosuke/serve/validation/plan.d.ts.map +0 -1
  185. package/dist/kosuke/serve/validation/plan.js +0 -15
  186. package/dist/kosuke/serve/validation/plan.js.map +0 -1
  187. package/dist/kosuke/types.d.ts +0 -469
  188. package/dist/kosuke/types.d.ts.map +0 -1
  189. package/dist/kosuke/types.js +0 -5
  190. package/dist/kosuke/types.js.map +0 -1
  191. package/dist/kosuke/utils/batch-creator.d.ts +0 -14
  192. package/dist/kosuke/utils/batch-creator.d.ts.map +0 -1
  193. package/dist/kosuke/utils/batch-creator.js +0 -76
  194. package/dist/kosuke/utils/batch-creator.js.map +0 -1
  195. package/dist/kosuke/utils/claude-agent.d.ts +0 -145
  196. package/dist/kosuke/utils/claude-agent.d.ts.map +0 -1
  197. package/dist/kosuke/utils/claude-agent.js +0 -504
  198. package/dist/kosuke/utils/claude-agent.js.map +0 -1
  199. package/dist/kosuke/utils/constants.d.ts +0 -40
  200. package/dist/kosuke/utils/constants.d.ts.map +0 -1
  201. package/dist/kosuke/utils/constants.js +0 -54
  202. package/dist/kosuke/utils/constants.js.map +0 -1
  203. package/dist/kosuke/utils/file-discovery.d.ts +0 -15
  204. package/dist/kosuke/utils/file-discovery.d.ts.map +0 -1
  205. package/dist/kosuke/utils/file-discovery.js +0 -80
  206. package/dist/kosuke/utils/file-discovery.js.map +0 -1
  207. package/dist/kosuke/utils/git.d.ts +0 -41
  208. package/dist/kosuke/utils/git.d.ts.map +0 -1
  209. package/dist/kosuke/utils/git.js +0 -145
  210. package/dist/kosuke/utils/git.js.map +0 -1
  211. package/dist/kosuke/utils/github.d.ts +0 -17
  212. package/dist/kosuke/utils/github.d.ts.map +0 -1
  213. package/dist/kosuke/utils/github.js +0 -22
  214. package/dist/kosuke/utils/github.js.map +0 -1
  215. package/dist/kosuke/utils/interactive-input.d.ts +0 -22
  216. package/dist/kosuke/utils/interactive-input.d.ts.map +0 -1
  217. package/dist/kosuke/utils/interactive-input.js +0 -124
  218. package/dist/kosuke/utils/interactive-input.js.map +0 -1
  219. package/dist/kosuke/utils/logger.d.ts +0 -161
  220. package/dist/kosuke/utils/logger.d.ts.map +0 -1
  221. package/dist/kosuke/utils/logger.js +0 -234
  222. package/dist/kosuke/utils/logger.js.map +0 -1
  223. package/dist/kosuke/utils/playwright-mcp-client.d.ts +0 -46
  224. package/dist/kosuke/utils/playwright-mcp-client.d.ts.map +0 -1
  225. package/dist/kosuke/utils/playwright-mcp-client.js +0 -135
  226. package/dist/kosuke/utils/playwright-mcp-client.js.map +0 -1
  227. package/dist/kosuke/utils/pr-orchestrator.d.ts +0 -49
  228. package/dist/kosuke/utils/pr-orchestrator.d.ts.map +0 -1
  229. package/dist/kosuke/utils/pr-orchestrator.js +0 -154
  230. package/dist/kosuke/utils/pr-orchestrator.js.map +0 -1
  231. package/dist/kosuke/utils/repository-manager.d.ts +0 -13
  232. package/dist/kosuke/utils/repository-manager.d.ts.map +0 -1
  233. package/dist/kosuke/utils/repository-manager.js +0 -94
  234. package/dist/kosuke/utils/repository-manager.js.map +0 -1
  235. package/dist/kosuke/utils/repository-resolver.d.ts +0 -12
  236. package/dist/kosuke/utils/repository-resolver.d.ts.map +0 -1
  237. package/dist/kosuke/utils/repository-resolver.js +0 -186
  238. package/dist/kosuke/utils/repository-resolver.js.map +0 -1
  239. package/dist/kosuke/utils/tickets-manager.d.ts +0 -64
  240. package/dist/kosuke/utils/tickets-manager.d.ts.map +0 -1
  241. package/dist/kosuke/utils/tickets-manager.js +0 -331
  242. package/dist/kosuke/utils/tickets-manager.js.map +0 -1
  243. package/dist/kosuke/utils/validator.d.ts +0 -45
  244. package/dist/kosuke/utils/validator.d.ts.map +0 -1
  245. package/dist/kosuke/utils/validator.js +0 -248
  246. package/dist/kosuke/utils/validator.js.map +0 -1
  247. package/dist/lib.d.ts +0 -96
  248. package/dist/lib.d.ts.map +0 -1
  249. package/dist/lib.js +0 -95
  250. package/dist/lib.js.map +0 -1
  251. package/dist/package.json +0 -99
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../kosuke/commands/build.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /**
2
- * GetCode command - Explore GitHub repositories and fetch code implementations
3
- *
4
- * This command uses Claude Code Agent to explore any GitHub repository and
5
- * fetch code implementations based on natural language queries.
6
- *
7
- * Usage:
8
- * kosuke getcode "owner/repo" "query" # Explicit repository
9
- * kosuke getcode "query" # Infer from query
10
- * kosuke getcode --template "query" # Use kosuke-template
11
- */
12
- import type { GetCodeOptions, CodeExplorationResult } from '../types.js';
13
- /**
14
- * Parse arguments for getcode command
15
- * Handles multiple argument patterns:
16
- * kosuke getcode "query"
17
- * kosuke getcode "owner/repo" "query"
18
- * kosuke getcode --template "query"
19
- */
20
- export declare function parseGetCodeArgs(args: string[]): GetCodeOptions;
21
- /**
22
- * Core getcode logic (can be used programmatically by other commands)
23
- */
24
- export declare function getCodeCore(options: GetCodeOptions): Promise<CodeExplorationResult>;
25
- /**
26
- * Main getcode command
27
- */
28
- export declare function getCodeCommand(options: GetCodeOptions): Promise<void>;
29
- //# sourceMappingURL=getcode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getcode.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/getcode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAwC/D;AAkDD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAqCzF;AAsCD;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D3E"}
@@ -1,221 +0,0 @@
1
- /**
2
- * GetCode command - Explore GitHub repositories and fetch code implementations
3
- *
4
- * This command uses Claude Code Agent to explore any GitHub repository and
5
- * fetch code implementations based on natural language queries.
6
- *
7
- * Usage:
8
- * kosuke getcode "owner/repo" "query" # Explicit repository
9
- * kosuke getcode "query" # Infer from query
10
- * kosuke getcode --template "query" # Use kosuke-template
11
- */
12
- import { writeFileSync } from 'fs';
13
- import { resolveRepository } from '../utils/repository-resolver.js';
14
- import { ensureRepoReady } from '../utils/repository-manager.js';
15
- import { runAgent, formatCostBreakdown } from '../utils/claude-agent.js';
16
- import { logger, setupCancellationHandler } from '../utils/logger.js';
17
- /**
18
- * Parse arguments for getcode command
19
- * Handles multiple argument patterns:
20
- * kosuke getcode "query"
21
- * kosuke getcode "owner/repo" "query"
22
- * kosuke getcode --template "query"
23
- */
24
- export function parseGetCodeArgs(args) {
25
- const flags = {
26
- template: args.includes('--template') || args.includes('-t'),
27
- output: args.find((arg) => arg.startsWith('--output='))?.split('=')[1],
28
- noLogs: args.includes('--no-logs'),
29
- };
30
- // Remove flags from args to get positional arguments
31
- const positionalArgs = args.filter((arg) => !arg.startsWith('--') && !arg.startsWith('-') && arg !== 'getcode');
32
- // Determine repo and query based on number of positional args
33
- let repo;
34
- let query;
35
- if (positionalArgs.length === 0) {
36
- throw new Error('Missing query argument.\n' +
37
- 'Usage:\n' +
38
- ' kosuke getcode "query"\n' +
39
- ' kosuke getcode "owner/repo" "query"\n' +
40
- ' kosuke getcode --template "query"');
41
- }
42
- else if (positionalArgs.length === 1) {
43
- // Single argument: treat as query
44
- query = positionalArgs[0];
45
- }
46
- else {
47
- // Two or more arguments: first is repo, second is query
48
- repo = positionalArgs[0];
49
- query = positionalArgs[1];
50
- }
51
- return {
52
- repo,
53
- query,
54
- template: flags.template,
55
- output: flags.output,
56
- noLogs: flags.noLogs,
57
- };
58
- }
59
- /**
60
- * Build system prompt for code exploration
61
- */
62
- function buildExplorationSystemPrompt(repoName, repoPath) {
63
- return `You are an expert code exploration agent analyzing the repository: ${repoName}
64
-
65
- **Your Purpose:**
66
- Users will ask you to find reference implementations they can learn from and adapt for
67
- their own projects. Your job is to provide COMPLETE, USABLE code examples with full context.
68
-
69
- **When a user asks about a feature/implementation:**
70
-
71
- 1. **Locate ALL relevant files** - Find the complete implementation, not just snippets
72
- 2. **Show COMPLETE code** - Include entire files or substantial sections, never truncate
73
- 3. **Include dependencies** - Show imports, types, configurations, utilities used
74
- 4. **Explain architecture** - How components connect, data flow, design patterns
75
- 5. **Provide context** - Related files, setup requirements, usage examples
76
-
77
- **Response Structure:**
78
-
79
- 1. **Overview** - What you found and where it's located
80
- 2. **Complete Code Snippets** - Full, copy-ready implementations with file paths
81
- 3. **Implementation Details** - How it works, key patterns, important decisions
82
- 4. **Dependencies & Setup** - Required imports, configurations, related utilities
83
- 5. **Usage Examples** - How the feature is actually used in the codebase
84
-
85
- **Critical Rules:**
86
- - NEVER truncate code - show complete implementations
87
- - ALWAYS include file paths in code blocks
88
- - ALWAYS show imports and type definitions
89
- - ALWAYS explain what makes this implementation work
90
- - If a feature spans multiple files, show ALL of them
91
- - Include configuration, setup, and initialization code
92
-
93
- **Format all code snippets as:**
94
- \`\`\`language
95
- // Complete implementation from: path/to/file.ext
96
- [full code here]
97
- \`\`\`
98
-
99
- Your goal: Provide reference implementations so complete that users can understand and
100
- adapt them immediately.
101
-
102
- **Repository Details:**
103
- - Name: ${repoName}
104
- - Local Path: ${repoPath}`;
105
- }
106
- /**
107
- * Core getcode logic (can be used programmatically by other commands)
108
- */
109
- export async function getCodeCore(options) {
110
- const { repo, query, template = false } = options;
111
- console.log('🔍 Resolving repository...');
112
- // Resolve repository (infer if needed)
113
- const repoIdentifier = await resolveRepository(repo, query, template, process.env.GITHUB_TOKEN);
114
- console.log(` ✅ Repository: ${repoIdentifier}\n`);
115
- // Ensure repository is ready (clone or update)
116
- console.log('📥 Preparing repository...');
117
- const repoInfo = await ensureRepoReady(repoIdentifier);
118
- // Explore code with Claude
119
- console.log(`🤖 Exploring code with Claude...\n`);
120
- const systemPrompt = buildExplorationSystemPrompt(repoIdentifier, repoInfo.localPath);
121
- const agentResult = await runAgent(query, {
122
- systemPrompt,
123
- cwd: repoInfo.localPath,
124
- maxTurns: 20,
125
- verbosity: 'normal',
126
- settingSources: [], // Don't load CLAUDE.md from external repos
127
- });
128
- console.log(`\n✅ Exploration complete!\n`);
129
- return {
130
- repository: repoIdentifier,
131
- query,
132
- response: agentResult.response,
133
- filesReferenced: Array.from(agentResult.filesReferenced),
134
- tokensUsed: agentResult.tokensUsed,
135
- cost: agentResult.cost,
136
- };
137
- }
138
- /**
139
- * Format exploration result for display
140
- */
141
- function formatExplorationResult(result) {
142
- const header = `# Code from ${result.repository}
143
-
144
- **Query:** ${result.query}
145
-
146
- ---
147
-
148
- `;
149
- const footer = `
150
-
151
- ---
152
-
153
- ## Token Usage
154
-
155
- - **Input:** ${result.tokensUsed.input.toLocaleString()} tokens
156
- - **Output:** ${result.tokensUsed.output.toLocaleString()} tokens${result.tokensUsed.cacheCreation > 0
157
- ? `\n- **Cache Creation:** ${result.tokensUsed.cacheCreation.toLocaleString()} tokens`
158
- : ''}${result.tokensUsed.cacheRead > 0
159
- ? `\n- **Cache Read:** ${result.tokensUsed.cacheRead.toLocaleString()} tokens`
160
- : ''}
161
- - **Cost:** $${result.cost.toFixed(4)}
162
-
163
- ${result.filesReferenced.length > 0 ? `**Files Referenced:** ${result.filesReferenced.join(', ')}` : ''}
164
- `;
165
- return header + result.response + footer;
166
- }
167
- /**
168
- * Main getcode command
169
- */
170
- export async function getCodeCommand(options) {
171
- const { noLogs = false } = options;
172
- console.log('🚀 Starting Code Exploration...\n');
173
- // Initialize logging context
174
- const logContext = logger.createContext('getcode', { noLogs });
175
- const cleanupHandler = setupCancellationHandler(logContext);
176
- try {
177
- // Validate environment
178
- if (!process.env.ANTHROPIC_API_KEY) {
179
- throw new Error('ANTHROPIC_API_KEY environment variable is required');
180
- }
181
- // Execute core logic
182
- const result = await getCodeCore(options);
183
- // Track metrics
184
- logger.trackTokens(logContext, result.tokensUsed);
185
- logContext.filesModified = result.filesReferenced;
186
- // Display cost breakdown
187
- const costBreakdown = formatCostBreakdown({
188
- cost: result.cost,
189
- tokensUsed: result.tokensUsed,
190
- fixCount: 0,
191
- response: '',
192
- filesReferenced: new Set(result.filesReferenced),
193
- });
194
- console.log(`💰 Cost: ${costBreakdown}\n`);
195
- // Format and display result
196
- const formattedOutput = formatExplorationResult(result);
197
- // Save to file if --output flag is provided
198
- if (options.output) {
199
- writeFileSync(options.output, formattedOutput, 'utf-8');
200
- console.log(`📄 Output saved to: ${options.output}\n`);
201
- }
202
- else {
203
- // Display to stdout
204
- console.log('─'.repeat(60));
205
- console.log(formattedOutput);
206
- console.log('─'.repeat(60));
207
- }
208
- console.log('\n✅ Code exploration completed successfully!');
209
- // Log successful execution
210
- await logger.complete(logContext, 'success');
211
- cleanupHandler();
212
- }
213
- catch (error) {
214
- console.error('\n❌ Code exploration failed:', error);
215
- // Log failed execution
216
- await logger.complete(logContext, 'error', error);
217
- cleanupHandler();
218
- throw error;
219
- }
220
- }
221
- //# sourceMappingURL=getcode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getcode.js","sourceRoot":"","sources":["../../../kosuke/commands/getcode.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Lint command - Comprehensive code quality validation and fixing
3
- *
4
- * Strategy: Run all validation steps (format, lint, typecheck, test, knip),
5
- * give errors to Claude, let it fix them
6
- */
7
- import type { LintOptions } from '../types.js';
8
- /**
9
- * Run Claude to fix code quality errors
10
- * Exported so other commands can use it
11
- */
12
- export declare function fixCodeQualityErrors(stepName: string, errors: string, cwd?: string): Promise<boolean>;
13
- /**
14
- * Legacy export for backward compatibility
15
- */
16
- export declare function fixLintErrors(lintErrors: string, cwd?: string): Promise<boolean>;
17
- /**
18
- * Main lint command (now runs comprehensive validation)
19
- */
20
- export declare function lintCommand(options?: LintOptions): Promise<void>;
21
- //# sourceMappingURL=lint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../kosuke/commands/lint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA2I/C;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,OAAO,CAAC,CA0ClB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAElB;AA6GD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuF1E"}
@@ -1,321 +0,0 @@
1
- /**
2
- * Lint command - Comprehensive code quality validation and fixing
3
- *
4
- * Strategy: Run all validation steps (format, lint, typecheck, test, knip),
5
- * give errors to Claude, let it fix them
6
- */
7
- import { execSync } from 'child_process';
8
- import { runAgent } from '../utils/claude-agent.js';
9
- import { runWithPR } from '../utils/pr-orchestrator.js';
10
- import { detectPackageManager, readPackageJsonScripts, runFormat, runLint, runTypecheck, } from '../utils/validator.js';
11
- /**
12
- * Run tests using package.json test script
13
- */
14
- async function runTests(cwd = process.cwd()) {
15
- const { readPackageJsonScripts, detectPackageManager } = await import('../utils/validator.js');
16
- const scripts = readPackageJsonScripts(cwd);
17
- if (!scripts || !scripts.test) {
18
- return {
19
- success: true,
20
- warning: '⚠️ No test script found in package.json. Skipping tests.',
21
- };
22
- }
23
- const packageManager = detectPackageManager(cwd);
24
- const command = `${packageManager} run test`;
25
- try {
26
- const output = execSync(command, {
27
- cwd,
28
- encoding: 'utf-8',
29
- stdio: 'pipe',
30
- });
31
- return { success: true, output };
32
- }
33
- catch (error) {
34
- const err = error;
35
- return {
36
- success: false,
37
- error: `$ ${command}\n\n${err.stdout || err.stderr || err.message}`,
38
- };
39
- }
40
- }
41
- /**
42
- * Run knip to check for unused exports
43
- */
44
- async function runKnip(cwd = process.cwd()) {
45
- const { readPackageJsonScripts, detectPackageManager } = await import('../utils/validator.js');
46
- const scripts = readPackageJsonScripts(cwd);
47
- if (!scripts || !scripts.knip) {
48
- return {
49
- success: true,
50
- warning: '⚠️ No knip script found in package.json. Skipping knip check.',
51
- };
52
- }
53
- const packageManager = detectPackageManager(cwd);
54
- const command = `${packageManager} run knip`;
55
- try {
56
- const output = execSync(command, {
57
- cwd,
58
- encoding: 'utf-8',
59
- stdio: 'pipe',
60
- });
61
- return { success: true, output };
62
- }
63
- catch (error) {
64
- const err = error;
65
- return {
66
- success: false,
67
- error: `$ ${command}\n\n${err.stdout || err.stderr || err.message}`,
68
- };
69
- }
70
- }
71
- /**
72
- * Build command-specific system prompt for fixing errors
73
- */
74
- function buildFixSystemPrompt(stepName, cwd) {
75
- const packageManager = detectPackageManager(cwd);
76
- const scripts = readPackageJsonScripts(cwd);
77
- // Map step names to commands
78
- const commandMap = {
79
- '🎨 Format': scripts?.format ? `${packageManager} run format` : 'prettier --write .',
80
- '🔍 Lint': scripts?.lint ? `${packageManager} run lint` : 'eslint . --fix',
81
- '🔎 TypeCheck': scripts?.typecheck ? `${packageManager} run typecheck` : 'tsc --noEmit',
82
- '🧪 Tests': scripts?.test ? `${packageManager} run test` : '',
83
- '🔪 Knip': scripts?.knip ? `${packageManager} run knip` : '',
84
- };
85
- const fixCommand = commandMap[stepName] || '';
86
- const commandGuidance = fixCommand
87
- ? `\n\n**Available Commands:**
88
- - Package Manager: ${packageManager}
89
- - Fix Command: \`${fixCommand}\`
90
- - You can run this command to verify your fixes, but you MUST fix the issues in the code files first.
91
- `
92
- : '';
93
- return `You are a code quality expert specialized in fixing ${stepName} errors.
94
-
95
- Your task is to analyze errors and fix them according to the project's quality standards.
96
- ${commandGuidance}
97
- **CRITICAL REQUIREMENTS:**
98
- - You MUST use the search_replace or write tools to fix ALL errors
99
- - Simply identifying issues without fixing them is NOT acceptable
100
- - Focus ONLY on fixing the specific errors provided. Do not make unnecessary changes.
101
- - Follow the project's coding guidelines (CLAUDE.md will be loaded automatically)
102
- - Use ${packageManager} commands (NOT npm) if you need to run any commands
103
- - Make minimal, surgical fixes - don't refactor unrelated code`;
104
- }
105
- /**
106
- * Run Claude to fix code quality errors
107
- * Exported so other commands can use it
108
- */
109
- export async function fixCodeQualityErrors(stepName, errors, cwd = process.cwd()) {
110
- console.log(`\n🤖 Using Claude to fix ${stepName} errors...\n`);
111
- // Build command-specific system prompt
112
- const systemPrompt = buildFixSystemPrompt(stepName, cwd);
113
- // User prompt
114
- const promptText = `The following ${stepName} errors need to be fixed:
115
-
116
- \`\`\`
117
- ${errors}
118
- \`\`\`
119
-
120
- **Your task:**
121
- 1. Analyze each error carefully
122
- 2. Read the files that have errors
123
- 3. **IMMEDIATELY FIX each error using search_replace or write tools**
124
- 4. Make minimal changes - only fix what's broken
125
- 5. Ensure your fixes don't introduce new issues
126
- 6. Follow the project's coding guidelines
127
-
128
- **IMPORTANT:**
129
- - Don't just describe errors - FIX them!
130
- - Every error you identify MUST be fixed
131
- - Use the project's coding standards
132
-
133
- Start by reading the files with errors and fixing them one by one.`;
134
- try {
135
- const result = await runAgent(promptText, {
136
- systemPrompt,
137
- maxTurns: 20,
138
- cwd,
139
- verbosity: 'normal',
140
- });
141
- console.log(`\n✨ Claude completed (${result.fixCount} fixes applied)`);
142
- return result.fixCount > 0;
143
- }
144
- catch (error) {
145
- console.error('\n❌ Error during Claude fixing:', error);
146
- return false;
147
- }
148
- }
149
- /**
150
- * Legacy export for backward compatibility
151
- */
152
- export async function fixLintErrors(lintErrors, cwd = process.cwd()) {
153
- return fixCodeQualityErrors('linting', lintErrors, cwd);
154
- }
155
- /**
156
- * Core comprehensive validation and fixing logic (git-agnostic)
157
- * Used internally by lintCommand
158
- */
159
- async function fixLintErrorsCore(cwd = process.cwd()) {
160
- console.log('🔍 Running comprehensive code quality checks...\n');
161
- // Define all validation steps
162
- const validationSteps = [
163
- { name: '🎨 Format', run: () => runFormat(cwd), fixable: true },
164
- { name: '🔍 Lint', run: () => runLint(cwd), fixable: true },
165
- { name: '🔎 TypeCheck', run: () => runTypecheck(cwd), fixable: true },
166
- { name: '🧪 Tests', run: () => runTests(cwd), fixable: true },
167
- { name: '🔪 Knip', run: () => runKnip(cwd), fixable: true },
168
- ];
169
- const stepsFixed = [];
170
- let totalAttempts = 0;
171
- let totalFixes = 0;
172
- // Run each validation step
173
- for (const step of validationSteps) {
174
- console.log(`\n${'='.repeat(60)}`);
175
- console.log(`Running: ${step.name}`);
176
- console.log(`${'='.repeat(60)}\n`);
177
- let result = await step.run();
178
- // Handle warnings (non-blocking)
179
- if (result.warning) {
180
- console.log(result.warning);
181
- console.log(`✅ ${step.name} - SKIPPED\n`);
182
- continue;
183
- }
184
- // Handle success
185
- if (result.success) {
186
- console.log(`✅ ${step.name} - PASSED\n`);
187
- continue;
188
- }
189
- // Handle errors
190
- console.log(`❌ ${step.name} - FAILED:\n`);
191
- console.log(result.error);
192
- if (!step.fixable) {
193
- console.log(`\n⚠️ ${step.name} errors cannot be auto-fixed by Claude`);
194
- throw new Error(`${step.name} validation failed`);
195
- }
196
- // Attempt to fix errors with Claude (max 3 attempts per step)
197
- let attemptCount = 0;
198
- const maxAttempts = 3;
199
- while (!result.success && attemptCount < maxAttempts) {
200
- attemptCount++;
201
- totalAttempts++;
202
- console.log(`\n${'='.repeat(60)}`);
203
- console.log(`🔄 ${step.name} Fix Attempt ${attemptCount}/${maxAttempts}`);
204
- console.log(`${'='.repeat(60)}`);
205
- const fixApplied = await fixCodeQualityErrors(step.name, result.error || '', cwd);
206
- if (!fixApplied) {
207
- console.log(`\n⚠️ No fixes were applied by Claude for ${step.name}`);
208
- break;
209
- }
210
- totalFixes++;
211
- // Verify fixes by running validation again
212
- console.log(`\n🔍 Verifying ${step.name} fixes...\n`);
213
- result = await step.run();
214
- if (result.success) {
215
- console.log(`✅ ${step.name} - All errors fixed!\n`);
216
- stepsFixed.push(step.name);
217
- break;
218
- }
219
- else {
220
- const errorLines = result.error?.split('\n').length || 0;
221
- console.log(`\n⚠️ Some ${step.name} errors remain (${errorLines} lines):`);
222
- console.log(result.error);
223
- }
224
- }
225
- // Check if step still has errors after attempts
226
- if (!result.success) {
227
- console.error(`\n❌ Could not fix all ${step.name} errors after ${maxAttempts} attempts`);
228
- console.log('\nRemaining errors:');
229
- console.log(result.error);
230
- throw new Error(`${step.name} errors remain after maximum attempts`);
231
- }
232
- }
233
- console.log('\n' + '='.repeat(60));
234
- console.log('✅ All validation steps passed!');
235
- console.log('='.repeat(60));
236
- return {
237
- success: true,
238
- attempts: totalAttempts,
239
- fixesApplied: totalFixes,
240
- stepsFixed,
241
- };
242
- }
243
- /**
244
- * Main lint command (now runs comprehensive validation)
245
- */
246
- export async function lintCommand(options = {}) {
247
- console.log('🚀 Starting Kosuke Code Quality Check & Fix...\n');
248
- try {
249
- // Validate environment
250
- if (!process.env.ANTHROPIC_API_KEY) {
251
- throw new Error('ANTHROPIC_API_KEY environment variable is required');
252
- }
253
- // Resolve directory
254
- const { resolve } = await import('path');
255
- const { existsSync, statSync } = await import('fs');
256
- const cwd = options.directory ? resolve(options.directory) : process.cwd();
257
- // Validate directory if provided
258
- if (options.directory) {
259
- if (!existsSync(cwd)) {
260
- throw new Error(`Directory not found: ${cwd}\n` +
261
- `Please provide a valid directory using --directory=<path>\n` +
262
- `Example: kosuke lint --directory=./my-project`);
263
- }
264
- const stats = statSync(cwd);
265
- if (!stats.isDirectory()) {
266
- throw new Error(`Path is not a directory: ${cwd}\n` + `Please provide a valid directory path.`);
267
- }
268
- console.log(`📁 Using project directory: ${cwd}\n`);
269
- }
270
- // If --pr flag is provided, wrap with PR workflow
271
- if (options.pr) {
272
- const { result: fixResult, prInfo } = await runWithPR({
273
- branchPrefix: 'fix/kosuke-quality',
274
- baseBranch: options.baseBranch,
275
- commitMessage: 'chore: fix code quality issues',
276
- prTitle: 'chore: Fix code quality issues',
277
- prBody: `## 🔧 Automated Code Quality Fixes
278
-
279
- This PR contains automated fixes for code quality issues detected by comprehensive validation.
280
-
281
- ### 📋 Validation Steps Performed
282
- - 🎨 **Format**: Code formatting check
283
- - 🔍 **Lint**: ESLint validation
284
- - 🔎 **TypeCheck**: TypeScript type checking
285
- - 🧪 **Tests**: Unit/integration tests
286
- - 🔪 **Knip**: Unused exports detection
287
-
288
- ### ✅ Result
289
- All validation steps passed! Code quality issues have been automatically fixed by Claude.
290
-
291
- ---
292
-
293
- 🤖 *Generated by Kosuke CLI (\`kosuke lint --pr\`)*`,
294
- cwd,
295
- }, () => fixLintErrorsCore(cwd));
296
- console.log('\n✅ Code quality check complete!');
297
- console.log(`📊 Attempts: ${fixResult.attempts}`);
298
- console.log(`🔧 Fixes applied: ${fixResult.fixesApplied}`);
299
- if (fixResult.stepsFixed.length > 0) {
300
- console.log(`🎯 Steps fixed: ${fixResult.stepsFixed.join(', ')}`);
301
- }
302
- console.log(`🔗 PR: ${prInfo.prUrl}`);
303
- }
304
- else {
305
- // Run core logic without PR
306
- const result = await fixLintErrorsCore(cwd);
307
- console.log('\n✅ Code quality check complete!');
308
- console.log(`📊 Attempts: ${result.attempts}`);
309
- console.log(`🔧 Fixes applied: ${result.fixesApplied}`);
310
- if (result.stepsFixed.length > 0) {
311
- console.log(`🎯 Steps fixed: ${result.stepsFixed.join(', ')}`);
312
- }
313
- console.log('\nℹ️ Changes applied locally. Use --pr flag to create a pull request.');
314
- }
315
- }
316
- catch (error) {
317
- console.error('\n❌ Code quality check failed:', error);
318
- throw error;
319
- }
320
- }
321
- //# sourceMappingURL=lint.js.map