@prowi/deskcheck 0.3.0 → 0.4.2
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/README.md +78 -84
- package/build/cli.js +345 -40
- package/build/cli.js.map +1 -1
- package/build/config/loader.d.ts.map +1 -1
- package/build/config/loader.js +5 -2
- package/build/config/loader.js.map +1 -1
- package/build/config/types.d.ts +14 -2
- package/build/config/types.d.ts.map +1 -1
- package/build/mcp/tools.d.ts.map +1 -1
- package/build/mcp/tools.js +26 -50
- package/build/mcp/tools.js.map +1 -1
- package/build/prompts/ExecutorPrompt.d.ts +4 -2
- package/build/prompts/ExecutorPrompt.d.ts.map +1 -1
- package/build/prompts/ExecutorPrompt.js +40 -33
- package/build/prompts/ExecutorPrompt.js.map +1 -1
- package/build/prompts/PartitionerPrompt.d.ts +12 -0
- package/build/prompts/PartitionerPrompt.d.ts.map +1 -0
- package/build/prompts/PartitionerPrompt.js +54 -0
- package/build/prompts/PartitionerPrompt.js.map +1 -0
- package/build/prompts/ResolverPrompt.d.ts +11 -0
- package/build/prompts/ResolverPrompt.d.ts.map +1 -0
- package/build/prompts/ResolverPrompt.js +45 -0
- package/build/prompts/ResolverPrompt.js.map +1 -0
- package/build/renderers/review/MarkdownRenderer.js +5 -2
- package/build/renderers/review/MarkdownRenderer.js.map +1 -1
- package/build/renderers/review/TerminalRenderer.js +5 -2
- package/build/renderers/review/TerminalRenderer.js.map +1 -1
- package/build/renderers/review/WatchRenderer.d.ts.map +1 -1
- package/build/renderers/review/WatchRenderer.js +10 -1
- package/build/renderers/review/WatchRenderer.js.map +1 -1
- package/build/server/controllers/ReviewController.d.ts +12 -3
- package/build/server/controllers/ReviewController.d.ts.map +1 -1
- package/build/server/controllers/ReviewController.js +50 -6
- package/build/server/controllers/ReviewController.js.map +1 -1
- package/build/server/server.d.ts.map +1 -1
- package/build/server/server.js +22 -1
- package/build/server/server.js.map +1 -1
- package/build/services/ExecutorService.d.ts +18 -3
- package/build/services/ExecutorService.d.ts.map +1 -1
- package/build/services/ExecutorService.js +51 -14
- package/build/services/ExecutorService.js.map +1 -1
- package/build/services/FindingsParserService.d.ts +1 -8
- package/build/services/FindingsParserService.d.ts.map +1 -1
- package/build/services/FindingsParserService.js +20 -45
- package/build/services/FindingsParserService.js.map +1 -1
- package/build/services/criteria/module-parser.d.ts +6 -4
- package/build/services/criteria/module-parser.d.ts.map +1 -1
- package/build/services/criteria/module-parser.js +27 -21
- package/build/services/criteria/module-parser.js.map +1 -1
- package/build/services/review/CodeSnippetService.d.ts +10 -0
- package/build/services/review/CodeSnippetService.d.ts.map +1 -0
- package/build/services/review/CodeSnippetService.js +54 -0
- package/build/services/review/CodeSnippetService.js.map +1 -0
- package/build/services/review/ReviewInputResolverService.d.ts +25 -0
- package/build/services/review/ReviewInputResolverService.d.ts.map +1 -0
- package/build/services/review/ReviewInputResolverService.js +106 -0
- package/build/services/review/ReviewInputResolverService.js.map +1 -0
- package/build/services/review/ReviewOrchestratorService.d.ts.map +1 -1
- package/build/services/review/ReviewOrchestratorService.js +21 -20
- package/build/services/review/ReviewOrchestratorService.js.map +1 -1
- package/build/services/review/ReviewPartitionerService.d.ts +46 -0
- package/build/services/review/ReviewPartitionerService.d.ts.map +1 -0
- package/build/services/review/ReviewPartitionerService.js +208 -0
- package/build/services/review/ReviewPartitionerService.js.map +1 -0
- package/build/services/review/ReviewPlanBuilderService.d.ts +25 -7
- package/build/services/review/ReviewPlanBuilderService.d.ts.map +1 -1
- package/build/services/review/ReviewPlanBuilderService.js +88 -30
- package/build/services/review/ReviewPlanBuilderService.js.map +1 -1
- package/build/services/review/ReviewStorageService.d.ts +34 -10
- package/build/services/review/ReviewStorageService.d.ts.map +1 -1
- package/build/services/review/ReviewStorageService.js +100 -14
- package/build/services/review/ReviewStorageService.js.map +1 -1
- package/build/services/testing/TestRunnerService.d.ts +4 -0
- package/build/services/testing/TestRunnerService.d.ts.map +1 -1
- package/build/services/testing/TestRunnerService.js +14 -10
- package/build/services/testing/TestRunnerService.js.map +1 -1
- package/build/types/criteria.d.ts +8 -6
- package/build/types/criteria.d.ts.map +1 -1
- package/build/types/review.d.ts +123 -28
- package/build/types/review.d.ts.map +1 -1
- package/package.json +3 -1
- package/ui/dist/index.html +12 -63
- package/build/prompts/PlannerPrompt.d.ts +0 -12
- package/build/prompts/PlannerPrompt.d.ts.map +0 -1
- package/build/prompts/PlannerPrompt.js +0 -34
- package/build/prompts/PlannerPrompt.js.map +0 -1
- package/build/services/review/ReviewContextExtractorService.d.ts +0 -17
- package/build/services/review/ReviewContextExtractorService.d.ts.map +0 -1
- package/build/services/review/ReviewContextExtractorService.js +0 -69
- package/build/services/review/ReviewContextExtractorService.js.map +0 -1
- package/build/services/review/ReviewPlannerService.d.ts +0 -29
- package/build/services/review/ReviewPlannerService.d.ts.map +0 -1
- package/build/services/review/ReviewPlannerService.js +0 -122
- package/build/services/review/ReviewPlannerService.js.map +0 -1
package/build/cli.js
CHANGED
|
@@ -3,11 +3,12 @@ import fs from "node:fs";
|
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { execFileSync } from "node:child_process";
|
|
5
5
|
import { Command } from "commander";
|
|
6
|
-
import { loadConfig
|
|
6
|
+
import { loadConfig } from "./config/loader.js";
|
|
7
7
|
import { ReviewStorageService } from "./services/review/ReviewStorageService.js";
|
|
8
8
|
import { discoverModules, filterModules } from "./services/criteria/module-parser.js";
|
|
9
9
|
import { buildPlanWithTasks } from "./services/review/ReviewPlanBuilderService.js";
|
|
10
|
-
import {
|
|
10
|
+
import { ReviewInputResolverService } from "./services/review/ReviewInputResolverService.js";
|
|
11
|
+
import { ReviewPartitionerService } from "./services/review/ReviewPartitionerService.js";
|
|
11
12
|
import { ReviewOrchestratorService } from "./services/review/ReviewOrchestratorService.js";
|
|
12
13
|
import { renderTerminal } from "./renderers/review/TerminalRenderer.js";
|
|
13
14
|
import { renderMarkdown } from "./renderers/review/MarkdownRenderer.js";
|
|
@@ -32,6 +33,14 @@ const RESET = "\x1b[0m";
|
|
|
32
33
|
function resolveProjectRoot() {
|
|
33
34
|
return process.cwd();
|
|
34
35
|
}
|
|
36
|
+
/** Build the PlanInvocation snapshot for storage from the current process. */
|
|
37
|
+
function captureInvocation(projectRoot) {
|
|
38
|
+
return {
|
|
39
|
+
command: "deskcheck",
|
|
40
|
+
args: process.argv.slice(2),
|
|
41
|
+
cwd: projectRoot,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
35
44
|
function formatFindingsSummary(results) {
|
|
36
45
|
const { critical, warning, info, total } = results.summary;
|
|
37
46
|
if (total === 0)
|
|
@@ -77,10 +86,10 @@ function renderOutput(results, plan, format) {
|
|
|
77
86
|
}
|
|
78
87
|
}
|
|
79
88
|
/** Print execution progress from orchestrator events. */
|
|
80
|
-
async function executeAndPrint(orchestrator, planId) {
|
|
89
|
+
async function executeAndPrint(orchestrator, planId, maxConcurrent) {
|
|
81
90
|
console.log(`${DIM} Checking...${RESET}`);
|
|
82
91
|
console.log("");
|
|
83
|
-
for await (const event of orchestrator.execute(planId)) {
|
|
92
|
+
for await (const event of orchestrator.execute(planId, { maxConcurrent })) {
|
|
84
93
|
switch (event.type) {
|
|
85
94
|
case "task_started":
|
|
86
95
|
break;
|
|
@@ -133,32 +142,203 @@ function initCommand() {
|
|
|
133
142
|
const deskchecDir = path.join(projectRoot, ".deskcheck");
|
|
134
143
|
const configPath = path.join(deskchecDir, "config.json");
|
|
135
144
|
const modulesDir = path.join(projectRoot, "deskcheck", "criteria");
|
|
145
|
+
const exampleCriterion = path.join(modulesDir, "example.md");
|
|
136
146
|
let created = false;
|
|
137
147
|
if (!fs.existsSync(deskchecDir)) {
|
|
138
148
|
fs.mkdirSync(deskchecDir, { recursive: true });
|
|
139
|
-
console.log(`Created ${
|
|
149
|
+
console.log(` Created ${DIM}.deskcheck/${RESET}`);
|
|
140
150
|
created = true;
|
|
141
151
|
}
|
|
142
152
|
if (!fs.existsSync(configPath)) {
|
|
143
|
-
fs.writeFileSync(configPath,
|
|
144
|
-
console.log(`Created ${
|
|
153
|
+
fs.writeFileSync(configPath, ANNOTATED_CONFIG);
|
|
154
|
+
console.log(` Created ${DIM}.deskcheck/config.json${RESET}`);
|
|
145
155
|
created = true;
|
|
146
156
|
}
|
|
147
157
|
else {
|
|
148
|
-
console.log(`Config already exists: ${
|
|
158
|
+
console.log(` Config already exists: ${DIM}.deskcheck/config.json${RESET}`);
|
|
149
159
|
}
|
|
150
160
|
if (!fs.existsSync(modulesDir)) {
|
|
151
161
|
fs.mkdirSync(modulesDir, { recursive: true });
|
|
152
|
-
console.log(`Created ${
|
|
162
|
+
console.log(` Created ${DIM}deskcheck/criteria/${RESET}`);
|
|
153
163
|
created = true;
|
|
154
164
|
}
|
|
155
165
|
else {
|
|
156
|
-
console.log(`Criteria directory already exists: ${
|
|
166
|
+
console.log(` Criteria directory already exists: ${DIM}deskcheck/criteria/${RESET}`);
|
|
167
|
+
}
|
|
168
|
+
if (!fs.existsSync(exampleCriterion)) {
|
|
169
|
+
fs.writeFileSync(exampleCriterion, EXAMPLE_CRITERION);
|
|
170
|
+
console.log(` Created ${DIM}deskcheck/criteria/example.md${RESET}`);
|
|
171
|
+
created = true;
|
|
157
172
|
}
|
|
158
173
|
if (!created) {
|
|
159
174
|
console.log("Already initialized — nothing to do.");
|
|
175
|
+
return;
|
|
160
176
|
}
|
|
177
|
+
console.log("");
|
|
178
|
+
console.log(`${BOLD} Next steps:${RESET}`);
|
|
179
|
+
console.log(`${DIM} 1. Edit deskcheck/criteria/example.md (or create your own criterion files)${RESET}`);
|
|
180
|
+
console.log(`${DIM} 2. Run: deskcheck diff main${RESET}`);
|
|
181
|
+
console.log(`${DIM} 3. View results: deskcheck serve${RESET}`);
|
|
182
|
+
console.log("");
|
|
183
|
+
console.log(`${DIM} Run ${BOLD}deskcheck init --explain${RESET}${DIM} to see all config options.${RESET}`);
|
|
161
184
|
}
|
|
185
|
+
/** `deskcheck init --explain` — print a detailed reference of all config options. */
|
|
186
|
+
function explainConfig() {
|
|
187
|
+
console.log(`
|
|
188
|
+
${BOLD}Deskcheck Configuration Reference${RESET}
|
|
189
|
+
${DIM}Config file: .deskcheck/config.json${RESET}
|
|
190
|
+
|
|
191
|
+
${BOLD}Top-level fields:${RESET}
|
|
192
|
+
|
|
193
|
+
${GREEN}modules_dir${RESET} ${DIM}(string, default: "deskcheck/criteria")${RESET}
|
|
194
|
+
Directory containing criterion markdown files. Scanned recursively.
|
|
195
|
+
|
|
196
|
+
${GREEN}storage_dir${RESET} ${DIM}(string, default: ".deskcheck/runs")${RESET}
|
|
197
|
+
Where run data (plan.json, results.json, agent logs) is stored.
|
|
198
|
+
|
|
199
|
+
${GREEN}tests_dir${RESET} ${DIM}(string, default: "deskcheck/tests")${RESET}
|
|
200
|
+
Directory for criterion test fixtures (used by \`deskcheck test\`).
|
|
201
|
+
|
|
202
|
+
${GREEN}serve_port${RESET} ${DIM}(number, default: 3000)${RESET}
|
|
203
|
+
Port for the web dashboard (\`deskcheck serve\`).
|
|
204
|
+
|
|
205
|
+
${GREEN}concurrency${RESET} ${DIM}(number, default: 5)${RESET}
|
|
206
|
+
Max concurrent reviewer agents. CLI flag --concurrency overrides this.
|
|
207
|
+
|
|
208
|
+
${GREEN}defaultModel${RESET} ${DIM}(string, default: "sonnet")${RESET}
|
|
209
|
+
Default Claude model for the pipeline. Used by:
|
|
210
|
+
- Criterion \`model\` when not specified in frontmatter
|
|
211
|
+
- Resolver agent (unless agents.resolver.model overrides)
|
|
212
|
+
- Partitioner agent (unless agents.partitioner.model overrides)
|
|
213
|
+
Values: "haiku", "sonnet", "opus"
|
|
214
|
+
|
|
215
|
+
${BOLD}shared:${RESET} ${DIM}— configuration shared across all agent roles${RESET}
|
|
216
|
+
|
|
217
|
+
${GREEN}shared.allowed_tools${RESET} ${DIM}(string[], default: ["Read", "Glob", "Grep"])${RESET}
|
|
218
|
+
Tools available to reviewer agents on top of built-ins.
|
|
219
|
+
Built-in tools (Read, Grep, Glob, Bash) are ALWAYS available
|
|
220
|
+
regardless of this setting. Add extras here like "WebFetch".
|
|
221
|
+
|
|
222
|
+
${GREEN}shared.mcp_servers${RESET} ${DIM}(object, default: {})${RESET}
|
|
223
|
+
MCP servers available to all reviewer agents.
|
|
224
|
+
Each entry: { "name": { "command": "...", "args": [...], "env": {...} } }
|
|
225
|
+
${YELLOW}Note: deskcheck never inherits MCP servers from your Claude Code
|
|
226
|
+
config. Only servers listed here (or per-role) are available.${RESET}
|
|
227
|
+
|
|
228
|
+
${BOLD}agents:${RESET} ${DIM}— per-role agent configuration${RESET}
|
|
229
|
+
|
|
230
|
+
Each role has the same shape: { model?, additional_tools?, additional_mcp_servers? }
|
|
231
|
+
|
|
232
|
+
${GREEN}agents.resolver${RESET} ${DIM}(default model: from defaultModel)${RESET}
|
|
233
|
+
The natural-language input resolver. Only used by \`deskcheck "<prompt>"\`.
|
|
234
|
+
Resolves the user's request into { scope, files }. Gets built-in tools only.
|
|
235
|
+
Set \`"model"\` to override defaultModel for this role only.
|
|
236
|
+
|
|
237
|
+
${GREEN}agents.partitioner${RESET} ${DIM}(default model: from defaultModel)${RESET}
|
|
238
|
+
Splits matched files into subtasks per criterion. One agent per criterion.
|
|
239
|
+
Gets built-in tools only. additional_tools/additional_mcp_servers are ignored.
|
|
240
|
+
Set \`"model"\` to override defaultModel for this role only.
|
|
241
|
+
|
|
242
|
+
${GREEN}agents.reviewer${RESET} ${DIM}(default model: per-criterion frontmatter, falls back to defaultModel)${RESET}
|
|
243
|
+
The reviewer agents. Model comes from the criterion's \`model:\` field.
|
|
244
|
+
If the criterion doesn't specify a model, \`defaultModel\` is used.
|
|
245
|
+
Use this to add tools/MCP servers to all reviewers:
|
|
246
|
+
"reviewer": {
|
|
247
|
+
"additional_tools": ["WebFetch"],
|
|
248
|
+
"additional_mcp_servers": {
|
|
249
|
+
"my-db": { "command": "npx", "args": ["@my/db-mcp"] }
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
${GREEN}agents.evaluator${RESET} ${DIM}(default model: "haiku")${RESET}
|
|
254
|
+
Used by \`deskcheck test\` to run criteria against fixture files.
|
|
255
|
+
|
|
256
|
+
${GREEN}agents.judge${RESET} ${DIM}(default model: "opus")${RESET}
|
|
257
|
+
Used by \`deskcheck test\` to score findings against expectations.
|
|
258
|
+
|
|
259
|
+
${BOLD}Criterion frontmatter fields:${RESET}
|
|
260
|
+
|
|
261
|
+
${GREEN}description${RESET} ${DIM}(required)${RESET} Human-readable description
|
|
262
|
+
${GREEN}globs${RESET} ${DIM}(required)${RESET} File patterns to match. Prefix with ! to exclude.
|
|
263
|
+
${GREEN}partition${RESET} ${DIM}(optional, default: "one task per matched file")${RESET}
|
|
264
|
+
Natural-language instruction for how to split files into subtasks.
|
|
265
|
+
Examples: "one task per file", "one public method per task",
|
|
266
|
+
"group each test with its source file"
|
|
267
|
+
${GREEN}model${RESET} ${DIM}(optional, default: "haiku")${RESET}
|
|
268
|
+
Claude model for reviewer agents: haiku, sonnet, opus.
|
|
269
|
+
${YELLOW}Use sonnet if the criterion has "What NOT to check" rules.${RESET}
|
|
270
|
+
${GREEN}tools${RESET} ${DIM}(optional, default: [])${RESET}
|
|
271
|
+
Extra tools for reviewers running this criterion.
|
|
272
|
+
Layered on top of built-ins + shared + executor tools.
|
|
273
|
+
|
|
274
|
+
${BOLD}Example config:${RESET}
|
|
275
|
+
|
|
276
|
+
{
|
|
277
|
+
"modules_dir": "deskcheck/criteria",
|
|
278
|
+
"storage_dir": ".deskcheck/runs",
|
|
279
|
+
"serve_port": 3000,
|
|
280
|
+
"concurrency": 5,
|
|
281
|
+
"defaultModel": "sonnet",
|
|
282
|
+
"shared": {
|
|
283
|
+
"allowed_tools": ["Read", "Glob", "Grep"],
|
|
284
|
+
"mcp_servers": {}
|
|
285
|
+
},
|
|
286
|
+
"agents": {
|
|
287
|
+
"resolver": {},
|
|
288
|
+
"partitioner": {},
|
|
289
|
+
"reviewer": {},
|
|
290
|
+
"evaluator": { "model": "haiku" },
|
|
291
|
+
"judge": { "model": "opus" }
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
`);
|
|
295
|
+
}
|
|
296
|
+
// =============================================================================
|
|
297
|
+
// Init templates
|
|
298
|
+
// =============================================================================
|
|
299
|
+
const ANNOTATED_CONFIG = `{
|
|
300
|
+
"modules_dir": "deskcheck/criteria",
|
|
301
|
+
"storage_dir": ".deskcheck/runs",
|
|
302
|
+
"tests_dir": "deskcheck/tests",
|
|
303
|
+
"serve_port": 3000,
|
|
304
|
+
"concurrency": 5,
|
|
305
|
+
"defaultModel": "sonnet",
|
|
306
|
+
"shared": {
|
|
307
|
+
"allowed_tools": ["Read", "Glob", "Grep"],
|
|
308
|
+
"mcp_servers": {}
|
|
309
|
+
},
|
|
310
|
+
"agents": {
|
|
311
|
+
"resolver": {},
|
|
312
|
+
"partitioner": {},
|
|
313
|
+
"reviewer": {},
|
|
314
|
+
"evaluator": { "model": "haiku" },
|
|
315
|
+
"judge": { "model": "opus" }
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
`;
|
|
319
|
+
const EXAMPLE_CRITERION = `---
|
|
320
|
+
description: Example criterion — checks for TODO/FIXME comments
|
|
321
|
+
globs:
|
|
322
|
+
- "src/**/*.ts"
|
|
323
|
+
- "src/**/*.js"
|
|
324
|
+
- "!src/**/*.test.*"
|
|
325
|
+
partition: one task per file
|
|
326
|
+
model: haiku
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
Check the assigned files for TODO, FIXME, HACK, or XXX comments.
|
|
330
|
+
(This example uses haiku since it's a simple pattern match — no judgment needed.)
|
|
331
|
+
|
|
332
|
+
For each one found, report:
|
|
333
|
+
- severity: "info"
|
|
334
|
+
- description: what the comment says
|
|
335
|
+
- suggestion: null (these are just informational)
|
|
336
|
+
|
|
337
|
+
If no such comments exist, return an empty array.
|
|
338
|
+
|
|
339
|
+
This is a starter criterion to verify your setup works. Replace it with
|
|
340
|
+
criteria that match your project's review needs.
|
|
341
|
+
`;
|
|
162
342
|
/** `deskcheck list` */
|
|
163
343
|
function listCommand() {
|
|
164
344
|
const projectRoot = resolveProjectRoot();
|
|
@@ -219,9 +399,14 @@ async function diffCommand(gitArgs, options) {
|
|
|
219
399
|
const config = loadConfig(projectRoot);
|
|
220
400
|
const storageDir = path.join(projectRoot, config.storage_dir);
|
|
221
401
|
const storage = new ReviewStorageService(storageDir);
|
|
222
|
-
//
|
|
223
|
-
//
|
|
224
|
-
|
|
402
|
+
// Resolve the diff ref. The first positional (non-flag) arg becomes the ref;
|
|
403
|
+
// with no positional, default to HEAD. This is the same ref the reviewer
|
|
404
|
+
// will use later (`git diff <ref> -- <file>`), so file discovery and the
|
|
405
|
+
// reviewer's per-file diffs see the same baseline. Bare `deskcheck diff`
|
|
406
|
+
// therefore reviews working-tree-vs-HEAD = staged + unstaged combined.
|
|
407
|
+
const ref = gitArgs.find((a) => !a.startsWith("-")) ?? "HEAD";
|
|
408
|
+
const passthrough = gitArgs.filter((a) => a !== ref);
|
|
409
|
+
const gitDiffArgs = ["diff", "--name-only", ref, ...passthrough];
|
|
225
410
|
let fileOutput;
|
|
226
411
|
try {
|
|
227
412
|
fileOutput = execFileSync("git", gitDiffArgs, {
|
|
@@ -242,17 +427,28 @@ async function diffCommand(gitArgs, options) {
|
|
|
242
427
|
}
|
|
243
428
|
// Discover modules and optionally filter by --criteria
|
|
244
429
|
const modulesDir = path.resolve(projectRoot, config.modules_dir);
|
|
245
|
-
let modules = discoverModules(modulesDir);
|
|
430
|
+
let modules = discoverModules(modulesDir, config.defaultModel);
|
|
246
431
|
if (options.criteria) {
|
|
247
432
|
const patterns = options.criteria.split(",").map((s) => s.trim()).filter((s) => s.length > 0);
|
|
248
433
|
modules = filterModules(modules, patterns);
|
|
249
434
|
}
|
|
250
|
-
// Build a human-readable name
|
|
251
|
-
const
|
|
252
|
-
const
|
|
253
|
-
const
|
|
254
|
-
const
|
|
255
|
-
const plan = buildPlanWithTasks(storage, planName,
|
|
435
|
+
// Build a human-readable plan name and the structured scope.
|
|
436
|
+
const planName = `diff: ${ref}`;
|
|
437
|
+
const scope = { type: "changes", ref };
|
|
438
|
+
const invocation = captureInvocation(projectRoot);
|
|
439
|
+
const partitioner = new ReviewPartitionerService(config, projectRoot);
|
|
440
|
+
const plan = await buildPlanWithTasks(storage, partitioner, planName, scope, invocation, files, modules, {
|
|
441
|
+
onMatchingComplete: (criteriaCount, fileCount) => {
|
|
442
|
+
console.log(`${DIM} Matching: ${criteriaCount} criteria matched ${fileCount} file(s)${RESET}`);
|
|
443
|
+
if (criteriaCount > 0) {
|
|
444
|
+
console.log(`${DIM} Partitioning...${RESET}`);
|
|
445
|
+
}
|
|
446
|
+
},
|
|
447
|
+
onPartitionCompleted: (decision) => {
|
|
448
|
+
const name = decision.review_id.split("/").pop() ?? decision.review_id;
|
|
449
|
+
console.log(`${DIM} ${name}: ${decision.subtasks.length} subtask(s) from ${decision.matched_files.length} file(s)${RESET}`);
|
|
450
|
+
},
|
|
451
|
+
});
|
|
256
452
|
printPlanSummary(plan);
|
|
257
453
|
if (options.dryRun) {
|
|
258
454
|
console.log(`${DIM} Dry run — plan created but not executed.${RESET}`);
|
|
@@ -263,32 +459,113 @@ async function diffCommand(gitArgs, options) {
|
|
|
263
459
|
console.log(`${DIM} No criteria matched the changed files.${RESET}`);
|
|
264
460
|
process.exit(0);
|
|
265
461
|
}
|
|
266
|
-
// Execute
|
|
462
|
+
// Execute. CLI --concurrency overrides config.concurrency.
|
|
463
|
+
const maxConcurrent = options.concurrency || config.concurrency;
|
|
267
464
|
const orchestrator = new ReviewOrchestratorService(config, projectRoot);
|
|
268
|
-
|
|
465
|
+
try {
|
|
466
|
+
await executeAndPrint(orchestrator, plan.plan_id, maxConcurrent);
|
|
467
|
+
}
|
|
468
|
+
catch (err) {
|
|
469
|
+
storage.setFailure(plan.plan_id, {
|
|
470
|
+
step: "reviewing",
|
|
471
|
+
review_id: null,
|
|
472
|
+
message: err instanceof Error ? err.message : String(err),
|
|
473
|
+
});
|
|
474
|
+
throw err;
|
|
475
|
+
}
|
|
269
476
|
// Render results
|
|
270
477
|
const finalPlan = storage.getPlan(plan.plan_id);
|
|
271
478
|
const results = storage.getResults(plan.plan_id);
|
|
272
479
|
console.log(renderOutput(results, finalPlan, options.format));
|
|
273
480
|
process.exit(checkFailOn(results, options.failOn));
|
|
274
481
|
}
|
|
275
|
-
/**
|
|
482
|
+
/**
|
|
483
|
+
* Parse the `--scope` flag value into a structured Scope.
|
|
484
|
+
*
|
|
485
|
+
* Accepted forms:
|
|
486
|
+
* all → { type: "all" }
|
|
487
|
+
* changes → { type: "changes", ref: "HEAD" }
|
|
488
|
+
* changes:<ref> → { type: "changes", ref: "<ref>" }
|
|
489
|
+
*/
|
|
490
|
+
function parseScopeFlag(value) {
|
|
491
|
+
const trimmed = value.trim();
|
|
492
|
+
if (trimmed === "all")
|
|
493
|
+
return { type: "all" };
|
|
494
|
+
if (trimmed === "changes")
|
|
495
|
+
return { type: "changes", ref: "HEAD" };
|
|
496
|
+
if (trimmed.startsWith("changes:")) {
|
|
497
|
+
const ref = trimmed.slice("changes:".length).trim();
|
|
498
|
+
if (!ref)
|
|
499
|
+
throw new Error(`--scope changes: requires a ref (e.g. changes:main)`);
|
|
500
|
+
return { type: "changes", ref };
|
|
501
|
+
}
|
|
502
|
+
throw new Error(`Invalid --scope value: "${value}". Expected "all", "changes", or "changes:<ref>".`);
|
|
503
|
+
}
|
|
504
|
+
/** Default command — natural-language deskcheck via the input resolver agent. */
|
|
276
505
|
async function deskchecCommand(prompt, options) {
|
|
277
506
|
const projectRoot = resolveProjectRoot();
|
|
278
507
|
const config = loadConfig(projectRoot);
|
|
279
508
|
const storageDir = path.join(projectRoot, config.storage_dir);
|
|
280
|
-
|
|
509
|
+
const storage = new ReviewStorageService(storageDir);
|
|
510
|
+
const scopeOverride = options.scope ? parseScopeFlag(options.scope) : undefined;
|
|
281
511
|
const criteriaFilter = options.criteria
|
|
282
512
|
? options.criteria.split(",").map((s) => s.trim()).filter((s) => s.length > 0)
|
|
283
513
|
: undefined;
|
|
284
|
-
|
|
285
|
-
|
|
514
|
+
// Step 1: resolve { scope, files } from natural language.
|
|
515
|
+
console.log(`${DIM}Resolving...${RESET}`);
|
|
516
|
+
const resolver = new ReviewInputResolverService(config, projectRoot);
|
|
517
|
+
const { scope, files } = await resolver.resolve(prompt, scopeOverride);
|
|
518
|
+
// Step 2: discover and filter criteria (programmatic, no LLM).
|
|
519
|
+
const modulesDir = path.resolve(projectRoot, config.modules_dir);
|
|
520
|
+
let modules = discoverModules(modulesDir, config.defaultModel);
|
|
521
|
+
if (criteriaFilter) {
|
|
522
|
+
modules = filterModules(modules, criteriaFilter);
|
|
523
|
+
}
|
|
524
|
+
const invocation = captureInvocation(projectRoot);
|
|
525
|
+
// Empty file list → empty plan with a friendly message, exit clean.
|
|
526
|
+
if (files.length === 0) {
|
|
527
|
+
const emptyPlan = storage.createPlan(prompt, scope, invocation);
|
|
528
|
+
storage.setMatchedFiles(emptyPlan.plan_id, [], []);
|
|
529
|
+
storage.finalizePlan(emptyPlan.plan_id);
|
|
530
|
+
console.log("");
|
|
531
|
+
console.log(`${DIM} No files matched the request. Nothing to review.${RESET}`);
|
|
532
|
+
console.log(`${DIM} Plan ID: ${emptyPlan.plan_id}${RESET}`);
|
|
533
|
+
process.exit(0);
|
|
534
|
+
}
|
|
535
|
+
// Step 3: build the plan (glob match → partition → tasks).
|
|
536
|
+
const partitioner = new ReviewPartitionerService(config, projectRoot);
|
|
537
|
+
const plan = await buildPlanWithTasks(storage, partitioner, prompt, scope, invocation, files, modules, {
|
|
538
|
+
onMatchingComplete: (criteriaCount, fileCount) => {
|
|
539
|
+
console.log(`${DIM} Matching: ${criteriaCount} criteria matched ${fileCount} file(s)${RESET}`);
|
|
540
|
+
if (criteriaCount > 0) {
|
|
541
|
+
console.log(`${DIM} Partitioning...${RESET}`);
|
|
542
|
+
}
|
|
543
|
+
},
|
|
544
|
+
onPartitionCompleted: (decision) => {
|
|
545
|
+
const name = decision.review_id.split("/").pop() ?? decision.review_id;
|
|
546
|
+
console.log(`${DIM} ${name}: ${decision.subtasks.length} subtask(s) from ${decision.matched_files.length} file(s)${RESET}`);
|
|
547
|
+
},
|
|
548
|
+
});
|
|
286
549
|
printPlanSummary(plan);
|
|
287
|
-
|
|
550
|
+
if (Object.keys(plan.tasks).length === 0) {
|
|
551
|
+
console.log(`${DIM} No criteria matched the resolved files.${RESET}`);
|
|
552
|
+
process.exit(0);
|
|
553
|
+
}
|
|
554
|
+
// Step 4: execute reviewers. If the orchestrator throws, mark the plan
|
|
555
|
+
// as failed at the reviewing step before re-raising.
|
|
288
556
|
const orchestrator = new ReviewOrchestratorService(config, projectRoot);
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
557
|
+
try {
|
|
558
|
+
await executeAndPrint(orchestrator, plan.plan_id, config.concurrency);
|
|
559
|
+
}
|
|
560
|
+
catch (err) {
|
|
561
|
+
storage.setFailure(plan.plan_id, {
|
|
562
|
+
step: "reviewing",
|
|
563
|
+
review_id: null,
|
|
564
|
+
message: err instanceof Error ? err.message : String(err),
|
|
565
|
+
});
|
|
566
|
+
throw err;
|
|
567
|
+
}
|
|
568
|
+
// Step 5: render.
|
|
292
569
|
const finalPlan = storage.getPlan(plan.plan_id);
|
|
293
570
|
const results = storage.getResults(plan.plan_id);
|
|
294
571
|
console.log(renderTerminal(results, finalPlan));
|
|
@@ -371,26 +648,48 @@ async function testCommand(criterionName, options) {
|
|
|
371
648
|
console.log("");
|
|
372
649
|
console.log(`${DIM} Discovered ${testCases.length} test case${testCases.length !== 1 ? "s" : ""} for ${uniqueCriteria.size} criteria${RESET}`);
|
|
373
650
|
console.log("");
|
|
374
|
-
// Run tests with progress
|
|
651
|
+
// Run tests with live progress
|
|
375
652
|
const runner = new TestRunnerService(config, projectRoot);
|
|
376
653
|
let completed = 0;
|
|
654
|
+
const testTimers = new Map();
|
|
377
655
|
const run = await runner.run(testCases, storageDir, {
|
|
656
|
+
onTestStep: (criterionId, testName, step) => {
|
|
657
|
+
const key = `${criterionId}/${testName}`;
|
|
658
|
+
if (step === "executing") {
|
|
659
|
+
testTimers.set(key, Date.now());
|
|
660
|
+
process.stdout.write(`${DIM} ◐ ${key} ${RESET}${DIM}reviewing...${RESET}`);
|
|
661
|
+
}
|
|
662
|
+
else if (step === "judging") {
|
|
663
|
+
const startedAt = testTimers.get(key) ?? Date.now();
|
|
664
|
+
const reviewSec = ((Date.now() - startedAt) / 1000).toFixed(0);
|
|
665
|
+
// Clear the "reviewing..." line and show judging
|
|
666
|
+
process.stdout.write(`\r\x1b[K${DIM} ◐ ${key} ${RESET}${DIM}reviewed in ${reviewSec}s, judging...${RESET}`);
|
|
667
|
+
}
|
|
668
|
+
},
|
|
378
669
|
onTestComplete: (criterionId, testName, result) => {
|
|
379
670
|
completed++;
|
|
671
|
+
const key = `${criterionId}/${testName}`;
|
|
672
|
+
const startedAt = testTimers.get(key) ?? Date.now();
|
|
673
|
+
const totalSec = ((Date.now() - startedAt) / 1000).toFixed(0);
|
|
380
674
|
const isComplete = result.status === "complete";
|
|
381
675
|
const isError = result.status === "error";
|
|
676
|
+
// Clear the in-progress line
|
|
677
|
+
process.stdout.write(`\r\x1b[K`);
|
|
382
678
|
if (isError) {
|
|
383
|
-
console.log(`${RED}
|
|
679
|
+
console.log(`${RED} ✗ ${key}${RESET} ${DIM}(error, ${totalSec}s)${RESET}`);
|
|
384
680
|
}
|
|
385
681
|
else if (isComplete && result.scores) {
|
|
386
682
|
const passing = result.scores.recall >= 0.8 && result.scores.precision >= 0.8 && result.scores.scope_compliance >= 0.8;
|
|
387
|
-
const icon = passing ? `${GREEN}
|
|
683
|
+
const icon = passing ? `${GREEN}✓` : `${YELLOW}▲`;
|
|
388
684
|
const recall = Math.round(result.scores.recall * 100);
|
|
389
685
|
const precision = Math.round(result.scores.precision * 100);
|
|
390
|
-
|
|
686
|
+
const costStr = result.executor_usage?.cost_usd != null
|
|
687
|
+
? ` · $${(result.executor_usage.cost_usd + (result.judge_usage?.cost_usd ?? 0)).toFixed(3)}`
|
|
688
|
+
: "";
|
|
689
|
+
console.log(`${icon} ${key}${RESET} ${DIM}(recall: ${recall}%, precision: ${precision}% · ${totalSec}s${costStr})${RESET}`);
|
|
391
690
|
}
|
|
392
691
|
else {
|
|
393
|
-
console.log(`${DIM}
|
|
692
|
+
console.log(`${DIM} ○ ${key} (${result.status}, ${totalSec}s)${RESET}`);
|
|
394
693
|
}
|
|
395
694
|
},
|
|
396
695
|
});
|
|
@@ -405,12 +704,13 @@ const program = new Command();
|
|
|
405
704
|
program
|
|
406
705
|
.name("deskcheck")
|
|
407
706
|
.description("Modular code deskcheck tool powered by Claude")
|
|
408
|
-
.version("0.
|
|
707
|
+
.version("0.4.2");
|
|
409
708
|
// Default command: natural language deskcheck
|
|
410
709
|
program
|
|
411
710
|
.argument("[prompt]", "What to check (natural language)")
|
|
412
711
|
.option("--fail-on <severities>", "Exit non-zero if findings match: critical, warning, info (comma-separated)")
|
|
413
712
|
.option("--criteria <names>", "Only run specific criteria (comma-separated, e.g. dto-enforcement,controller-conventions)")
|
|
713
|
+
.option("--scope <value>", "Override resolver scope inference: 'all', 'changes', or 'changes:<ref>'")
|
|
414
714
|
.action(async (prompt, options) => {
|
|
415
715
|
if (!prompt) {
|
|
416
716
|
program.help();
|
|
@@ -436,10 +736,9 @@ program
|
|
|
436
736
|
.option("--criteria <names>", "Only run specific criteria (comma-separated, e.g. dto-enforcement,controller-conventions)")
|
|
437
737
|
.addHelpText("after", `
|
|
438
738
|
Examples:
|
|
739
|
+
deskcheck diff Check working tree vs HEAD (staged + unstaged)
|
|
439
740
|
deskcheck diff develop Check changes vs develop branch
|
|
440
|
-
deskcheck diff --staged Check staged changes
|
|
441
741
|
deskcheck diff HEAD~3 Check last 3 commits
|
|
442
|
-
deskcheck diff main -- app/ Check changes in app/ vs main
|
|
443
742
|
deskcheck diff develop --dry-run Show plan without executing
|
|
444
743
|
deskcheck diff develop --fail-on=critical Exit non-zero on critical findings
|
|
445
744
|
deskcheck diff develop --criteria=dto-enforcement Only run one criterion
|
|
@@ -461,9 +760,15 @@ Examples:
|
|
|
461
760
|
program
|
|
462
761
|
.command("init")
|
|
463
762
|
.description("Initialize deskcheck configuration and directories")
|
|
464
|
-
.
|
|
763
|
+
.option("--explain", "Print a detailed reference of all config and criterion options")
|
|
764
|
+
.action((options) => {
|
|
465
765
|
try {
|
|
466
|
-
|
|
766
|
+
if (options.explain) {
|
|
767
|
+
explainConfig();
|
|
768
|
+
}
|
|
769
|
+
else {
|
|
770
|
+
initCommand();
|
|
771
|
+
}
|
|
467
772
|
}
|
|
468
773
|
catch (error) {
|
|
469
774
|
console.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
|
package/build/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,iGAAiG;AACjG,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,iGAAiG;AACjG,eAAO,MAAM,cAAc,EAAE,YAkB5B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAkClE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAyB5D"}
|