whitesmith 0.0.2 → 0.0.3

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 (50) hide show
  1. package/README.md +286 -88
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +89 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/comment.d.ts.map +1 -1
  6. package/dist/comment.js +18 -11
  7. package/dist/comment.js.map +1 -1
  8. package/dist/git.d.ts +5 -3
  9. package/dist/git.d.ts.map +1 -1
  10. package/dist/git.js +20 -29
  11. package/dist/git.js.map +1 -1
  12. package/dist/harnesses/pi.d.ts.map +1 -1
  13. package/dist/harnesses/pi.js +22 -6
  14. package/dist/harnesses/pi.js.map +1 -1
  15. package/dist/index.d.ts +3 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +2 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/orchestrator.d.ts +31 -3
  20. package/dist/orchestrator.d.ts.map +1 -1
  21. package/dist/orchestrator.js +214 -10
  22. package/dist/orchestrator.js.map +1 -1
  23. package/dist/prompts.d.ts +52 -0
  24. package/dist/prompts.d.ts.map +1 -1
  25. package/dist/prompts.js +197 -0
  26. package/dist/prompts.js.map +1 -1
  27. package/dist/providers/github-ci.d.ts +38 -0
  28. package/dist/providers/github-ci.d.ts.map +1 -1
  29. package/dist/providers/github-ci.js +462 -213
  30. package/dist/providers/github-ci.js.map +1 -1
  31. package/dist/providers/index.d.ts +1 -1
  32. package/dist/providers/index.d.ts.map +1 -1
  33. package/dist/review.d.ts +48 -0
  34. package/dist/review.d.ts.map +1 -0
  35. package/dist/review.js +221 -0
  36. package/dist/review.js.map +1 -0
  37. package/dist/types.d.ts +4 -0
  38. package/dist/types.d.ts.map +1 -1
  39. package/package.json +1 -1
  40. package/src/cli.ts +115 -3
  41. package/src/comment.ts +20 -14
  42. package/src/git.ts +23 -30
  43. package/src/harnesses/pi.ts +27 -6
  44. package/src/index.ts +9 -1
  45. package/src/orchestrator.ts +253 -14
  46. package/src/prompts.ts +239 -0
  47. package/src/providers/github-ci.ts +508 -217
  48. package/src/providers/index.ts +1 -1
  49. package/src/review.ts +290 -0
  50. package/src/types.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"github-ci.js","sourceRoot":"","sources":["../../src/providers/github-ci.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-ci.js","sourceRoot":"","sources":["../../src/providers/github-ci.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export type { IssueProvider } from './issue-provider.js';
2
2
  export { GitHubProvider } from './github.js';
3
- export type { AuthMode, InstallCIOptions } from './github-ci.js';
3
+ export type { AuthMode, InstallCIOptions, CIConfigFile, ProviderEntry } from './github-ci.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAC,QAAQ,EAAE,gBAAgB,EAAC,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAC,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { AgentHarness } from './harnesses/agent-harness.js';
2
+ import type { IssueProvider } from './providers/issue-provider.js';
3
+ export type ReviewVerdict = 'approve' | 'request_changes' | 'unknown';
4
+ export interface ReviewResult {
5
+ /** The full review text (null if agent produced no output) */
6
+ response: string | null;
7
+ /** Parsed verdict from the review response */
8
+ verdict: ReviewVerdict;
9
+ }
10
+ export interface ReviewConfig {
11
+ /** Working directory (the repo) */
12
+ workDir: string;
13
+ /** GitHub repo in "owner/repo" format (auto-detected if not set) */
14
+ repo?: string;
15
+ /** Log file path */
16
+ logFile?: string;
17
+ /** Whether to post the review as a GitHub comment */
18
+ post: boolean;
19
+ }
20
+ export type ReviewTarget = {
21
+ type: 'pr';
22
+ number: number;
23
+ } | {
24
+ type: 'issue-tasks';
25
+ issueNumber: number;
26
+ } | {
27
+ type: 'issue-tasks-completed';
28
+ issueNumber: number;
29
+ };
30
+ /**
31
+ * Perform a review.
32
+ *
33
+ * - `pr`: Review a PR (examine the diff, check for bugs, quality, etc.)
34
+ * - `issue-tasks`: Review that proposed tasks are detailed and precise enough
35
+ * - `issue-tasks-completed`: Review that completed tasks were followed properly and check for bugs
36
+ */
37
+ /**
38
+ * Parse the verdict from the review response text.
39
+ * Looks for a "VERDICT: APPROVE" or "VERDICT: REQUEST_CHANGES" line.
40
+ */
41
+ export declare function parseReviewVerdict(response: string | null): ReviewVerdict;
42
+ export declare function performReview(target: ReviewTarget, config: ReviewConfig, issues: IssueProvider, agent: AgentHarness): Promise<ReviewResult>;
43
+ /**
44
+ * Auto-detect what kind of review to perform based on a PR number.
45
+ * Inspects the branch name to determine if it's a task proposal or implementation.
46
+ */
47
+ export declare function detectReviewTarget(number: number, issues: IssueProvider): Promise<ReviewTarget>;
48
+ //# sourceMappingURL=review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAC;AASjE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAC;AAEtE,MAAM,WAAW,YAAY;IAC5B,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,8CAA8C;IAC9C,OAAO,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC5B,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,IAAI,EAAE,OAAO,CAAC;CACd;AAED,MAAM,MAAM,YAAY,GACrB;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,GAC5B;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GAC1C;IAAC,IAAI,EAAE,uBAAuB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,CAAC;AAExD;;;;;;GAMG;AACH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,CA0BzE;AAED,wBAAsB,aAAa,CAClC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,YAAY,GACjB,OAAO,CAAC,YAAY,CAAC,CAuKvB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,YAAY,CAAC,CAgCvB"}
package/dist/review.js ADDED
@@ -0,0 +1,221 @@
1
+ import * as fs from 'node:fs';
2
+ import * as path from 'node:path';
3
+ import { GitManager } from './git.js';
4
+ import { TaskManager } from './task-manager.js';
5
+ import { buildReviewTaskProposalPrompt, buildReviewImplementationPRPrompt, buildReviewTaskCompletionPrompt, } from './prompts.js';
6
+ /**
7
+ * Perform a review.
8
+ *
9
+ * - `pr`: Review a PR (examine the diff, check for bugs, quality, etc.)
10
+ * - `issue-tasks`: Review that proposed tasks are detailed and precise enough
11
+ * - `issue-tasks-completed`: Review that completed tasks were followed properly and check for bugs
12
+ */
13
+ /**
14
+ * Parse the verdict from the review response text.
15
+ * Looks for a "VERDICT: APPROVE" or "VERDICT: REQUEST_CHANGES" line.
16
+ */
17
+ export function parseReviewVerdict(response) {
18
+ if (!response)
19
+ return 'unknown';
20
+ // Look for explicit verdict line (case-insensitive)
21
+ const verdictMatch = response.match(/^\s*\*{0,2}VERDICT\*{0,2}\s*[::]\s*(\S+)/im);
22
+ if (verdictMatch) {
23
+ const v = verdictMatch[1].toLowerCase().replace(/[^a-z_]/g, '');
24
+ if (v === 'approve' || v === 'approved')
25
+ return 'approve';
26
+ if (v.includes('request') || v.includes('change') || v.includes('reject')) {
27
+ return 'request_changes';
28
+ }
29
+ }
30
+ // Fallback: look for common patterns
31
+ const lower = response.toLowerCase();
32
+ if (lower.includes('overall assessment: approve') || lower.includes('✅ approved')) {
33
+ return 'approve';
34
+ }
35
+ if (lower.includes('overall assessment: request changes') ||
36
+ lower.includes('❌ request changes')) {
37
+ return 'request_changes';
38
+ }
39
+ return 'unknown';
40
+ }
41
+ export async function performReview(target, config, issues, agent) {
42
+ const git = new GitManager(config.workDir);
43
+ const responseFile = '.whitesmith-review.md';
44
+ await git.fetch();
45
+ let prompt;
46
+ let postTarget; // issue/PR number to post the comment on
47
+ switch (target.type) {
48
+ case 'pr': {
49
+ const pr = await issues.getPR(target.number);
50
+ if (!pr) {
51
+ throw new Error(`Could not find PR #${target.number}`);
52
+ }
53
+ console.log(`Reviewing PR #${target.number}: ${pr.title}`);
54
+ console.log(`Branch: ${pr.branch}`);
55
+ // Checkout the PR branch so the agent can inspect the code
56
+ await git.checkout(pr.branch);
57
+ // Try to find the parent issue number from the branch name
58
+ const issueMatch = pr.branch.match(/^(?:issue|investigate)\/(\d+)$/);
59
+ let parentIssue = null;
60
+ if (issueMatch) {
61
+ try {
62
+ parentIssue = await issues.getIssue(parseInt(issueMatch[1], 10));
63
+ }
64
+ catch {
65
+ // Issue might not exist
66
+ }
67
+ }
68
+ prompt = buildReviewImplementationPRPrompt({
69
+ prNumber: target.number,
70
+ prTitle: pr.title,
71
+ prBody: pr.body,
72
+ prBranch: pr.branch,
73
+ prUrl: pr.url,
74
+ parentIssue: parentIssue
75
+ ? {
76
+ number: parentIssue.number,
77
+ title: parentIssue.title,
78
+ body: parentIssue.body,
79
+ url: parentIssue.url,
80
+ }
81
+ : undefined,
82
+ responseFile,
83
+ });
84
+ postTarget = target.number;
85
+ break;
86
+ }
87
+ case 'issue-tasks': {
88
+ const issue = await issues.getIssue(target.issueNumber);
89
+ console.log(`Reviewing task proposal for issue #${target.issueNumber}: ${issue.title}`);
90
+ // Find the task proposal PR
91
+ const taskPR = await issues.getPRForBranch(`investigate/${target.issueNumber}`);
92
+ if (taskPR) {
93
+ // Checkout the investigate branch to see the tasks
94
+ await git.checkout(`investigate/${target.issueNumber}`);
95
+ }
96
+ const taskManager = new TaskManager(config.workDir);
97
+ const tasks = taskManager.listTasks(target.issueNumber);
98
+ prompt = buildReviewTaskProposalPrompt({
99
+ issueNumber: target.issueNumber,
100
+ issueTitle: issue.title,
101
+ issueBody: issue.body,
102
+ issueUrl: issue.url,
103
+ tasks: tasks.map((t) => ({
104
+ id: t.id,
105
+ title: t.title,
106
+ content: t.content,
107
+ filePath: t.filePath,
108
+ })),
109
+ taskPRUrl: taskPR?.url,
110
+ responseFile,
111
+ });
112
+ postTarget = taskPR?.number ?? target.issueNumber;
113
+ break;
114
+ }
115
+ case 'issue-tasks-completed': {
116
+ const issue = await issues.getIssue(target.issueNumber);
117
+ console.log(`Reviewing completed tasks for issue #${target.issueNumber}: ${issue.title}`);
118
+ // Find the implementation PR
119
+ const implPR = await issues.getPRForBranch(`issue/${target.issueNumber}`);
120
+ if (implPR) {
121
+ // Checkout the issue branch
122
+ await git.checkout(`issue/${target.issueNumber}`);
123
+ }
124
+ prompt = buildReviewTaskCompletionPrompt({
125
+ issueNumber: target.issueNumber,
126
+ issueTitle: issue.title,
127
+ issueBody: issue.body,
128
+ issueUrl: issue.url,
129
+ implPRUrl: implPR?.url,
130
+ implBranch: `issue/${target.issueNumber}`,
131
+ responseFile,
132
+ });
133
+ postTarget = implPR?.number ?? target.issueNumber;
134
+ break;
135
+ }
136
+ }
137
+ const { exitCode } = await agent.run({
138
+ prompt,
139
+ workDir: config.workDir,
140
+ logFile: config.logFile,
141
+ });
142
+ if (exitCode !== 0) {
143
+ throw new Error(`Agent failed with exit code ${exitCode}`);
144
+ }
145
+ // Read the response file
146
+ const responsePath = path.join(config.workDir, responseFile);
147
+ let response = null;
148
+ if (fs.existsSync(responsePath)) {
149
+ response = fs.readFileSync(responsePath, 'utf-8');
150
+ try {
151
+ fs.unlinkSync(responsePath);
152
+ }
153
+ catch {
154
+ // ignore
155
+ }
156
+ }
157
+ // Discard any changes the agent made (review is read-only)
158
+ try {
159
+ const hasChanges = await git.hasChanges();
160
+ if (hasChanges) {
161
+ // Reset any modifications — reviews should not change code
162
+ const { exec: execAsync } = await import('node:child_process');
163
+ const { promisify } = await import('node:util');
164
+ const execP = promisify(execAsync);
165
+ await execP('git checkout -- .', { cwd: config.workDir });
166
+ await execP('git clean -fd', { cwd: config.workDir });
167
+ }
168
+ }
169
+ catch {
170
+ // ignore
171
+ }
172
+ // Return to main
173
+ await git.checkoutMain();
174
+ const verdict = parseReviewVerdict(response);
175
+ if (response) {
176
+ if (config.post) {
177
+ await issues.comment(postTarget, response);
178
+ console.log(`Review posted as comment on #${postTarget} (verdict: ${verdict})`);
179
+ }
180
+ else {
181
+ process.stdout.write(response);
182
+ }
183
+ }
184
+ else {
185
+ console.log('Agent did not produce a review response.');
186
+ }
187
+ return { response, verdict };
188
+ }
189
+ /**
190
+ * Auto-detect what kind of review to perform based on a PR number.
191
+ * Inspects the branch name to determine if it's a task proposal or implementation.
192
+ */
193
+ export async function detectReviewTarget(number, issues) {
194
+ const pr = await issues.getPR(number);
195
+ if (pr) {
196
+ // It's a PR — check the branch name
197
+ const investigateMatch = pr.branch.match(/^investigate\/(\d+)$/);
198
+ if (investigateMatch) {
199
+ return { type: 'issue-tasks', issueNumber: parseInt(investigateMatch[1], 10) };
200
+ }
201
+ const issueMatch = pr.branch.match(/^issue\/(\d+)$/);
202
+ if (issueMatch) {
203
+ return { type: 'issue-tasks-completed', issueNumber: parseInt(issueMatch[1], 10) };
204
+ }
205
+ // Generic PR review
206
+ return { type: 'pr', number };
207
+ }
208
+ // It's an issue — check if it has tasks
209
+ const issue = await issues.getIssue(number);
210
+ const hasTasksAccepted = issue.labels.some((l) => l.includes('tasks-accepted'));
211
+ const hasTasksProposed = issue.labels.some((l) => l.includes('tasks-proposed'));
212
+ if (hasTasksAccepted) {
213
+ return { type: 'issue-tasks-completed', issueNumber: number };
214
+ }
215
+ if (hasTasksProposed) {
216
+ return { type: 'issue-tasks', issueNumber: number };
217
+ }
218
+ // Default: treat as issue tasks review
219
+ return { type: 'issue-tasks', issueNumber: number };
220
+ }
221
+ //# sourceMappingURL=review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -78,10 +78,14 @@ export interface DevPulseConfig {
78
78
  dryRun: boolean;
79
79
  /** Enable auto-work mode (auto-approve task PRs) */
80
80
  autoWork: boolean;
81
+ /** Enable review step after PRs are created (on by default) */
82
+ review: boolean;
81
83
  /** Log file path */
82
84
  logFile?: string;
83
85
  /** GitHub repo in "owner/repo" format (auto-detected if not set) */
84
86
  repo?: string;
87
+ /** Target a single issue number (single-issue run mode) */
88
+ issueNumber?: number;
85
89
  }
86
90
  /**
87
91
  * What the orchestrator should do next
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,KAAK;IACrB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,IAAI;IACpB,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;IAClB,+CAA+C;;IAE/C,gDAAgD;;IAEhD,kDAAkD;;IAElD,mDAAmD;;IAEnD,4CAA4C;;CAEnC,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB,oDAAoD;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GACf;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,GACjC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,GACpC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,GACnC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,GAC7C;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,KAAK;IACrB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,IAAI;IACpB,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;IAClB,+CAA+C;;IAE/C,gDAAgD;;IAEhD,kDAAkD;;IAElD,mDAAmD;;IAEnD,4CAA4C;;CAEnC,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB,oDAAoD;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAC;IAChB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GACf;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,GACjC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,GACpC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,GACnC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,GAC7C;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whitesmith",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
package/src/cli.ts CHANGED
@@ -10,6 +10,7 @@ import {GitHubProvider} from './providers/github.js';
10
10
  import {PiHarness} from './harnesses/pi.js';
11
11
  import {TaskManager} from './task-manager.js';
12
12
  import {handlePRComment, handleIssueComment, isPullRequest} from './comment.js';
13
+ import {performReview, detectReviewTarget} from './review.js';
13
14
  import type {AuthMode} from './providers/github-ci.js';
14
15
  import pkg from '../package.json' with {type: 'json'};
15
16
 
@@ -49,6 +50,8 @@ export function buildCli(): Command {
49
50
  .option('--no-sleep', 'Skip sleep between iterations')
50
51
  .option('--dry-run', 'Print what would be done without executing it')
51
52
  .option('--auto-work', 'Enable auto-work mode (auto-approve task PRs)')
53
+ .option('--no-review', 'Disable review step after PRs are created')
54
+ .option('--issue <number>', 'Target a single issue number (run full pipeline for it)')
52
55
  .action(async (workDir: string, opts) => {
53
56
  const config: DevPulseConfig = {
54
57
  agentCmd: opts.agentCmd,
@@ -60,8 +63,10 @@ export function buildCli(): Command {
60
63
  noSleep: opts.sleep === false,
61
64
  dryRun: opts.dryRun ?? false,
62
65
  autoWork: opts.autoWork ?? false,
66
+ review: opts.review !== false,
63
67
  logFile: opts.logFile,
64
68
  repo: opts.repo,
69
+ issueNumber: opts.issue ? parseInt(opts.issue, 10) : undefined,
65
70
  };
66
71
 
67
72
  if (!fs.existsSync(config.workDir)) {
@@ -248,6 +253,87 @@ export function buildCli(): Command {
248
253
  console.log('Reconcile complete.');
249
254
  });
250
255
 
256
+ // --- review ---
257
+ program
258
+ .command('review')
259
+ .description('Review a PR, task proposal, or completed tasks')
260
+ .argument('[work_dir]', 'Working directory', '.')
261
+ .requiredOption('--number <n>', 'PR or issue number to review')
262
+ .option(
263
+ '--type <type>',
264
+ 'Review type: pr, issue-tasks, issue-tasks-completed (auto-detected if omitted)',
265
+ )
266
+ .option('--agent-cmd <cmd>', 'Agent harness command', DEFAULT_AGENT_CMD)
267
+ .requiredOption('--provider <name>', 'AI provider (e.g. anthropic, openai)')
268
+ .requiredOption('--model <id>', 'AI model ID (e.g. claude-opus-4-6)')
269
+ .option('--repo <owner/repo>', 'GitHub repo (auto-detected if omitted)')
270
+ .option('--log-file <path>', 'Log agent output to file')
271
+ .option('--post', 'Post the review as a GitHub comment (otherwise prints to stdout)')
272
+ .action(async (workDir: string, opts) => {
273
+ const resolvedDir = path.resolve(workDir);
274
+ if (!fs.existsSync(resolvedDir)) {
275
+ console.error(`ERROR: Directory '${resolvedDir}' does not exist`);
276
+ process.exit(1);
277
+ }
278
+
279
+ process.chdir(resolvedDir);
280
+
281
+ const issues = new GitHubProvider(resolvedDir, opts.repo);
282
+ const agent = new PiHarness({
283
+ cmd: opts.agentCmd,
284
+ provider: opts.provider,
285
+ model: opts.model,
286
+ });
287
+
288
+ await agent.validate();
289
+
290
+ const number = parseInt(opts.number, 10);
291
+
292
+ try {
293
+ let target;
294
+ if (opts.type) {
295
+ // Explicit type provided
296
+ switch (opts.type) {
297
+ case 'pr':
298
+ target = {type: 'pr' as const, number};
299
+ break;
300
+ case 'issue-tasks':
301
+ target = {type: 'issue-tasks' as const, issueNumber: number};
302
+ break;
303
+ case 'issue-tasks-completed':
304
+ target = {type: 'issue-tasks-completed' as const, issueNumber: number};
305
+ break;
306
+ default:
307
+ console.error(
308
+ `ERROR: Unknown review type '${opts.type}'. Use: pr, issue-tasks, issue-tasks-completed`,
309
+ );
310
+ process.exit(1);
311
+ }
312
+ } else {
313
+ // Auto-detect
314
+ target = await detectReviewTarget(number, issues);
315
+ console.log(`Auto-detected review type: ${target.type}`);
316
+ }
317
+
318
+ const result = await performReview(
319
+ target,
320
+ {
321
+ workDir: resolvedDir,
322
+ repo: opts.repo,
323
+ logFile: opts.logFile,
324
+ post: opts.post === true,
325
+ },
326
+ issues,
327
+ agent,
328
+ );
329
+
330
+ console.log(`\nVerdict: ${result.verdict}`);
331
+ } catch (error) {
332
+ console.error('ERROR:', error instanceof Error ? error.message : error);
333
+ process.exit(1);
334
+ }
335
+ });
336
+
251
337
  // --- install-ci ---
252
338
  program
253
339
  .command('install-ci')
@@ -258,9 +344,25 @@ export function buildCli(): Command {
258
344
  'Use pi auth.json instead of models.json (requires PI_AUTH_JSON and GH_PAT secrets)',
259
345
  )
260
346
  .option('--repo <owner/repo>', 'GitHub repo (auto-detected if omitted)')
347
+ .option('--fake', 'Write workflows to .fake/ instead of .github/ (for testing/comparison)')
348
+ .option('--config <path>', 'Load provider config from a JSON file (skip interactive prompts)')
349
+ .option(
350
+ '--export-config <path>',
351
+ 'Write the provider config as JSON to a file instead of generating workflows',
352
+ )
353
+ .option(
354
+ '--include-secrets',
355
+ 'With --export-config, prompt for API keys and include them in the JSON output',
356
+ )
357
+ .option(
358
+ '--no-secrets',
359
+ 'Skip setting GitHub secrets (useful when reconfiguring workflows only)',
360
+ )
361
+ .option('--dev', 'Build whitesmith from source (pnpm i + link --global) instead of npm install')
362
+ .option('--review-workflow', 'Generate a GitHub Actions workflow for PR reviews')
261
363
  .option(
262
- '--fake',
263
- 'Write workflows to .fake/workflows/ instead of .github/workflows/ (for testing)',
364
+ '--no-review-step',
365
+ 'Indicate the review step is disabled in the main loop (review workflow will cover all PRs)',
264
366
  )
265
367
  .action(async (workDir: string, opts) => {
266
368
  const resolvedDir = path.resolve(workDir);
@@ -273,7 +375,17 @@ export function buildCli(): Command {
273
375
 
274
376
  try {
275
377
  const provider = new GitHubProvider(resolvedDir, opts.repo);
276
- await provider.installCI({authMode, fake: opts.fake ?? false});
378
+ await provider.installCI({
379
+ authMode,
380
+ fake: opts.fake ?? false,
381
+ configFile: opts.config,
382
+ exportConfig: opts.exportConfig,
383
+ includeSecrets: opts.includeSecrets ?? false,
384
+ dev: opts.dev,
385
+ reviewWorkflow: opts.reviewWorkflow ?? false,
386
+ reviewStepEnabled: opts.reviewStep !== false,
387
+ skipSecrets: opts.secrets === false,
388
+ });
277
389
  } catch (error) {
278
390
  console.error('ERROR:', error instanceof Error ? error.message : error);
279
391
  process.exit(1);
package/src/comment.ts CHANGED
@@ -36,7 +36,7 @@ interface WhitesmithContext {
36
36
  parentIssue?: {number: number; title: string; body: string; url: string; labels: string[]};
37
37
  /** Task proposal PR (investigate/<N>) */
38
38
  taskPR?: RelatedPR;
39
- /** Implementation PRs (task/<N>-*) */
39
+ /** Implementation PR (issue/<N>) */
40
40
  implementationPRs: RelatedPR[];
41
41
  /** Task files on the current branch (if tasks-accepted) */
42
42
  tasks: Array<{id: string; title: string; filePath: string}>;
@@ -65,9 +65,6 @@ export async function handlePRComment(
65
65
  console.log(`PR #${config.number}: ${pr.title}`);
66
66
  console.log(`Branch: ${pr.branch}`);
67
67
 
68
- // Clean up temp files before checkout to avoid conflicts
69
- git.cleanupTempFiles();
70
-
71
68
  // Checkout PR branch
72
69
  await git.fetch();
73
70
  await git.checkout(pr.branch);
@@ -212,22 +209,21 @@ export async function isPullRequest(issues: IssueProvider, number: number): Prom
212
209
  * Parse a whitesmith branch name to extract the issue number.
213
210
  *
214
211
  * - `investigate/<N>` → issue N (task proposal PR)
215
- * - `task/<N>-<seq>` → issue N (implementation PR)
212
+ * - `issue/<N>` → issue N (implementation PR)
216
213
  */
217
214
  function parseWhitesmithBranch(
218
215
  branch: string,
219
- ): {type: 'investigate' | 'task'; issueNumber: number; taskId?: string} | null {
216
+ ): {type: 'investigate' | 'issue'; issueNumber: number} | null {
220
217
  const investigateMatch = branch.match(/^investigate\/(\d+)$/);
221
218
  if (investigateMatch) {
222
219
  return {type: 'investigate', issueNumber: parseInt(investigateMatch[1], 10)};
223
220
  }
224
221
 
225
- const taskMatch = branch.match(/^task\/(\d+)-(\d+.*)$/);
226
- if (taskMatch) {
222
+ const issueMatch = branch.match(/^issue\/(\d+)$/);
223
+ if (issueMatch) {
227
224
  return {
228
- type: 'task',
229
- issueNumber: parseInt(taskMatch[1], 10),
230
- taskId: `${taskMatch[1]}-${taskMatch[2]}`,
225
+ type: 'issue',
226
+ issueNumber: parseInt(issueMatch[1], 10),
231
227
  };
232
228
  }
233
229
 
@@ -329,9 +325,19 @@ async function gatherRelatedPRs(
329
325
  };
330
326
  }
331
327
 
332
- // Implementation PRs
333
- const implPRs = await issues.listPRsByBranchPrefix(`task/${issueNumber}-`);
334
- context.implementationPRs = implPRs;
328
+ // Implementation PR (single branch per issue)
329
+ const implPR = await issues.getPRForBranch(`issue/${issueNumber}`);
330
+ if (implPR) {
331
+ context.implementationPRs = [
332
+ {
333
+ branch: `issue/${issueNumber}`,
334
+ number: implPR.number,
335
+ title: '',
336
+ state: implPR.state,
337
+ url: implPR.url,
338
+ },
339
+ ];
340
+ }
335
341
  }
336
342
 
337
343
  // --- Prompt builders ---