@speclife/core 0.1.7 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/claude-cli-adapter.d.ts +13 -15
- package/dist/adapters/claude-cli-adapter.d.ts.map +1 -1
- package/dist/adapters/claude-cli-adapter.js +73 -71
- package/dist/adapters/claude-cli-adapter.js.map +1 -1
- package/dist/adapters/git-adapter.d.ts +13 -0
- package/dist/adapters/git-adapter.d.ts.map +1 -1
- package/dist/adapters/git-adapter.js +61 -0
- package/dist/adapters/git-adapter.js.map +1 -1
- package/dist/adapters/github-adapter.d.ts +2 -0
- package/dist/adapters/github-adapter.d.ts.map +1 -1
- package/dist/adapters/github-adapter.js +38 -0
- package/dist/adapters/github-adapter.js.map +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +1 -1
- package/dist/adapters/index.js.map +1 -1
- package/dist/config.d.ts +25 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +49 -0
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +90 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/format.d.ts +57 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +154 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/workflows/index.d.ts +1 -0
- package/dist/workflows/index.d.ts.map +1 -1
- package/dist/workflows/index.js +1 -0
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/init.d.ts +6 -0
- package/dist/workflows/init.d.ts.map +1 -1
- package/dist/workflows/init.js +81 -1
- package/dist/workflows/init.js.map +1 -1
- package/dist/workflows/merge.d.ts +9 -13
- package/dist/workflows/merge.d.ts.map +1 -1
- package/dist/workflows/merge.js +11 -103
- package/dist/workflows/merge.js.map +1 -1
- package/dist/workflows/release.d.ts +28 -0
- package/dist/workflows/release.d.ts.map +1 -0
- package/dist/workflows/release.js +212 -0
- package/dist/workflows/release.js.map +1 -0
- package/dist/workflows/submit.d.ts +7 -1
- package/dist/workflows/submit.d.ts.map +1 -1
- package/dist/workflows/submit.js +89 -3
- package/dist/workflows/submit.js.map +1 -1
- package/package.json +2 -2
|
@@ -41,6 +41,19 @@ export interface ClaudeCliAdapter {
|
|
|
41
41
|
* Create a Claude CLI adapter
|
|
42
42
|
*/
|
|
43
43
|
export declare function createClaudeCliAdapter(): ClaudeCliAdapter;
|
|
44
|
+
/**
|
|
45
|
+
* Generate a task generation prompt for Claude CLI
|
|
46
|
+
*/
|
|
47
|
+
export declare function generateTaskGenerationPrompt(context: {
|
|
48
|
+
changeId: string;
|
|
49
|
+
description: string;
|
|
50
|
+
projectStructure?: string;
|
|
51
|
+
existingPatterns?: string[];
|
|
52
|
+
}): string;
|
|
53
|
+
/**
|
|
54
|
+
* Parse task generation response from Claude
|
|
55
|
+
*/
|
|
56
|
+
export declare function parseTaskGenerationResponse(response: string): string;
|
|
44
57
|
/**
|
|
45
58
|
* Generate an implementation prompt for Claude CLI
|
|
46
59
|
*/
|
|
@@ -54,19 +67,4 @@ export declare function generateImplementationPrompt(context: {
|
|
|
54
67
|
content: string;
|
|
55
68
|
}>;
|
|
56
69
|
}): string;
|
|
57
|
-
/**
|
|
58
|
-
* Generate a version analysis prompt for Claude CLI
|
|
59
|
-
*/
|
|
60
|
-
export declare function generateVersionAnalysisPrompt(context: {
|
|
61
|
-
changeId: string;
|
|
62
|
-
proposal: string;
|
|
63
|
-
diff: string;
|
|
64
|
-
}): string;
|
|
65
|
-
/**
|
|
66
|
-
* Parse version analysis response from Claude
|
|
67
|
-
*/
|
|
68
|
-
export declare function parseVersionAnalysisResponse(response: string): {
|
|
69
|
-
bump: 'patch' | 'minor' | 'major';
|
|
70
|
-
reasoning: string;
|
|
71
|
-
} | null;
|
|
72
70
|
//# sourceMappingURL=claude-cli-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-cli-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-cli-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,mCAAmC;AACnC,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhC,6BAA6B;IAC7B,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAErC,mCAAmC;IACnC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEzE,2CAA2C;IAC3C,YAAY,CACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACjC,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAgGzD;AAsBD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,
|
|
1
|
+
{"version":3,"file":"claude-cli-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-cli-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,mCAAmC;AACnC,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhC,6BAA6B;IAC7B,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAErC,mCAAmC;IACnC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEzE,2CAA2C;IAC3C,YAAY,CACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACjC,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAgGzD;AAsBD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,GAAG,MAAM,CAoDT;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuBpE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,GAAG,MAAM,CAmDT"}
|
|
@@ -110,6 +110,79 @@ function buildArgs(options) {
|
|
|
110
110
|
}
|
|
111
111
|
return args;
|
|
112
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Generate a task generation prompt for Claude CLI
|
|
115
|
+
*/
|
|
116
|
+
export function generateTaskGenerationPrompt(context) {
|
|
117
|
+
const sections = [];
|
|
118
|
+
sections.push(`# Task Generation Request: ${context.changeId}`);
|
|
119
|
+
sections.push('');
|
|
120
|
+
sections.push('Generate implementation tasks for the following change proposal.');
|
|
121
|
+
sections.push('Tasks should be specific, actionable, and follow best practices.');
|
|
122
|
+
sections.push('');
|
|
123
|
+
sections.push('## Change Description');
|
|
124
|
+
sections.push(context.description);
|
|
125
|
+
sections.push('');
|
|
126
|
+
if (context.projectStructure) {
|
|
127
|
+
sections.push('## Project Structure');
|
|
128
|
+
sections.push('```');
|
|
129
|
+
sections.push(context.projectStructure);
|
|
130
|
+
sections.push('```');
|
|
131
|
+
sections.push('');
|
|
132
|
+
}
|
|
133
|
+
if (context.existingPatterns && context.existingPatterns.length > 0) {
|
|
134
|
+
sections.push('## Existing Patterns');
|
|
135
|
+
sections.push('Follow these existing patterns in the codebase:');
|
|
136
|
+
for (const pattern of context.existingPatterns) {
|
|
137
|
+
sections.push(`- ${pattern}`);
|
|
138
|
+
}
|
|
139
|
+
sections.push('');
|
|
140
|
+
}
|
|
141
|
+
sections.push('## Output Format');
|
|
142
|
+
sections.push('Generate tasks in this exact markdown format:');
|
|
143
|
+
sections.push('```');
|
|
144
|
+
sections.push('## 1. Section Name');
|
|
145
|
+
sections.push('- [ ] 1.1 First task description');
|
|
146
|
+
sections.push('- [ ] 1.2 Second task description');
|
|
147
|
+
sections.push('');
|
|
148
|
+
sections.push('## 2. Another Section');
|
|
149
|
+
sections.push('- [ ] 2.1 Task description');
|
|
150
|
+
sections.push('```');
|
|
151
|
+
sections.push('');
|
|
152
|
+
sections.push('## Requirements');
|
|
153
|
+
sections.push('- Include 3-6 top-level sections');
|
|
154
|
+
sections.push('- Each section should have 2-5 tasks');
|
|
155
|
+
sections.push('- Tasks should be specific and actionable');
|
|
156
|
+
sections.push('- Include tasks for tests');
|
|
157
|
+
sections.push('- Include a final "Verification" section');
|
|
158
|
+
sections.push('- Output ONLY the markdown task list, no explanations');
|
|
159
|
+
sections.push('');
|
|
160
|
+
sections.push('Generate the tasks now:');
|
|
161
|
+
return sections.join('\n');
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Parse task generation response from Claude
|
|
165
|
+
*/
|
|
166
|
+
export function parseTaskGenerationResponse(response) {
|
|
167
|
+
// Extract markdown content (remove any surrounding explanation)
|
|
168
|
+
const lines = response.split('\n');
|
|
169
|
+
const taskLines = [];
|
|
170
|
+
let inTasks = false;
|
|
171
|
+
for (const line of lines) {
|
|
172
|
+
// Start capturing when we see a section header
|
|
173
|
+
if (line.match(/^## \d+\./)) {
|
|
174
|
+
inTasks = true;
|
|
175
|
+
}
|
|
176
|
+
if (inTasks) {
|
|
177
|
+
taskLines.push(line);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
// If no structured tasks found, return the whole response
|
|
181
|
+
if (taskLines.length === 0) {
|
|
182
|
+
return response.trim();
|
|
183
|
+
}
|
|
184
|
+
return taskLines.join('\n').trim();
|
|
185
|
+
}
|
|
113
186
|
/**
|
|
114
187
|
* Generate an implementation prompt for Claude CLI
|
|
115
188
|
*/
|
|
@@ -158,75 +231,4 @@ export function generateImplementationPrompt(context) {
|
|
|
158
231
|
sections.push('Begin implementation now.');
|
|
159
232
|
return sections.join('\n');
|
|
160
233
|
}
|
|
161
|
-
/**
|
|
162
|
-
* Generate a version analysis prompt for Claude CLI
|
|
163
|
-
*/
|
|
164
|
-
export function generateVersionAnalysisPrompt(context) {
|
|
165
|
-
const sections = [];
|
|
166
|
-
sections.push('# Version Bump Analysis');
|
|
167
|
-
sections.push('');
|
|
168
|
-
sections.push('Analyze the following change and determine the appropriate semantic version bump.');
|
|
169
|
-
sections.push('');
|
|
170
|
-
sections.push('## Change Proposal');
|
|
171
|
-
sections.push('```markdown');
|
|
172
|
-
sections.push(context.proposal);
|
|
173
|
-
sections.push('```');
|
|
174
|
-
sections.push('');
|
|
175
|
-
sections.push('## Code Changes (Diff)');
|
|
176
|
-
sections.push('```diff');
|
|
177
|
-
sections.push(context.diff);
|
|
178
|
-
sections.push('```');
|
|
179
|
-
sections.push('');
|
|
180
|
-
sections.push('## Semantic Versioning Guidelines');
|
|
181
|
-
sections.push('');
|
|
182
|
-
sections.push('- **major**: Breaking changes that require users to update their code');
|
|
183
|
-
sections.push(' - Removed or renamed public APIs, types, or exports');
|
|
184
|
-
sections.push(' - Changed function signatures or behavior in incompatible ways');
|
|
185
|
-
sections.push(' - Removed support for previously supported features');
|
|
186
|
-
sections.push('');
|
|
187
|
-
sections.push('- **minor**: New features that are backwards compatible');
|
|
188
|
-
sections.push(' - New exports, functions, types, or options');
|
|
189
|
-
sections.push(' - New optional parameters with defaults');
|
|
190
|
-
sections.push(' - Additive changes that don\'t break existing code');
|
|
191
|
-
sections.push('');
|
|
192
|
-
sections.push('- **patch**: Bug fixes and internal changes');
|
|
193
|
-
sections.push(' - Bug fixes that don\'t change the API');
|
|
194
|
-
sections.push(' - Documentation updates');
|
|
195
|
-
sections.push(' - Internal refactoring without API changes');
|
|
196
|
-
sections.push(' - Dependency updates');
|
|
197
|
-
sections.push(' - Performance improvements');
|
|
198
|
-
sections.push('');
|
|
199
|
-
sections.push('## Instructions');
|
|
200
|
-
sections.push('');
|
|
201
|
-
sections.push('Respond with ONLY a JSON object (no markdown code fences, no explanation outside the JSON):');
|
|
202
|
-
sections.push('');
|
|
203
|
-
sections.push('{');
|
|
204
|
-
sections.push(' "bump": "patch" | "minor" | "major",');
|
|
205
|
-
sections.push(' "reasoning": "Brief explanation of why this bump type is appropriate"');
|
|
206
|
-
sections.push('}');
|
|
207
|
-
return sections.join('\n');
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Parse version analysis response from Claude
|
|
211
|
-
*/
|
|
212
|
-
export function parseVersionAnalysisResponse(response) {
|
|
213
|
-
try {
|
|
214
|
-
// Try to extract JSON from the response
|
|
215
|
-
const jsonMatch = response.match(/\{[\s\S]*"bump"[\s\S]*"reasoning"[\s\S]*\}/);
|
|
216
|
-
if (!jsonMatch) {
|
|
217
|
-
return null;
|
|
218
|
-
}
|
|
219
|
-
const parsed = JSON.parse(jsonMatch[0]);
|
|
220
|
-
if (!['patch', 'minor', 'major'].includes(parsed.bump)) {
|
|
221
|
-
return null;
|
|
222
|
-
}
|
|
223
|
-
return {
|
|
224
|
-
bump: parsed.bump,
|
|
225
|
-
reasoning: String(parsed.reasoning || 'No reasoning provided'),
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
catch {
|
|
229
|
-
return null;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
234
|
//# sourceMappingURL=claude-cli-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-cli-adapter.js","sourceRoot":"","sources":["../../src/adapters/claude-cli-adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"claude-cli-adapter.js","sourceRoot":"","sources":["../../src/adapters/claude-cli-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,19 @@ export interface GitAdapter {
|
|
|
35
35
|
}>>;
|
|
36
36
|
/** Get the main worktree path (original repo location) */
|
|
37
37
|
getMainWorktreePath(): Promise<string>;
|
|
38
|
+
/** Get the latest tag (by version order) */
|
|
39
|
+
getLatestTag(): Promise<string | null>;
|
|
40
|
+
/** Get commits since a specific tag or commit */
|
|
41
|
+
getCommitsSince(ref: string): Promise<Array<{
|
|
42
|
+
sha: string;
|
|
43
|
+
message: string;
|
|
44
|
+
}>>;
|
|
45
|
+
/** Create an annotated tag */
|
|
46
|
+
createTag(name: string, message: string): Promise<void>;
|
|
47
|
+
/** Check if a tag exists */
|
|
48
|
+
tagExists(name: string): Promise<boolean>;
|
|
49
|
+
/** Get diff between current branch and a base branch */
|
|
50
|
+
diff(base: string): Promise<string>;
|
|
38
51
|
}
|
|
39
52
|
/**
|
|
40
53
|
* Create a Git adapter for the specified repository
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/git-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,+BAA+B;AAC/B,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,8BAA8B;IAC9B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,kBAAkB;IAClB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,sBAAsB;IACtB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC,qBAAqB;IACrB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E,4BAA4B;IAC5B,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7B,6BAA6B;IAC7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7C,0BAA0B;IAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,4BAA4B;IAC5B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAI3D,iDAAiD;IACjD,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D,wBAAwB;IACxB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C,yBAAyB;IACzB,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAElE,0DAA0D;IAC1D,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"git-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/git-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,+BAA+B;AAC/B,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,8BAA8B;IAC9B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,kBAAkB;IAClB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,sBAAsB;IACtB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC,qBAAqB;IACrB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E,4BAA4B;IAC5B,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7B,6BAA6B;IAC7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7C,0BAA0B;IAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,4BAA4B;IAC5B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAI3D,iDAAiD;IACjD,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D,wBAAwB;IACxB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C,yBAAyB;IACzB,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAElE,0DAA0D;IAC1D,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAIvC,4CAA4C;IAC5C,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEvC,iDAAiD;IACjD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAE/E,8BAA8B;IAC9B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,4BAA4B;IAC5B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C,wDAAwD;IACxD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAmL7D"}
|
|
@@ -103,6 +103,67 @@ export function createGitAdapter(repoPath) {
|
|
|
103
103
|
const toplevel = await git.revparse(['--show-toplevel']);
|
|
104
104
|
return toplevel.trim();
|
|
105
105
|
},
|
|
106
|
+
// Tag operations (for releases)
|
|
107
|
+
async getLatestTag() {
|
|
108
|
+
try {
|
|
109
|
+
// Get tags sorted by version (semver)
|
|
110
|
+
const result = await git.raw(['tag', '-l', 'v*', '--sort=-v:refname']);
|
|
111
|
+
const tags = result.trim().split('\n').filter(Boolean);
|
|
112
|
+
return tags.length > 0 ? tags[0] : null;
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
async getCommitsSince(ref) {
|
|
119
|
+
try {
|
|
120
|
+
// Get commits from ref to HEAD
|
|
121
|
+
const result = await git.raw([
|
|
122
|
+
'log',
|
|
123
|
+
`${ref}..HEAD`,
|
|
124
|
+
'--pretty=format:%H|%s',
|
|
125
|
+
]);
|
|
126
|
+
if (!result.trim()) {
|
|
127
|
+
return [];
|
|
128
|
+
}
|
|
129
|
+
return result.trim().split('\n').map(line => {
|
|
130
|
+
const [sha, ...messageParts] = line.split('|');
|
|
131
|
+
return { sha, message: messageParts.join('|') };
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
// If ref doesn't exist, get all commits
|
|
136
|
+
const result = await git.raw(['log', '--pretty=format:%H|%s']);
|
|
137
|
+
return result.trim().split('\n').map(line => {
|
|
138
|
+
const [sha, ...messageParts] = line.split('|');
|
|
139
|
+
return { sha, message: messageParts.join('|') };
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
async createTag(name, message) {
|
|
144
|
+
await git.tag(['-a', name, '-m', message]);
|
|
145
|
+
},
|
|
146
|
+
async tagExists(name) {
|
|
147
|
+
try {
|
|
148
|
+
await git.raw(['rev-parse', name]);
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
async diff(base) {
|
|
156
|
+
try {
|
|
157
|
+
// Get diff between base and HEAD
|
|
158
|
+
const result = await git.diff([`${base}...HEAD`]);
|
|
159
|
+
return result;
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
// Fallback: try without the three-dot notation
|
|
163
|
+
const result = await git.diff([base]);
|
|
164
|
+
return result;
|
|
165
|
+
}
|
|
166
|
+
},
|
|
106
167
|
};
|
|
107
168
|
}
|
|
108
169
|
//# sourceMappingURL=git-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-adapter.js","sourceRoot":"","sources":["../../src/adapters/git-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAkB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"git-adapter.js","sourceRoot":"","sources":["../../src/adapters/git-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,8 @@ export interface GitHubAdapter {
|
|
|
27
27
|
}>;
|
|
28
28
|
/** Mark a draft PR as ready for review */
|
|
29
29
|
markPullRequestReady(number: number): Promise<PullRequest>;
|
|
30
|
+
/** Enable auto-merge for a PR (requires repo settings to allow auto-merge) */
|
|
31
|
+
enableAutoMerge(number: number, method?: 'MERGE' | 'SQUASH' | 'REBASE'): Promise<boolean>;
|
|
30
32
|
}
|
|
31
33
|
interface GitHubAdapterOptions {
|
|
32
34
|
owner: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/github-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAA6B,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1E,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,iBAAiB,CAAC,MAAM,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzB,iCAAiC;IACjC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAEpE,iCAAiC;IACjC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAErD,4BAA4B;IAC5B,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpD,yBAAyB;IACzB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExF,+BAA+B;IAC/B,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAC9C,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IAEH,0CAA0C;IAC1C,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"github-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/github-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAA6B,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1E,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,iBAAiB,CAAC,MAAM,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzB,iCAAiC;IACjC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAEpE,iCAAiC;IACjC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAErD,4BAA4B;IAC5B,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpD,yBAAyB;IACzB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExF,+BAA+B;IAC/B,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAC9C,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IAEH,0CAA0C;IAC1C,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3D,8EAA8E;IAC9E,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3F;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAqMhF"}
|
|
@@ -136,6 +136,44 @@ export function createGitHubAdapter(options) {
|
|
|
136
136
|
draft: data.draft ?? false,
|
|
137
137
|
};
|
|
138
138
|
},
|
|
139
|
+
async enableAutoMerge(number, method = 'SQUASH') {
|
|
140
|
+
// Get the node ID for the PR
|
|
141
|
+
const { data: prData } = await octokit.pulls.get({
|
|
142
|
+
owner,
|
|
143
|
+
repo,
|
|
144
|
+
pull_number: number,
|
|
145
|
+
});
|
|
146
|
+
const nodeId = prData.node_id;
|
|
147
|
+
try {
|
|
148
|
+
// Use GraphQL mutation to enable auto-merge
|
|
149
|
+
await octokit.graphql(`
|
|
150
|
+
mutation($pullRequestId: ID!, $mergeMethod: PullRequestMergeMethod!) {
|
|
151
|
+
enablePullRequestAutoMerge(input: {
|
|
152
|
+
pullRequestId: $pullRequestId,
|
|
153
|
+
mergeMethod: $mergeMethod
|
|
154
|
+
}) {
|
|
155
|
+
pullRequest {
|
|
156
|
+
autoMergeRequest {
|
|
157
|
+
enabledAt
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
`, {
|
|
163
|
+
pullRequestId: nodeId,
|
|
164
|
+
mergeMethod: method,
|
|
165
|
+
});
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
// Auto-merge might fail if:
|
|
170
|
+
// - Repo doesn't have auto-merge enabled
|
|
171
|
+
// - Branch protection rules don't allow it
|
|
172
|
+
// - Required checks haven't been set up
|
|
173
|
+
// In these cases, we silently return false rather than failing
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
},
|
|
139
177
|
};
|
|
140
178
|
}
|
|
141
179
|
//# sourceMappingURL=github-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-adapter.js","sourceRoot":"","sources":["../../src/adapters/github-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"github-adapter.js","sourceRoot":"","sources":["../../src/adapters/github-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;AA4C1E;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAExD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,aAAa,CACrB,UAAU,CAAC,aAAa,EACxB,qEAAqE,EACrE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEhC,OAAO;QACL,KAAK,CAAC,iBAAiB,CAAC,MAAM;YAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC1C,KAAK;gBACL,IAAI;gBACJ,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,IAAI,CAAC,QAAQ;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAA0B;gBACtC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;aAC3B,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,MAAc;YACzC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;gBACxC,KAAK;gBACL,IAAI;gBACJ,IAAI,EAAE,GAAG,KAAK,IAAI,MAAM,EAAE;gBAC1B,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,OAAO;gBACL,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,GAAG,EAAE,EAAE,CAAC,QAAQ;gBAChB,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,KAAK,EAAE,EAAE,CAAC,KAA0B;gBACpC,SAAS,EAAE,IAAI,EAAE,8EAA8E;gBAC/F,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK;aACzB,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,MAAc;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvC,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,IAAI,CAAC,QAAQ;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,KAA2B;gBACjE,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;aAC3B,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;YACrC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvC,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE;oBACT,MAAM,EAAE,MAAM;iBACf;aACF,CAAC,CAAC;YAEH,4DAA4D;YAC5D,OAAO,IAAyB,CAAC;QACnC,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,SAAwC,OAAO;YACpF,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;gBACxB,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,MAAM;gBACnB,YAAY,EAAE,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,MAAc;YACzC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvC,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;gBAC7B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;YACrE,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;YAC7D,CAAC;YAED,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC;QAChD,CAAC;QAED,KAAK,CAAC,oBAAoB,CAAC,MAAc;YACvC,oEAAoE;YACpE,oCAAoC;YACpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC/C,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YAE9B,qCAAqC;YACrC,MAAM,OAAO,CAAC,OAAO,CAAC;;;;;;;;OAQrB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAEnB,mBAAmB;YACnB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvC,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,IAAI,CAAC,QAAQ;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,KAA2B;gBACjE,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;aAC3B,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,SAAwC,QAAQ;YACpF,6BAA6B;YAC7B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC/C,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YAE9B,IAAI,CAAC;gBACH,4CAA4C;gBAC5C,MAAM,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;SAarB,EAAE;oBACD,aAAa,EAAE,MAAM;oBACrB,WAAW,EAAE,MAAM;iBACpB,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4BAA4B;gBAC5B,yCAAyC;gBACzC,2CAA2C;gBAC3C,wCAAwC;gBACxC,+DAA+D;gBAC/D,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/adapters/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export { createGitAdapter, type GitAdapter } from './git-adapter.js';
|
|
|
5
5
|
export { createGitHubAdapter, type GitHubAdapter } from './github-adapter.js';
|
|
6
6
|
export { createOpenSpecAdapter, type OpenSpecAdapter } from './openspec-adapter.js';
|
|
7
7
|
export { type EnvironmentAdapter, type EnvironmentRegistry, type BootstrapStrategy, type DetectionResult, type BootstrapResult, type MonorepoInfo, type WorkspacePackage, createEnvironmentRegistry, createDefaultEnvironmentRegistry, createNodejsAdapter, createPythonAdapter, createGoAdapter, createRustAdapter, detectMonorepo, patchTsconfigForMonorepo, } from './environment-adapter.js';
|
|
8
|
-
export { createClaudeCliAdapter, generateImplementationPrompt,
|
|
8
|
+
export { createClaudeCliAdapter, generateImplementationPrompt, generateTaskGenerationPrompt, parseTaskGenerationResponse, type ClaudeCliAdapter, type ClaudeCliOptions, type ClaudeCliResult, } from './claude-cli-adapter.js';
|
|
9
9
|
export { createClaudeSdkAdapter, generateAgenticSystemPrompt, type ClaudeSdkAdapter, type AgenticLoopOptions, type AgenticLoopResult, } from './claude-sdk-adapter.js';
|
|
10
10
|
export { createCursorAdapter, type CursorAdapter, type CursorResult, } from './cursor-adapter.js';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGpF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGpF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC"}
|
package/dist/adapters/index.js
CHANGED
|
@@ -7,7 +7,7 @@ export { createOpenSpecAdapter } from './openspec-adapter.js';
|
|
|
7
7
|
// Environment adapters for worktree setup
|
|
8
8
|
export { createEnvironmentRegistry, createDefaultEnvironmentRegistry, createNodejsAdapter, createPythonAdapter, createGoAdapter, createRustAdapter, detectMonorepo, patchTsconfigForMonorepo, } from './environment-adapter.js';
|
|
9
9
|
// AI/Implementation adapters
|
|
10
|
-
export { createClaudeCliAdapter, generateImplementationPrompt,
|
|
10
|
+
export { createClaudeCliAdapter, generateImplementationPrompt, generateTaskGenerationPrompt, parseTaskGenerationResponse, } from './claude-cli-adapter.js';
|
|
11
11
|
export { createClaudeSdkAdapter, generateAgenticSystemPrompt, } from './claude-sdk-adapter.js';
|
|
12
12
|
export { createCursorAdapter, } from './cursor-adapter.js';
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAwB,MAAM,uBAAuB,CAAC;AAEpF,0CAA0C;AAC1C,OAAO,EAQL,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,6BAA6B;AAC7B,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAwB,MAAM,uBAAuB,CAAC;AAEpF,0CAA0C;AAC1C,OAAO,EAQL,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,6BAA6B;AAC7B,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,GAI5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAI5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,GAGpB,MAAM,qBAAqB,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -20,6 +20,25 @@ export interface WorktreeConfig {
|
|
|
20
20
|
environments?: Record<string, EnvironmentBootstrapConfig>;
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
+
/** Auto-release configuration by version bump type */
|
|
24
|
+
export interface ReleaseAutoConfig {
|
|
25
|
+
/** Auto-release for patch bumps (default: true) */
|
|
26
|
+
patch?: boolean;
|
|
27
|
+
/** Auto-release for minor bumps (default: true) */
|
|
28
|
+
minor?: boolean;
|
|
29
|
+
/** Auto-release for major bumps (default: false - requires manual) */
|
|
30
|
+
major?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/** Release configuration */
|
|
33
|
+
export interface ReleaseConfig {
|
|
34
|
+
/**
|
|
35
|
+
* Auto-release configuration.
|
|
36
|
+
* - If boolean: enables/disables auto-release for all types (except major)
|
|
37
|
+
* - If object: fine-grained control per bump type
|
|
38
|
+
* Default: { patch: true, minor: true, major: false }
|
|
39
|
+
*/
|
|
40
|
+
auto?: ReleaseAutoConfig | boolean;
|
|
41
|
+
}
|
|
23
42
|
/** SpecLife configuration schema */
|
|
24
43
|
export interface SpecLifeConfig {
|
|
25
44
|
/** OpenSpec directory location (default: "openspec") */
|
|
@@ -46,7 +65,13 @@ export interface SpecLifeConfig {
|
|
|
46
65
|
worktree: WorktreeConfig;
|
|
47
66
|
/** Create draft PR during init (default: true) */
|
|
48
67
|
createDraftPR: boolean;
|
|
68
|
+
/** Release configuration */
|
|
69
|
+
release: ReleaseConfig;
|
|
49
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Check if auto-release is allowed for a given bump type
|
|
73
|
+
*/
|
|
74
|
+
export declare function isAutoReleaseAllowed(config: SpecLifeConfig, bumpType: 'major' | 'minor' | 'patch'): boolean;
|
|
50
75
|
/**
|
|
51
76
|
* Load configuration from standard locations
|
|
52
77
|
*
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAA6B,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,8CAA8C;AAC9C,MAAM,WAAW,0BAA0B;IACzC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,6BAA6B;AAC7B,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,SAAS,EAAE;QACT,sDAAsD;QACtD,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,gCAAgC;QAChC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;KAC3D,CAAC;CACH;AAED,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAEhB,yBAAyB;IACzB,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE3C,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAEhB,yEAAyE;IACzE,aAAa,EAAE,aAAa,CAAC;IAE7B,2BAA2B;IAC3B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IAEpB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,6BAA6B;IAC7B,QAAQ,EAAE,cAAc,CAAC;IAEzB,kDAAkD;IAClD,aAAa,EAAE,OAAO,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAA6B,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,8CAA8C;AAC9C,MAAM,WAAW,0BAA0B;IACzC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,6BAA6B;AAC7B,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,SAAS,EAAE;QACT,sDAAsD;QACtD,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,gCAAgC;QAChC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;KAC3D,CAAC;CACH;AAED,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,4BAA4B;AAC5B,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;CACpC;AAED,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAEhB,yBAAyB;IACzB,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE3C,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAEhB,yEAAyE;IACzE,aAAa,EAAE,aAAa,CAAC;IAE7B,2BAA2B;IAC3B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IAEpB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,6BAA6B;IAC7B,QAAQ,EAAE,cAAc,CAAC;IAEzB,kDAAkD;IAClD,aAAa,EAAE,OAAO,CAAC;IAEvB,4BAA4B;IAC5B,OAAO,EAAE,aAAa,CAAC;CACxB;AA+BD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GACpC,OAAO,CAaT;AA6BD;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAyDrF"}
|
package/dist/config.js
CHANGED
|
@@ -3,6 +3,43 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { cosmiconfig } from 'cosmiconfig';
|
|
5
5
|
import { SpecLifeError, ErrorCodes } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Merge auto-release configuration
|
|
8
|
+
* Handles both boolean and object forms
|
|
9
|
+
*/
|
|
10
|
+
function mergeAutoReleaseConfig(defaultConfig, userConfig) {
|
|
11
|
+
// If user provided boolean, expand it
|
|
12
|
+
if (typeof userConfig === 'boolean') {
|
|
13
|
+
return {
|
|
14
|
+
patch: userConfig,
|
|
15
|
+
minor: userConfig,
|
|
16
|
+
major: false, // Major always defaults to false for safety
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
// If user provided object, merge with defaults
|
|
20
|
+
const defaultObj = typeof defaultConfig === 'boolean'
|
|
21
|
+
? { patch: defaultConfig, minor: defaultConfig, major: false }
|
|
22
|
+
: defaultConfig ?? {};
|
|
23
|
+
return {
|
|
24
|
+
patch: userConfig?.patch ?? defaultObj.patch ?? true,
|
|
25
|
+
minor: userConfig?.minor ?? defaultObj.minor ?? true,
|
|
26
|
+
major: userConfig?.major ?? defaultObj.major ?? false,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Check if auto-release is allowed for a given bump type
|
|
31
|
+
*/
|
|
32
|
+
export function isAutoReleaseAllowed(config, bumpType) {
|
|
33
|
+
const autoConfig = config.release?.auto;
|
|
34
|
+
if (autoConfig === undefined) {
|
|
35
|
+
// Default: auto for patch/minor, manual for major
|
|
36
|
+
return bumpType !== 'major';
|
|
37
|
+
}
|
|
38
|
+
if (typeof autoConfig === 'boolean') {
|
|
39
|
+
return bumpType === 'major' ? false : autoConfig;
|
|
40
|
+
}
|
|
41
|
+
return autoConfig[bumpType] ?? (bumpType !== 'major');
|
|
42
|
+
}
|
|
6
43
|
/** Default configuration values */
|
|
7
44
|
const defaults = {
|
|
8
45
|
specDir: 'openspec',
|
|
@@ -21,6 +58,13 @@ const defaults = {
|
|
|
21
58
|
},
|
|
22
59
|
},
|
|
23
60
|
createDraftPR: true,
|
|
61
|
+
release: {
|
|
62
|
+
auto: {
|
|
63
|
+
patch: true,
|
|
64
|
+
minor: true,
|
|
65
|
+
major: false,
|
|
66
|
+
},
|
|
67
|
+
},
|
|
24
68
|
};
|
|
25
69
|
/**
|
|
26
70
|
* Load configuration from standard locations
|
|
@@ -61,6 +105,11 @@ export async function loadConfig(cwd = process.cwd()) {
|
|
|
61
105
|
...fileConfig.worktree?.bootstrap,
|
|
62
106
|
},
|
|
63
107
|
},
|
|
108
|
+
release: {
|
|
109
|
+
...defaults.release,
|
|
110
|
+
...fileConfig.release,
|
|
111
|
+
auto: mergeAutoReleaseConfig(defaults.release?.auto, fileConfig.release?.auto),
|
|
112
|
+
},
|
|
64
113
|
};
|
|
65
114
|
// Apply environment variable overrides
|
|
66
115
|
if (process.env.SPECLIFE_AI_PROVIDER) {
|