@bradtaylorsf/alpha-loop 1.4.3 → 1.6.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.
- package/README.md +57 -2
- package/dist/cli.js +33 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/init.js +3 -7
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/plan.d.ts +11 -0
- package/dist/commands/plan.js +298 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/roadmap.d.ts +9 -0
- package/dist/commands/roadmap.js +202 -0
- package/dist/commands/roadmap.js.map +1 -0
- package/dist/commands/run.d.ts +2 -0
- package/dist/commands/run.js +80 -33
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/triage.d.ts +9 -0
- package/dist/commands/triage.js +226 -0
- package/dist/commands/triage.js.map +1 -0
- package/dist/commands/vision.js +1 -0
- package/dist/commands/vision.js.map +1 -1
- package/dist/lib/config.d.ts +4 -0
- package/dist/lib/config.js +6 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/github.d.ts +46 -0
- package/dist/lib/github.js +180 -1
- package/dist/lib/github.js.map +1 -1
- package/dist/lib/pipeline.d.ts +12 -0
- package/dist/lib/pipeline.js +537 -2
- package/dist/lib/pipeline.js.map +1 -1
- package/dist/lib/planning.d.ts +91 -0
- package/dist/lib/planning.js +315 -0
- package/dist/lib/planning.js.map +1 -0
- package/dist/lib/prompts.d.ts +118 -0
- package/dist/lib/prompts.js +270 -2
- package/dist/lib/prompts.js.map +1 -1
- package/dist/lib/session.d.ts +1 -1
- package/dist/lib/session.js +7 -4
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/traces.d.ts +2 -0
- package/dist/lib/traces.js.map +1 -1
- package/package.json +2 -1
package/dist/lib/prompts.d.ts
CHANGED
|
@@ -6,6 +6,11 @@ export type ImplementPromptOptions = {
|
|
|
6
6
|
issueNum: number;
|
|
7
7
|
title: string;
|
|
8
8
|
body: string;
|
|
9
|
+
comments?: Array<{
|
|
10
|
+
author: string;
|
|
11
|
+
body: string;
|
|
12
|
+
createdAt: string;
|
|
13
|
+
}>;
|
|
9
14
|
planContent?: string;
|
|
10
15
|
visionContext?: string;
|
|
11
16
|
projectContext?: string;
|
|
@@ -16,6 +21,37 @@ export type ReviewPromptOptions = {
|
|
|
16
21
|
issueNum: number;
|
|
17
22
|
title: string;
|
|
18
23
|
body: string;
|
|
24
|
+
comments?: Array<{
|
|
25
|
+
author: string;
|
|
26
|
+
body: string;
|
|
27
|
+
createdAt: string;
|
|
28
|
+
}>;
|
|
29
|
+
baseBranch: string;
|
|
30
|
+
visionContext?: string;
|
|
31
|
+
};
|
|
32
|
+
/** A single issue within a batch. */
|
|
33
|
+
export type BatchIssue = {
|
|
34
|
+
issueNum: number;
|
|
35
|
+
title: string;
|
|
36
|
+
body: string;
|
|
37
|
+
comments?: Array<{
|
|
38
|
+
author: string;
|
|
39
|
+
body: string;
|
|
40
|
+
createdAt: string;
|
|
41
|
+
}>;
|
|
42
|
+
};
|
|
43
|
+
export type BatchPlanPromptOptions = {
|
|
44
|
+
issues: BatchIssue[];
|
|
45
|
+
};
|
|
46
|
+
export type BatchImplementPromptOptions = {
|
|
47
|
+
issues: BatchIssue[];
|
|
48
|
+
planContent?: string;
|
|
49
|
+
visionContext?: string;
|
|
50
|
+
projectContext?: string;
|
|
51
|
+
learningContext?: string;
|
|
52
|
+
};
|
|
53
|
+
export type BatchReviewPromptOptions = {
|
|
54
|
+
issues: BatchIssue[];
|
|
19
55
|
baseBranch: string;
|
|
20
56
|
visionContext?: string;
|
|
21
57
|
};
|
|
@@ -35,6 +71,19 @@ export type LearnPromptOptions = {
|
|
|
35
71
|
* Build the implementation prompt for an AI agent.
|
|
36
72
|
*/
|
|
37
73
|
export declare function buildImplementPrompt(options: ImplementPromptOptions): string;
|
|
74
|
+
/**
|
|
75
|
+
* Build a batch planning prompt — plans all issues in a single agent call.
|
|
76
|
+
* The agent writes one plan JSON per issue.
|
|
77
|
+
*/
|
|
78
|
+
export declare function buildBatchPlanPrompt(options: BatchPlanPromptOptions): string;
|
|
79
|
+
/**
|
|
80
|
+
* Build a batch implementation prompt — implements all issues in a single agent call.
|
|
81
|
+
*/
|
|
82
|
+
export declare function buildBatchImplementPrompt(options: BatchImplementPromptOptions): string;
|
|
83
|
+
/**
|
|
84
|
+
* Build a batch review prompt — reviews all issues' changes in a single agent call.
|
|
85
|
+
*/
|
|
86
|
+
export declare function buildBatchReviewPrompt(options: BatchReviewPromptOptions): string;
|
|
38
87
|
/**
|
|
39
88
|
* Build the code review prompt for an AI agent.
|
|
40
89
|
*/
|
|
@@ -61,3 +110,72 @@ export declare function buildSessionReviewPrompt(options: SessionReviewPromptOpt
|
|
|
61
110
|
* Build the learning extraction prompt.
|
|
62
111
|
*/
|
|
63
112
|
export declare function buildLearnPrompt(options: LearnPromptOptions): string;
|
|
113
|
+
export type AssumptionsPromptOptions = {
|
|
114
|
+
issueNum: number;
|
|
115
|
+
title: string;
|
|
116
|
+
body: string;
|
|
117
|
+
diff: string;
|
|
118
|
+
reviewSummary: string;
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* Build a prompt that asks the agent to summarize assumptions and decisions
|
|
122
|
+
* made during implementation. Posted as a comment for user validation.
|
|
123
|
+
*/
|
|
124
|
+
export declare function buildAssumptionsPrompt(options: AssumptionsPromptOptions): string;
|
|
125
|
+
export type TriagePromptOptions = {
|
|
126
|
+
issues: Array<{
|
|
127
|
+
number: number;
|
|
128
|
+
title: string;
|
|
129
|
+
body: string;
|
|
130
|
+
comments?: Array<{
|
|
131
|
+
author: string;
|
|
132
|
+
body: string;
|
|
133
|
+
createdAt: string;
|
|
134
|
+
}>;
|
|
135
|
+
}>;
|
|
136
|
+
projectContext?: string | null;
|
|
137
|
+
visionContext?: string | null;
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* Build the triage analysis prompt for an AI agent.
|
|
141
|
+
* Instructs the agent to categorize open issues and output TriageFinding[] JSON.
|
|
142
|
+
*/
|
|
143
|
+
export declare function buildTriagePrompt(options: TriagePromptOptions): string;
|
|
144
|
+
export type RoadmapPromptOptions = {
|
|
145
|
+
issues: Array<{
|
|
146
|
+
number: number;
|
|
147
|
+
title: string;
|
|
148
|
+
body: string;
|
|
149
|
+
milestone: string | null;
|
|
150
|
+
}>;
|
|
151
|
+
milestones: Array<{
|
|
152
|
+
title: string;
|
|
153
|
+
description: string;
|
|
154
|
+
dueOn: string | null;
|
|
155
|
+
}>;
|
|
156
|
+
projectContext?: string | null;
|
|
157
|
+
visionContext?: string | null;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Build the roadmap prompt for an AI agent.
|
|
161
|
+
* Instructs the agent to suggest milestone groupings for open issues.
|
|
162
|
+
*/
|
|
163
|
+
export declare function buildRoadmapPrompt(options: RoadmapPromptOptions): string;
|
|
164
|
+
export type PlanPromptOptions = {
|
|
165
|
+
seedDescription: string;
|
|
166
|
+
seedFiles?: Array<{
|
|
167
|
+
path: string;
|
|
168
|
+
content: string;
|
|
169
|
+
}>;
|
|
170
|
+
visionContext?: string | null;
|
|
171
|
+
projectContext?: string | null;
|
|
172
|
+
existingIssues?: Array<{
|
|
173
|
+
number: number;
|
|
174
|
+
title: string;
|
|
175
|
+
}>;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Build the prompt for AI-driven project plan generation.
|
|
179
|
+
* Instructs the agent to output a PlanDraft JSON with milestones and issues.
|
|
180
|
+
*/
|
|
181
|
+
export declare function buildPlanPrompt(options: PlanPromptOptions): string;
|
package/dist/lib/prompts.js
CHANGED
|
@@ -6,12 +6,18 @@
|
|
|
6
6
|
* Build the implementation prompt for an AI agent.
|
|
7
7
|
*/
|
|
8
8
|
export function buildImplementPrompt(options) {
|
|
9
|
-
const { issueNum, title, body, planContent, visionContext, projectContext, previousResult, learningContext } = options;
|
|
9
|
+
const { issueNum, title, body, comments, planContent, visionContext, projectContext, previousResult, learningContext } = options;
|
|
10
10
|
const sections = [
|
|
11
11
|
`Implement GitHub issue #${issueNum}: ${title}`,
|
|
12
12
|
'',
|
|
13
13
|
body,
|
|
14
14
|
];
|
|
15
|
+
if (comments && comments.length > 0) {
|
|
16
|
+
sections.push('', '', '## Discussion (issue comments)');
|
|
17
|
+
for (const c of comments) {
|
|
18
|
+
sections.push(`- **@${c.author}** (${c.createdAt}): ${c.body}`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
15
21
|
if (planContent) {
|
|
16
22
|
sections.push('', '', `## Implementation Plan`, planContent);
|
|
17
23
|
}
|
|
@@ -30,11 +36,130 @@ export function buildImplementPrompt(options) {
|
|
|
30
36
|
sections.push('', '## Scope Rules (CRITICAL)', '- ONLY modify files directly related to this issue', '- If tests fail due to environment issues (missing venv, wrong port, missing deps), report it — do NOT rewrite test infrastructure', '- Do NOT fix unrelated code, even if you notice problems', '- Do NOT modify dev server config, build config, fonts, or styling unless the issue specifically requires it', '- If the issue lists "Affected Files/Areas", stay within that scope', '', '## Before You Start', '1. Read the product vision and technical context above', '2. Make decisions that align with the target users and current priority', '3. Understand how your changes connect to existing code', "4. If you're creating new files, make sure they're wired into the appropriate entry points", '', '## After Implementing', '1. Write tests for your changes', '2. Run the test command to verify', `3. Commit with: git commit -m "feat: ${title} (closes #${issueNum})"`);
|
|
31
37
|
return sections.join('\n');
|
|
32
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Build a batch planning prompt — plans all issues in a single agent call.
|
|
41
|
+
* The agent writes one plan JSON per issue.
|
|
42
|
+
*/
|
|
43
|
+
export function buildBatchPlanPrompt(options) {
|
|
44
|
+
const { issues } = options;
|
|
45
|
+
const issueList = issues.map((i) => {
|
|
46
|
+
let entry = `### Issue #${i.issueNum}: ${i.title}\n${i.body || '(no description)'}`;
|
|
47
|
+
if (i.comments && i.comments.length > 0) {
|
|
48
|
+
entry += '\n\n**Comments:**';
|
|
49
|
+
for (const c of i.comments) {
|
|
50
|
+
entry += `\n- **@${c.author}** (${c.createdAt}): ${c.body}`;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return entry;
|
|
54
|
+
}).join('\n\n');
|
|
55
|
+
const fileList = issues.map((i) => `plan-issue-${i.issueNum}.json`).join(', ');
|
|
56
|
+
return `Analyze the following GitHub issues and produce a structured implementation plan for EACH one.
|
|
57
|
+
|
|
58
|
+
## Issues to Plan
|
|
59
|
+
|
|
60
|
+
${issueList}
|
|
61
|
+
|
|
62
|
+
## Output
|
|
63
|
+
|
|
64
|
+
Write one JSON file per issue: ${fileList}
|
|
65
|
+
|
|
66
|
+
Each file must contain ONLY valid JSON with this exact schema:
|
|
67
|
+
|
|
68
|
+
{
|
|
69
|
+
"summary": "One-line description of what needs to be done",
|
|
70
|
+
"files": ["src/path/to/file.ts", "..."],
|
|
71
|
+
"implementation": "Concise step-by-step plan. What to create, modify, wire up.",
|
|
72
|
+
"testing": {
|
|
73
|
+
"needed": true,
|
|
74
|
+
"reason": "Why tests are or aren't needed for this change"
|
|
75
|
+
},
|
|
76
|
+
"verification": {
|
|
77
|
+
"needed": false,
|
|
78
|
+
"instructions": "If needed: specific steps to verify the feature.",
|
|
79
|
+
"reason": "Why verification is or isn't needed"
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
## Rules
|
|
84
|
+
- Consider dependencies BETWEEN issues — if issue A creates something issue B uses, note that in the plan.
|
|
85
|
+
- testing.needed: true if ANY code changes could affect behavior. false only for docs, config, or comments.
|
|
86
|
+
- verification.needed: true ONLY if the issue changes user-visible UI that can be tested in a browser.
|
|
87
|
+
- implementation: be concise and actionable. List files to modify and what to change in each.
|
|
88
|
+
- Write ONLY the JSON files. Do not create any other files or make any code changes.`;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Build a batch implementation prompt — implements all issues in a single agent call.
|
|
92
|
+
*/
|
|
93
|
+
export function buildBatchImplementPrompt(options) {
|
|
94
|
+
const { issues, planContent, visionContext, projectContext, learningContext } = options;
|
|
95
|
+
const issueList = issues.map((i) => {
|
|
96
|
+
let entry = `### Issue #${i.issueNum}: ${i.title}\n${i.body || '(no description)'}`;
|
|
97
|
+
if (i.comments && i.comments.length > 0) {
|
|
98
|
+
entry += '\n\n**Comments:**';
|
|
99
|
+
for (const c of i.comments) {
|
|
100
|
+
entry += `\n- **@${c.author}** (${c.createdAt}): ${c.body}`;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return entry;
|
|
104
|
+
}).join('\n\n');
|
|
105
|
+
const closesRefs = issues.map((i) => `closes #${i.issueNum}`).join(', ');
|
|
106
|
+
const sections = [
|
|
107
|
+
`Implement the following ${issues.length} GitHub issues. Work through them in order, committing after each one.`,
|
|
108
|
+
'',
|
|
109
|
+
'## Issues to Implement',
|
|
110
|
+
'',
|
|
111
|
+
issueList,
|
|
112
|
+
];
|
|
113
|
+
if (planContent) {
|
|
114
|
+
sections.push('', '', '## Implementation Plans', planContent);
|
|
115
|
+
}
|
|
116
|
+
if (visionContext) {
|
|
117
|
+
sections.push('', '', '## Product Vision', visionContext);
|
|
118
|
+
}
|
|
119
|
+
if (projectContext) {
|
|
120
|
+
sections.push('', '', '## Technical Context', projectContext);
|
|
121
|
+
}
|
|
122
|
+
if (learningContext) {
|
|
123
|
+
sections.push('', '', learningContext);
|
|
124
|
+
}
|
|
125
|
+
sections.push('', '## Scope Rules (CRITICAL)', '- ONLY modify files directly related to these issues', '- If tests fail due to environment issues (missing venv, wrong port, missing deps), report it — do NOT rewrite test infrastructure', '- Do NOT fix unrelated code, even if you notice problems', '- Do NOT modify dev server config, build config, fonts, or styling unless an issue specifically requires it', '', '## Workflow', '1. Read the product vision and technical context above', '2. Consider dependencies between the issues — implement foundational ones first', '3. For EACH issue, in order:', ' a. Implement the changes', ' b. Write tests for those changes', ' c. Run the test command to verify', ' d. Commit with: `git commit -m "feat: <title> (closes #<issueNum>)"`', '4. After all issues are done, run the full test suite one final time', '', '## Commit Convention', 'Make ONE commit per issue. Each commit message must include `closes #<issueNum>` for the specific issue.', `Example: git commit -m "feat: add user auth (closes #42)"`);
|
|
126
|
+
return sections.join('\n');
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Build a batch review prompt — reviews all issues' changes in a single agent call.
|
|
130
|
+
*/
|
|
131
|
+
export function buildBatchReviewPrompt(options) {
|
|
132
|
+
const { issues, baseBranch, visionContext } = options;
|
|
133
|
+
const issueList = issues.map((i) => {
|
|
134
|
+
let entry = `### Issue #${i.issueNum}: ${i.title}\n${i.body || '(no description)'}`;
|
|
135
|
+
if (i.comments && i.comments.length > 0) {
|
|
136
|
+
entry += '\n\n**Comments:**';
|
|
137
|
+
for (const c of i.comments) {
|
|
138
|
+
entry += `\n- **@${c.author}** (${c.createdAt}): ${c.body}`;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return entry;
|
|
142
|
+
}).join('\n\n');
|
|
143
|
+
const sections = [
|
|
144
|
+
`Review the code changes for the following ${issues.length} issues.`,
|
|
145
|
+
'',
|
|
146
|
+
`Run git diff origin/${baseBranch}...HEAD to see all changes. Then read the actual files that were modified.`,
|
|
147
|
+
'',
|
|
148
|
+
'## Issues Implemented',
|
|
149
|
+
'',
|
|
150
|
+
issueList,
|
|
151
|
+
];
|
|
152
|
+
if (visionContext) {
|
|
153
|
+
sections.push('', '', '## Product Vision (guide your review decisions)', visionContext);
|
|
154
|
+
}
|
|
155
|
+
sections.push('', '## Review Checklist', '', '### 1. Per-Issue Completeness (MOST IMPORTANT)', '- For EACH issue above, does the implementation FULLY address the requirements?', '- Are there any acceptance criteria that were NOT implemented?', '- Are there dead code paths (created but never wired in)?', '', '### 2. Cross-Issue Integration', '- Do changes from different issues conflict or create inconsistencies?', '- Are there duplicate implementations across issues?', '- Do shared types, interfaces, or utilities remain consistent?', '', '### 3. Integration Gaps', '- Are new routes/endpoints registered in the server entry point?', '- Are new components imported and rendered in the app?', '- Are there missing imports, missing route registrations, or orphaned files?', '', '### 4. Code Quality', '- Security issues (injection, XSS, auth bypass)', '- Missing error handling for user-facing operations', '- Missing tests for new functionality', '', '## Actions', '', 'For any issues you find:', '- CRITICAL: FIX THEM directly, run tests, commit with `git commit -m "fix: address review findings"`', '- WARNING: FIX THEM directly if possible', '- INFO: Note them but don\'t block', '', '## Gate Result (REQUIRED)', '', 'After your review, write a JSON file to: review-batch.json', '', 'The file must contain ONLY valid JSON with this exact schema:', '', '{', ' "passed": true,', ' "summary": "One-line summary of review outcome",', ' "findings": [', ' {', ' "severity": "critical",', ' "description": "What the issue is",', ' "fixed": true,', ' "file": "path/to/affected/file.ts",', ' "issueNum": 42', ' }', ' ]', '}', '', 'Rules:', '- passed: true if all critical/warning issues were fixed.', '- findings: list ALL issues found, with fixed=true for ones you fixed.', '- Include issueNum in each finding to track which issue it relates to.', '- If everything is clean, set passed=true with an empty findings array.');
|
|
156
|
+
return sections.join('\n');
|
|
157
|
+
}
|
|
33
158
|
/**
|
|
34
159
|
* Build the code review prompt for an AI agent.
|
|
35
160
|
*/
|
|
36
161
|
export function buildReviewPrompt(options) {
|
|
37
|
-
const { issueNum, title, body, baseBranch, visionContext } = options;
|
|
162
|
+
const { issueNum, title, body, comments, baseBranch, visionContext } = options;
|
|
38
163
|
const sections = [
|
|
39
164
|
`Review the code changes for issue #${issueNum}: ${title}`,
|
|
40
165
|
'',
|
|
@@ -43,6 +168,12 @@ export function buildReviewPrompt(options) {
|
|
|
43
168
|
'Original requirements:',
|
|
44
169
|
body,
|
|
45
170
|
];
|
|
171
|
+
if (comments && comments.length > 0) {
|
|
172
|
+
sections.push('', 'Discussion (issue comments):');
|
|
173
|
+
for (const c of comments) {
|
|
174
|
+
sections.push(`- **@${c.author}** (${c.createdAt}): ${c.body}`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
46
177
|
if (visionContext) {
|
|
47
178
|
sections.push('', '', '## Product Vision (guide your review decisions)', visionContext);
|
|
48
179
|
}
|
|
@@ -150,4 +281,141 @@ date: ${today}
|
|
|
150
281
|
## Suggested Skill Updates
|
|
151
282
|
- (specific skill file changes, or "None")`;
|
|
152
283
|
}
|
|
284
|
+
/**
|
|
285
|
+
* Build a prompt that asks the agent to summarize assumptions and decisions
|
|
286
|
+
* made during implementation. Posted as a comment for user validation.
|
|
287
|
+
*/
|
|
288
|
+
export function buildAssumptionsPrompt(options) {
|
|
289
|
+
const { issueNum, title, body, diff, reviewSummary } = options;
|
|
290
|
+
return `You just implemented GitHub issue #${issueNum}: ${title}
|
|
291
|
+
|
|
292
|
+
## Original Requirements
|
|
293
|
+
${body}
|
|
294
|
+
|
|
295
|
+
## Code Changes (first 5000 chars)
|
|
296
|
+
${diff.slice(0, 5000)}
|
|
297
|
+
|
|
298
|
+
## Review Summary
|
|
299
|
+
${reviewSummary}
|
|
300
|
+
|
|
301
|
+
Analyze the implementation and list any assumptions or decisions you had to make where the requirements were ambiguous or incomplete. Output ONLY a markdown document with this structure:
|
|
302
|
+
|
|
303
|
+
## Assumptions
|
|
304
|
+
- (list each assumption made, e.g. "Assumed the date format should be ISO 8601 since it wasn't specified")
|
|
305
|
+
- If no assumptions were needed, write "None — requirements were fully specified"
|
|
306
|
+
|
|
307
|
+
## Decisions
|
|
308
|
+
- (list each design/implementation decision where multiple valid approaches existed, e.g. "Chose to validate on the server side rather than client side for security")
|
|
309
|
+
- If no notable decisions, write "None — implementation was straightforward"
|
|
310
|
+
|
|
311
|
+
## Items to Validate
|
|
312
|
+
- (list specific things the user should check, e.g. "Verify the error message wording matches your team's style guide")
|
|
313
|
+
- If nothing needs validation, write "None"
|
|
314
|
+
|
|
315
|
+
Keep it concise. Only include genuinely ambiguous items, not obvious implementation choices.`;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Build the triage analysis prompt for an AI agent.
|
|
319
|
+
* Instructs the agent to categorize open issues and output TriageFinding[] JSON.
|
|
320
|
+
*/
|
|
321
|
+
export function buildTriagePrompt(options) {
|
|
322
|
+
const { issues, projectContext, visionContext } = options;
|
|
323
|
+
const capped = issues.slice(0, 100);
|
|
324
|
+
const cappedWarning = issues.length > 100
|
|
325
|
+
? `\n\nWARNING: Only the first 100 of ${issues.length} issues are included. There may be more issues not shown here.`
|
|
326
|
+
: '';
|
|
327
|
+
const issueList = capped.map((i) => {
|
|
328
|
+
let entry = `### Issue #${i.number}: ${i.title}\n${i.body || '(no description)'}`;
|
|
329
|
+
if (i.comments && i.comments.length > 0) {
|
|
330
|
+
const commentLines = i.comments.map((c) => `- **@${c.author}** (${c.createdAt}): ${c.body.length > 200 ? c.body.slice(0, 200) + '...' : c.body}`).join('\n');
|
|
331
|
+
entry += `\n\n**Comments:**\n${commentLines}`;
|
|
332
|
+
}
|
|
333
|
+
return entry;
|
|
334
|
+
}).join('\n\n');
|
|
335
|
+
const sections = [
|
|
336
|
+
'You are a project triage assistant. Analyze the following open GitHub issues and categorize any that need attention.',
|
|
337
|
+
'',
|
|
338
|
+
'## Open Issues',
|
|
339
|
+
issueList,
|
|
340
|
+
cappedWarning,
|
|
341
|
+
];
|
|
342
|
+
if (visionContext) {
|
|
343
|
+
sections.push('', '## Product Vision', visionContext);
|
|
344
|
+
}
|
|
345
|
+
if (projectContext) {
|
|
346
|
+
sections.push('', '## Technical Context', projectContext);
|
|
347
|
+
}
|
|
348
|
+
sections.push('', '## Instructions', '', 'For each issue, determine if it falls into one of these categories:', '- **stale**: No longer relevant given the current codebase state (e.g., referenced files deleted, feature already implemented)', '- **unclear**: Missing acceptance criteria, vague scope, no clear "done" definition', '- **too_large**: Should be split into 2-4 smaller, focused issues', '- **duplicate**: Substantially overlaps with another open issue', '- **enrich**: Raw support ticket, sparse form submission, or bug report that needs investigation and enrichment — has some useful info but lacks technical detail, affected areas, acceptance criteria, or reproduction steps', '- **ok**: Issue is fine as-is — do NOT include "ok" issues in output', '', 'For each finding, provide:', '- `reason`: Brief explanation of why this issue was flagged', '- For `unclear` issues: include `rewrittenBody` with proper acceptance criteria in checkbox format (`- [ ] Criterion`)', '- For `enrich` issues: include `enrichedBody` — a thorough rewrite that preserves the original description in a collapsed `<details>` block, then adds: summary, affected files/areas (inferred from codebase context), acceptance criteria, and reproduction steps if applicable. Use the issue comments for additional context.', '- For `too_large` issues: include `splitInto` array of title strings for the sub-issues', '- For `duplicate` issues: include `duplicateOf` with the canonical issue number', '', 'Check the codebase context for staleness signals (referenced files deleted, features already implemented).', 'When rewriting unclear issues, use markdown with acceptance criteria in checkbox format.', 'When enriching issues, analyze the codebase context to identify affected files and areas, and validate that the reported issue is plausible.', '', '## Output Requirements', '', 'Output ONLY valid JSON matching this schema (no explanation, no surrounding text).', 'The example below uses fences for illustration only — your output must be raw JSON with no fences:', '', '```json', '[', ' {', ' "issueNum": 42,', ' "title": "Issue title",', ' "category": "stale",', ' "reason": "This feature was already implemented in PR #30",', ' "action": "close",', ' "selected": true', ' },', ' {', ' "issueNum": 43,', ' "title": "Vague issue title",', ' "category": "unclear",', ' "reason": "No acceptance criteria, scope is ambiguous",', ' "action": "rewrite",', ' "rewrittenBody": "## Summary\\n...\\n\\n## Acceptance Criteria\\n- [ ] Criterion 1\\n- [ ] Criterion 2",', ' "selected": true', ' },', ' {', ' "issueNum": 44,', ' "title": "Large issue title",', ' "category": "too_large",', ' "reason": "Covers 3 independent features",', ' "action": "split",', ' "splitInto": ["Sub-issue A", "Sub-issue B", "Sub-issue C"],', ' "selected": true', ' },', ' {', ' "issueNum": 45,', ' "title": "Duplicate issue",', ' "category": "duplicate",', ' "reason": "Same scope as #42",', ' "action": "merge",', ' "duplicateOf": 42,', ' "selected": true', ' },', ' {', ' "issueNum": 46,', ' "title": "Button broken on settings page",', ' "category": "enrich",', ' "reason": "Raw support ticket with minimal detail — needs affected areas, reproduction steps, and acceptance criteria",', ' "action": "enrich",', ' "enrichedBody": "<details><summary>Original description</summary>\\n\\nButton broken on settings page\\n\\n</details>\\n\\n## Summary\\nThe save button on the settings page is non-functional...\\n\\n## Affected Areas\\n- `src/components/Settings.tsx`\\n\\n## Acceptance Criteria\\n- [ ] Save button triggers form submission\\n- [ ] Success feedback shown to user\\n\\n## Reproduction Steps\\n1. Navigate to Settings\\n2. Click Save\\n3. Observe no response",', ' "selected": true', ' }', ']', '```', '', '## Rules', '- Only include issues that need action (skip "ok" issues)', '- If ALL issues are fine, output an empty array: `[]`', '- Set `selected: true` for all findings (user will deselect if needed)', '- action mapping: stale→close, unclear→rewrite, too_large→split, duplicate→merge, enrich→enrich', '- Be conservative — only flag issues when you are confident about the categorization', '- Prefer `enrich` over `unclear` for issues that have some useful info (e.g., support tickets, bug reports) but need technical detail added');
|
|
349
|
+
return sections.join('\n');
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Build the roadmap prompt for an AI agent.
|
|
353
|
+
* Instructs the agent to suggest milestone groupings for open issues.
|
|
354
|
+
*/
|
|
355
|
+
export function buildRoadmapPrompt(options) {
|
|
356
|
+
const { issues, milestones, projectContext, visionContext } = options;
|
|
357
|
+
const capped = issues.slice(0, 100);
|
|
358
|
+
const cappedWarning = issues.length > 100
|
|
359
|
+
? `\n\nWARNING: Only the first 100 of ${issues.length} issues are included.`
|
|
360
|
+
: '';
|
|
361
|
+
const issueList = capped.map((i) => {
|
|
362
|
+
const ms = i.milestone ? ` [milestone: ${i.milestone}]` : ' [unassigned]';
|
|
363
|
+
const body = i.body.length > 300 ? i.body.slice(0, 300) + '...' : i.body;
|
|
364
|
+
return `### Issue #${i.number}: ${i.title}${ms}\n${body || '(no description)'}`;
|
|
365
|
+
}).join('\n\n');
|
|
366
|
+
const milestoneList = milestones.length > 0
|
|
367
|
+
? milestones.map((m) => {
|
|
368
|
+
const due = m.dueOn ? ` (due: ${m.dueOn})` : '';
|
|
369
|
+
return `- **${m.title}**${due}: ${m.description || '(no description)'}`;
|
|
370
|
+
}).join('\n')
|
|
371
|
+
: '(none)';
|
|
372
|
+
const sections = [
|
|
373
|
+
'You are a project roadmap assistant. Analyze the following open issues and existing milestones, then suggest how to organize issues into milestones.',
|
|
374
|
+
'',
|
|
375
|
+
'## Open Issues',
|
|
376
|
+
issueList,
|
|
377
|
+
cappedWarning,
|
|
378
|
+
'',
|
|
379
|
+
'## Existing Milestones',
|
|
380
|
+
milestoneList,
|
|
381
|
+
];
|
|
382
|
+
if (visionContext) {
|
|
383
|
+
sections.push('', '## Product Vision', visionContext);
|
|
384
|
+
}
|
|
385
|
+
if (projectContext) {
|
|
386
|
+
sections.push('', '## Technical Context', projectContext);
|
|
387
|
+
}
|
|
388
|
+
sections.push('', '## Output Requirements', '', 'Output ONLY valid JSON matching this schema (no explanation, no surrounding text).', 'The example below uses fences for illustration only — your output must be raw JSON with no fences:', '', '```json', '{', ' "milestones": [', ' {', ' "title": "Milestone Name",', ' "description": "What this milestone delivers",', ' "dueOn": "2026-05-01",', ' "order": 1', ' }', ' ],', ' "assignments": [', ' {', ' "issueNum": 3,', ' "title": "Issue title",', ' "milestone": "Milestone Name",', ' "currentMilestone": "",', ' "selected": true', ' }', ' ]', '}', '```', '', '## Instructions', '- Respect existing milestone structure — reuse existing milestones where appropriate', '- Only create new milestones when issues clearly don\'t fit existing ones', '- Consider dependency order: foundational work (database, API, infra) in earlier milestones', '- Suggest realistic due dates based on issue complexity and number of issues per milestone', '- Set `currentMilestone` to the issue\'s current milestone title, or empty string if unassigned', '- Include ALL open issues in assignments (even ones already assigned to milestones)', '- Set `selected: true` for all assignments (user will deselect if needed)', '- Order milestones by suggested execution order (order field)', '- Group related issues together (same feature area, same dependency chain)');
|
|
389
|
+
return sections.join('\n');
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Build the prompt for AI-driven project plan generation.
|
|
393
|
+
* Instructs the agent to output a PlanDraft JSON with milestones and issues.
|
|
394
|
+
*/
|
|
395
|
+
export function buildPlanPrompt(options) {
|
|
396
|
+
const { seedDescription, seedFiles, visionContext, projectContext, existingIssues } = options;
|
|
397
|
+
const sections = [
|
|
398
|
+
'You are a project planning assistant. Analyze the following inputs and generate a complete project plan as JSON.',
|
|
399
|
+
'',
|
|
400
|
+
'## Seed Description',
|
|
401
|
+
seedDescription,
|
|
402
|
+
];
|
|
403
|
+
if (seedFiles && seedFiles.length > 0) {
|
|
404
|
+
sections.push('', '## Seed Files');
|
|
405
|
+
for (const file of seedFiles) {
|
|
406
|
+
sections.push(`### ${file.path}`, '```', file.content, '```');
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
if (visionContext) {
|
|
410
|
+
sections.push('', '## Product Vision', visionContext);
|
|
411
|
+
}
|
|
412
|
+
if (projectContext) {
|
|
413
|
+
sections.push('', '## Technical Context', projectContext);
|
|
414
|
+
}
|
|
415
|
+
if (existingIssues && existingIssues.length > 0) {
|
|
416
|
+
sections.push('', '## Existing Issues (avoid duplicates)', ...existingIssues.map((i) => `- #${i.number}: ${i.title}`));
|
|
417
|
+
}
|
|
418
|
+
sections.push('', '## Output Requirements', '', 'Output ONLY valid JSON matching this schema (no explanation, no surrounding text).', 'The example below uses fences for illustration only — your output must be raw JSON with no fences:', '', '```json', '{', ' "vision": null,', ' "milestones": [', ' {', ' "title": "Milestone Name",', ' "description": "What this milestone delivers",', ' "dueOn": "2026-05-01",', ' "order": 1', ' }', ' ],', ' "issues": [', ' {', ' "id": 1,', ' "title": "Issue title",', ' "body": "## Summary\\n...\\n\\n## Acceptance Criteria\\n- [ ] Criterion 1\\n- [ ] Criterion 2",', ' "labels": ["enhancement"],', ' "milestone": "Milestone Name",', ' "priority": "p1",', ' "complexity": "medium",', ' "dependsOn": [],', ' "selected": true', ' }', ' ],', ' "projectBoard": null', '}', '```', '', '## Instructions', '- Group issues into logical milestones with suggested due dates', '- Each issue body MUST use markdown with acceptance criteria in checkbox format: `- [ ] Criterion`', '- Priority: p0 (critical), p1 (high), p2 (medium), p3 (low)', '- Complexity: trivial, small, medium, large', '- Use `dependsOn` to reference other issue `id` values within the plan', '- Set all issues to `"selected": true`', '- Do NOT duplicate any existing issues listed above', '- Consider the codebase structure for realistic issue scoping', '- Issue `id` values are temporary local IDs (1, 2, 3...) used only for dependency references');
|
|
419
|
+
return sections.join('\n');
|
|
420
|
+
}
|
|
153
421
|
//# sourceMappingURL=prompts.js.map
|
package/dist/lib/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/session.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export type SessionContext = {
|
|
|
12
12
|
* Create a new session context with timestamp-based name.
|
|
13
13
|
* Optionally creates a session branch when autoMerge is enabled.
|
|
14
14
|
*/
|
|
15
|
-
export declare function createSession(config: Config): SessionContext;
|
|
15
|
+
export declare function createSession(config: Config, milestone?: string): SessionContext;
|
|
16
16
|
/**
|
|
17
17
|
* Save a pipeline result to the session directory as JSON.
|
|
18
18
|
*/
|
package/dist/lib/session.js
CHANGED
|
@@ -10,10 +10,13 @@ import { createPR, updateProjectStatus } from './github.js';
|
|
|
10
10
|
* Create a new session context with timestamp-based name.
|
|
11
11
|
* Optionally creates a session branch when autoMerge is enabled.
|
|
12
12
|
*/
|
|
13
|
-
export function createSession(config) {
|
|
13
|
+
export function createSession(config, milestone) {
|
|
14
14
|
const now = new Date();
|
|
15
15
|
const timestamp = formatTimestamp(now);
|
|
16
|
-
const
|
|
16
|
+
const slug = milestone
|
|
17
|
+
? milestone.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '')
|
|
18
|
+
: timestamp;
|
|
19
|
+
const name = `session/${slug}`;
|
|
17
20
|
const branch = config.mergeTo || name;
|
|
18
21
|
const projectDir = process.cwd();
|
|
19
22
|
const resultsDir = join(projectDir, '.alpha-loop', 'sessions', name);
|
|
@@ -44,8 +47,8 @@ export function createSession(config) {
|
|
|
44
47
|
repo: config.repo,
|
|
45
48
|
base: config.baseBranch,
|
|
46
49
|
head: branch,
|
|
47
|
-
title: `Session: ${name}`,
|
|
48
|
-
body: `## Session In Progress\n\n**Branch:** ${branch}\n**Started:** ${new Date().toISOString()}\n\nThis PR will be updated as issues are processed.\n\n---\n*Automated by alpha-loop*`,
|
|
50
|
+
title: milestone ? `Milestone: ${milestone}` : `Session: ${name}`,
|
|
51
|
+
body: `## Session In Progress\n\n${milestone ? `**Milestone:** ${milestone}\n` : ''}**Branch:** ${branch}\n**Started:** ${new Date().toISOString()}\n\nThis PR will be updated as issues are processed.\n\n---\n*Automated by alpha-loop*`,
|
|
49
52
|
cwd: projectDir,
|
|
50
53
|
});
|
|
51
54
|
log.success(`Session PR (draft): ${draftPR}`);
|
package/dist/lib/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"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"}
|