ai-sdlc 0.2.0-alpha.2 → 0.2.0-alpha.20
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/agents/implementation.d.ts +62 -0
- package/dist/agents/implementation.d.ts.map +1 -1
- package/dist/agents/implementation.js +502 -89
- package/dist/agents/implementation.js.map +1 -1
- package/dist/agents/planning.js +2 -2
- package/dist/agents/planning.js.map +1 -1
- package/dist/agents/refinement.js +2 -2
- package/dist/agents/refinement.js.map +1 -1
- package/dist/agents/research.js +2 -2
- package/dist/agents/research.js.map +1 -1
- package/dist/agents/review.d.ts +12 -0
- package/dist/agents/review.d.ts.map +1 -1
- package/dist/agents/review.js +100 -9
- package/dist/agents/review.js.map +1 -1
- package/dist/agents/rework.js +3 -3
- package/dist/agents/rework.js.map +1 -1
- package/dist/agents/state-assessor.d.ts +3 -3
- package/dist/agents/state-assessor.d.ts.map +1 -1
- package/dist/agents/state-assessor.js +6 -6
- package/dist/agents/state-assessor.js.map +1 -1
- package/dist/agents/verification.d.ts +11 -0
- package/dist/agents/verification.d.ts.map +1 -1
- package/dist/agents/verification.js +74 -1
- package/dist/agents/verification.js.map +1 -1
- package/dist/cli/commands/migrate.js +1 -1
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands.d.ts +30 -1
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +637 -171
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +23 -10
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/formatting.js +1 -1
- package/dist/cli/formatting.js.map +1 -1
- package/dist/cli/runner.d.ts.map +1 -1
- package/dist/cli/runner.js +39 -20
- package/dist/cli/runner.js.map +1 -1
- package/dist/core/auth.d.ts +51 -2
- package/dist/core/auth.d.ts.map +1 -1
- package/dist/core/auth.js +267 -7
- package/dist/core/auth.js.map +1 -1
- package/dist/core/client.d.ts +6 -0
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +34 -2
- package/dist/core/client.js.map +1 -1
- package/dist/core/config.d.ts +36 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +161 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/conflict-detector.d.ts +108 -0
- package/dist/core/conflict-detector.d.ts.map +1 -0
- package/dist/core/conflict-detector.js +413 -0
- package/dist/core/conflict-detector.js.map +1 -0
- package/dist/core/git-utils.d.ts +28 -0
- package/dist/core/git-utils.d.ts.map +1 -0
- package/dist/core/git-utils.js +146 -0
- package/dist/core/git-utils.js.map +1 -0
- package/dist/core/index.d.ts +16 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +16 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/kanban.d.ts +1 -6
- package/dist/core/kanban.d.ts.map +1 -1
- package/dist/core/kanban.js +10 -49
- package/dist/core/kanban.js.map +1 -1
- package/dist/core/logger.d.ts +92 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +221 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/story.d.ts +108 -20
- package/dist/core/story.d.ts.map +1 -1
- package/dist/core/story.js +340 -59
- package/dist/core/story.js.map +1 -1
- package/dist/core/workflow-state.d.ts +45 -6
- package/dist/core/workflow-state.d.ts.map +1 -1
- package/dist/core/workflow-state.js +185 -12
- package/dist/core/workflow-state.js.map +1 -1
- package/dist/core/worktree.d.ts +77 -0
- package/dist/core/worktree.d.ts.map +1 -0
- package/dist/core/worktree.js +246 -0
- package/dist/core/worktree.js.map +1 -0
- package/dist/index.js +49 -3
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +101 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { spawnSync } from 'child_process';
|
|
2
|
+
import { existsSync } from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { isCleanWorkingDirectory } from './git-utils.js';
|
|
5
|
+
/** Default patterns to exclude from working directory cleanliness checks */
|
|
6
|
+
const DEFAULT_EXCLUDE_PATTERNS = ['.ai-sdlc/**'];
|
|
7
|
+
/**
|
|
8
|
+
* Error messages used by the worktree service
|
|
9
|
+
*/
|
|
10
|
+
const ERROR_MESSAGES = {
|
|
11
|
+
UNCOMMITTED_CHANGES: 'Uncommitted changes exist. Commit or stash before using worktrees.',
|
|
12
|
+
PATH_EXISTS: 'Worktree path already exists',
|
|
13
|
+
CREATE_FAILED: 'Failed to create worktree',
|
|
14
|
+
NO_BASE_BRANCH: 'Could not detect base branch (main or master)',
|
|
15
|
+
NOT_GIT_REPO: 'Not a git repository',
|
|
16
|
+
BRANCH_EXISTS: 'A branch with this name already exists',
|
|
17
|
+
WORKTREE_NOT_FOUND: 'Worktree not found',
|
|
18
|
+
WORKTREE_HAS_CHANGES: 'Worktree has uncommitted changes. Use --force to remove.',
|
|
19
|
+
LIST_FAILED: 'Failed to list worktrees',
|
|
20
|
+
REMOVE_FAILED: 'Failed to remove worktree',
|
|
21
|
+
INSTALL_FAILED: 'Failed to install dependencies',
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Lock file to package manager mapping
|
|
25
|
+
*/
|
|
26
|
+
const LOCK_FILE_TO_PM = {
|
|
27
|
+
'package-lock.json': 'npm',
|
|
28
|
+
'yarn.lock': 'yarn',
|
|
29
|
+
'pnpm-lock.yaml': 'pnpm',
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Service for managing git worktrees for isolated story execution
|
|
33
|
+
*/
|
|
34
|
+
export class GitWorktreeService {
|
|
35
|
+
projectRoot;
|
|
36
|
+
worktreeBasePath;
|
|
37
|
+
constructor(projectRoot, worktreeBasePath) {
|
|
38
|
+
this.projectRoot = projectRoot;
|
|
39
|
+
this.worktreeBasePath = worktreeBasePath;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Generate the worktree path for a story
|
|
43
|
+
* Format: {worktreeBasePath}/{storyId}-{slug}
|
|
44
|
+
*/
|
|
45
|
+
getWorktreePath(storyId, slug) {
|
|
46
|
+
return path.join(this.worktreeBasePath, `${storyId}-${slug}`);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Generate the branch name for a worktree
|
|
50
|
+
* Format: ai-sdlc/{storyId}-{slug}
|
|
51
|
+
*/
|
|
52
|
+
getBranchName(storyId, slug) {
|
|
53
|
+
return `ai-sdlc/${storyId}-${slug}`;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Detect the base branch (main or master) for branching
|
|
57
|
+
* @returns The detected base branch name
|
|
58
|
+
* @throws Error if neither main nor master exists
|
|
59
|
+
*/
|
|
60
|
+
detectBaseBranch() {
|
|
61
|
+
// Check for 'main' first
|
|
62
|
+
const mainResult = spawnSync('git', ['rev-parse', '--verify', 'main'], {
|
|
63
|
+
cwd: this.projectRoot,
|
|
64
|
+
encoding: 'utf-8',
|
|
65
|
+
shell: false,
|
|
66
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
67
|
+
});
|
|
68
|
+
if (mainResult.status === 0) {
|
|
69
|
+
return 'main';
|
|
70
|
+
}
|
|
71
|
+
// Check for 'master' as fallback
|
|
72
|
+
const masterResult = spawnSync('git', ['rev-parse', '--verify', 'master'], {
|
|
73
|
+
cwd: this.projectRoot,
|
|
74
|
+
encoding: 'utf-8',
|
|
75
|
+
shell: false,
|
|
76
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
77
|
+
});
|
|
78
|
+
if (masterResult.status === 0) {
|
|
79
|
+
return 'master';
|
|
80
|
+
}
|
|
81
|
+
throw new Error(ERROR_MESSAGES.NO_BASE_BRANCH);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Validate that a worktree can be created
|
|
85
|
+
* Checks for uncommitted changes in the working directory
|
|
86
|
+
* Note: Changes in .ai-sdlc/ directory are excluded since they're expected
|
|
87
|
+
* during normal workflow (story file updates, etc.)
|
|
88
|
+
*/
|
|
89
|
+
validateCanCreateWorktree() {
|
|
90
|
+
const cleanCheckOptions = {
|
|
91
|
+
excludePatterns: DEFAULT_EXCLUDE_PATTERNS,
|
|
92
|
+
};
|
|
93
|
+
if (!isCleanWorkingDirectory(this.projectRoot, cleanCheckOptions)) {
|
|
94
|
+
return {
|
|
95
|
+
valid: false,
|
|
96
|
+
error: ERROR_MESSAGES.UNCOMMITTED_CHANGES,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return { valid: true };
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Check if a worktree already exists at the given path
|
|
103
|
+
*/
|
|
104
|
+
exists(worktreePath) {
|
|
105
|
+
return existsSync(worktreePath);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Create a new git worktree for isolated story execution
|
|
109
|
+
* @param options - Worktree creation options
|
|
110
|
+
* @returns The path to the created worktree
|
|
111
|
+
* @throws Error if worktree creation fails
|
|
112
|
+
*/
|
|
113
|
+
create(options) {
|
|
114
|
+
const worktreePath = this.getWorktreePath(options.storyId, options.slug);
|
|
115
|
+
const branchName = this.getBranchName(options.storyId, options.slug);
|
|
116
|
+
const baseBranch = options.baseBranch || this.detectBaseBranch();
|
|
117
|
+
// Check if worktree path already exists
|
|
118
|
+
if (this.exists(worktreePath)) {
|
|
119
|
+
throw new Error(`${ERROR_MESSAGES.PATH_EXISTS}: ${worktreePath}`);
|
|
120
|
+
}
|
|
121
|
+
// Execute git worktree add command
|
|
122
|
+
const result = spawnSync('git', ['worktree', 'add', '-b', branchName, worktreePath, baseBranch], {
|
|
123
|
+
cwd: this.projectRoot,
|
|
124
|
+
encoding: 'utf-8',
|
|
125
|
+
shell: false,
|
|
126
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
127
|
+
});
|
|
128
|
+
// Handle errors
|
|
129
|
+
if (result.status !== 0) {
|
|
130
|
+
const stderr = result.stderr?.toString() || '';
|
|
131
|
+
// Provide specific error messages for common failures
|
|
132
|
+
if (stderr.includes('not a git repository')) {
|
|
133
|
+
throw new Error(ERROR_MESSAGES.NOT_GIT_REPO);
|
|
134
|
+
}
|
|
135
|
+
if (stderr.includes('already exists')) {
|
|
136
|
+
throw new Error(`${ERROR_MESSAGES.BRANCH_EXISTS}: ${branchName}`);
|
|
137
|
+
}
|
|
138
|
+
// Generic error with stderr details
|
|
139
|
+
throw new Error(`${ERROR_MESSAGES.CREATE_FAILED}: ${stderr}`);
|
|
140
|
+
}
|
|
141
|
+
// Install dependencies in the new worktree
|
|
142
|
+
this.installDependencies(worktreePath);
|
|
143
|
+
return worktreePath;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Install npm dependencies in a worktree
|
|
147
|
+
* Detects the package manager (npm/yarn/pnpm) and runs the appropriate install command
|
|
148
|
+
* @param worktreePath - Path to the worktree
|
|
149
|
+
* @throws Error if installation fails
|
|
150
|
+
*/
|
|
151
|
+
installDependencies(worktreePath) {
|
|
152
|
+
const packageJsonPath = path.join(worktreePath, 'package.json');
|
|
153
|
+
// Skip if not a Node.js project
|
|
154
|
+
if (!existsSync(packageJsonPath)) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
// Detect package manager from lock file
|
|
158
|
+
let packageManager = 'npm'; // default
|
|
159
|
+
for (const [lockFile, pm] of Object.entries(LOCK_FILE_TO_PM)) {
|
|
160
|
+
if (existsSync(path.join(worktreePath, lockFile))) {
|
|
161
|
+
packageManager = pm;
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// Run install command
|
|
166
|
+
const result = spawnSync(packageManager, ['install'], {
|
|
167
|
+
cwd: worktreePath,
|
|
168
|
+
encoding: 'utf-8',
|
|
169
|
+
shell: false,
|
|
170
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
171
|
+
timeout: 120000, // 2 minute timeout
|
|
172
|
+
});
|
|
173
|
+
if (result.status !== 0) {
|
|
174
|
+
const stderr = result.stderr?.toString() || '';
|
|
175
|
+
throw new Error(`${ERROR_MESSAGES.INSTALL_FAILED}: ${stderr}`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* List all ai-sdlc managed worktrees
|
|
180
|
+
* @returns Array of WorktreeInfo objects for worktrees in the basePath
|
|
181
|
+
*/
|
|
182
|
+
list() {
|
|
183
|
+
const result = spawnSync('git', ['worktree', 'list', '--porcelain'], {
|
|
184
|
+
cwd: this.projectRoot,
|
|
185
|
+
encoding: 'utf-8',
|
|
186
|
+
shell: false,
|
|
187
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
188
|
+
});
|
|
189
|
+
if (result.status !== 0) {
|
|
190
|
+
throw new Error(`${ERROR_MESSAGES.LIST_FAILED}: ${result.stderr}`);
|
|
191
|
+
}
|
|
192
|
+
const output = result.stdout || '';
|
|
193
|
+
const worktrees = [];
|
|
194
|
+
const blocks = output.trim().split('\n\n');
|
|
195
|
+
for (const block of blocks) {
|
|
196
|
+
if (!block.trim())
|
|
197
|
+
continue;
|
|
198
|
+
const lines = block.split('\n');
|
|
199
|
+
let worktreePath = '';
|
|
200
|
+
let branch = '';
|
|
201
|
+
for (const line of lines) {
|
|
202
|
+
if (line.startsWith('worktree ')) {
|
|
203
|
+
worktreePath = line.substring(9);
|
|
204
|
+
}
|
|
205
|
+
else if (line.startsWith('branch ')) {
|
|
206
|
+
branch = line.substring(7).replace('refs/heads/', '');
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// Filter to only ai-sdlc managed worktrees
|
|
210
|
+
if (worktreePath && worktreePath.startsWith(this.worktreeBasePath)) {
|
|
211
|
+
const storyIdMatch = branch.match(/^ai-sdlc\/(S-\d+)-/);
|
|
212
|
+
worktrees.push({
|
|
213
|
+
path: worktreePath,
|
|
214
|
+
branch,
|
|
215
|
+
storyId: storyIdMatch ? storyIdMatch[1] : undefined,
|
|
216
|
+
exists: existsSync(worktreePath),
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return worktrees;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Remove a git worktree
|
|
224
|
+
* @param worktreePath - Absolute path to the worktree to remove
|
|
225
|
+
* @throws Error if removal fails
|
|
226
|
+
*/
|
|
227
|
+
remove(worktreePath) {
|
|
228
|
+
const result = spawnSync('git', ['worktree', 'remove', worktreePath], {
|
|
229
|
+
cwd: this.projectRoot,
|
|
230
|
+
encoding: 'utf-8',
|
|
231
|
+
shell: false,
|
|
232
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
233
|
+
});
|
|
234
|
+
if (result.status !== 0) {
|
|
235
|
+
const stderr = result.stderr?.toString() || '';
|
|
236
|
+
if (stderr.includes('not a working tree')) {
|
|
237
|
+
throw new Error(ERROR_MESSAGES.WORKTREE_NOT_FOUND);
|
|
238
|
+
}
|
|
239
|
+
if (stderr.includes('modified or untracked files')) {
|
|
240
|
+
throw new Error(ERROR_MESSAGES.WORKTREE_HAS_CHANGES);
|
|
241
|
+
}
|
|
242
|
+
throw new Error(`${ERROR_MESSAGES.REMOVE_FAILED}: ${stderr}`);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=worktree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../src/core/worktree.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from 'commander';
|
|
3
|
-
import {
|
|
3
|
+
import { createRequire } from 'module';
|
|
4
|
+
import { init, status, add, run, details, unblock, migrate, listWorktrees, addWorktree, removeWorktree } from './cli/commands.js';
|
|
4
5
|
import { hasApiKey } from './core/auth.js';
|
|
5
|
-
import { loadConfig, saveConfig } from './core/config.js';
|
|
6
|
+
import { loadConfig, saveConfig, DEFAULT_LOGGING_CONFIG } from './core/config.js';
|
|
6
7
|
import { getThemedChalk } from './core/theme.js';
|
|
8
|
+
import { initLogger } from './core/logger.js';
|
|
9
|
+
const require = createRequire(import.meta.url);
|
|
10
|
+
const packageJson = require('../package.json');
|
|
7
11
|
// Check for API key when running commands that need it
|
|
8
12
|
function checkApiKey() {
|
|
9
13
|
if (!hasApiKey()) {
|
|
@@ -24,7 +28,7 @@ const program = new Command();
|
|
|
24
28
|
program
|
|
25
29
|
.name('ai-sdlc')
|
|
26
30
|
.description('Agent-first SDLC workflow manager')
|
|
27
|
-
.version(
|
|
31
|
+
.version(packageJson.version);
|
|
28
32
|
program
|
|
29
33
|
.command('init')
|
|
30
34
|
.description('Initialize .ai-sdlc folder structure')
|
|
@@ -66,10 +70,38 @@ program
|
|
|
66
70
|
.option('--max-iterations <number>', 'Maximum retry iterations (default: infinite)')
|
|
67
71
|
.option('--watch', 'Run in daemon mode, continuously processing backlog')
|
|
68
72
|
.option('-v, --verbose', 'Show detailed daemon output (use with --watch)')
|
|
73
|
+
.option('--force', 'Skip git validation checks (use with caution)')
|
|
74
|
+
.option('--worktree', 'Create isolated git worktree for story execution (requires --story)')
|
|
75
|
+
.option('--no-worktree', 'Disable worktree even when enabled in config')
|
|
76
|
+
.option('--log-level <level>', 'Set log verbosity (debug, info, warn, error)', 'info')
|
|
69
77
|
.action((options) => {
|
|
70
78
|
if (!options.dryRun && !options.watch) {
|
|
71
79
|
checkApiKey();
|
|
72
80
|
}
|
|
81
|
+
// Initialize logger with config and CLI override
|
|
82
|
+
const config = loadConfig();
|
|
83
|
+
const logConfig = {
|
|
84
|
+
...DEFAULT_LOGGING_CONFIG,
|
|
85
|
+
...config.logging,
|
|
86
|
+
};
|
|
87
|
+
// CLI --log-level overrides config
|
|
88
|
+
if (options.logLevel) {
|
|
89
|
+
const validLevels = ['debug', 'info', 'warn', 'error'];
|
|
90
|
+
if (validLevels.includes(options.logLevel)) {
|
|
91
|
+
logConfig.level = options.logLevel;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
const c = getThemedChalk(config);
|
|
95
|
+
console.log(c.warning(`Invalid log level "${options.logLevel}", using "${logConfig.level}"`));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
initLogger(process.cwd(), logConfig);
|
|
99
|
+
// Validate --worktree requires --story
|
|
100
|
+
if (options.worktree && !options.story) {
|
|
101
|
+
const c = getThemedChalk(config);
|
|
102
|
+
console.log(c.error('Error: --worktree requires --story flag'));
|
|
103
|
+
process.exit(1);
|
|
104
|
+
}
|
|
73
105
|
return run(options);
|
|
74
106
|
});
|
|
75
107
|
program
|
|
@@ -113,5 +145,19 @@ program
|
|
|
113
145
|
console.log(c.dim('Available keys: theme'));
|
|
114
146
|
}
|
|
115
147
|
});
|
|
148
|
+
// Worktree management commands
|
|
149
|
+
program
|
|
150
|
+
.command('worktrees')
|
|
151
|
+
.description('List managed worktrees')
|
|
152
|
+
.action(listWorktrees);
|
|
153
|
+
program
|
|
154
|
+
.command('worktrees:add <story-id>')
|
|
155
|
+
.description('Create a worktree for a story')
|
|
156
|
+
.action(addWorktree);
|
|
157
|
+
program
|
|
158
|
+
.command('worktrees:remove <story-id>')
|
|
159
|
+
.description('Remove a worktree for a story')
|
|
160
|
+
.option('--force', 'Skip confirmation prompt')
|
|
161
|
+
.action((storyId, options) => removeWorktree(storyId, options));
|
|
116
162
|
program.parse();
|
|
117
163
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -82,6 +82,7 @@ export interface StoryFrontmatter {
|
|
|
82
82
|
reviews_complete: boolean;
|
|
83
83
|
pr_url?: string;
|
|
84
84
|
branch?: string;
|
|
85
|
+
worktree_path?: string;
|
|
85
86
|
last_error?: string;
|
|
86
87
|
refinement_iterations?: RefinementIteration[];
|
|
87
88
|
refinement_count?: number;
|
|
@@ -91,6 +92,8 @@ export interface StoryFrontmatter {
|
|
|
91
92
|
last_restart_reason?: string;
|
|
92
93
|
last_restart_timestamp?: string;
|
|
93
94
|
review_history?: ReviewAttempt[];
|
|
95
|
+
implementation_retry_count?: number;
|
|
96
|
+
max_implementation_retries?: number;
|
|
94
97
|
blocked_reason?: string;
|
|
95
98
|
blocked_at?: string;
|
|
96
99
|
tdd_enabled?: boolean;
|
|
@@ -193,6 +196,15 @@ export interface ReviewConfig {
|
|
|
193
196
|
autoCompleteOnApproval: boolean;
|
|
194
197
|
autoRestartOnRejection: boolean;
|
|
195
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* Implementation retry configuration
|
|
201
|
+
*/
|
|
202
|
+
export interface ImplementationConfig {
|
|
203
|
+
/** Maximum retry attempts when tests fail. @default 3 */
|
|
204
|
+
maxRetries: number;
|
|
205
|
+
/** Hard upper bound for maxRetries. @default 10 */
|
|
206
|
+
maxRetriesUpperBound: number;
|
|
207
|
+
}
|
|
196
208
|
/**
|
|
197
209
|
* Timeout configuration for various operations
|
|
198
210
|
*/
|
|
@@ -223,11 +235,90 @@ export interface DaemonConfig {
|
|
|
223
235
|
/** Max time between Esc presses (ms). @default 500 */
|
|
224
236
|
escTimeout: number;
|
|
225
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* Worktree configuration for isolated story execution
|
|
240
|
+
*/
|
|
241
|
+
export interface WorktreeConfig {
|
|
242
|
+
/** Enable worktrees by default for story execution. @default false */
|
|
243
|
+
enabled: boolean;
|
|
244
|
+
/** Base path for worktree directories relative to project root. @default '.ai-sdlc/worktrees' */
|
|
245
|
+
basePath: string;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Logging configuration for ai-sdlc operations
|
|
249
|
+
*/
|
|
250
|
+
export interface LogConfig {
|
|
251
|
+
/** Enable logging to file. @default true */
|
|
252
|
+
enabled: boolean;
|
|
253
|
+
/** Minimum log level to record. @default 'info' */
|
|
254
|
+
level: 'debug' | 'info' | 'warn' | 'error';
|
|
255
|
+
/** Maximum log file size in MB before rotation. @default 10 */
|
|
256
|
+
maxFileSizeMb: number;
|
|
257
|
+
/** Maximum number of log files to retain. @default 5 */
|
|
258
|
+
maxFiles: number;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* File locking options for atomic story updates
|
|
262
|
+
*/
|
|
263
|
+
export interface LockOptions {
|
|
264
|
+
/** Lock timeout in milliseconds. @default 5000 */
|
|
265
|
+
lockTimeout?: number;
|
|
266
|
+
/** Number of retry attempts. @default 3 */
|
|
267
|
+
retries?: number;
|
|
268
|
+
/** Stale lock threshold in milliseconds. @default matches lockTimeout */
|
|
269
|
+
stale?: number;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Information about a git worktree managed by ai-sdlc
|
|
273
|
+
*/
|
|
274
|
+
export interface WorktreeInfo {
|
|
275
|
+
/** Absolute path to the worktree directory */
|
|
276
|
+
path: string;
|
|
277
|
+
/** Branch name (without refs/heads/ prefix) */
|
|
278
|
+
branch: string;
|
|
279
|
+
/** Story ID extracted from branch name (if ai-sdlc managed) */
|
|
280
|
+
storyId?: string;
|
|
281
|
+
/** Whether the worktree directory exists on filesystem */
|
|
282
|
+
exists: boolean;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Severity level for conflict detection between stories
|
|
286
|
+
*/
|
|
287
|
+
export type ConflictSeverity = 'high' | 'medium' | 'low' | 'none';
|
|
288
|
+
/**
|
|
289
|
+
* Analysis of potential conflicts between two stories
|
|
290
|
+
*/
|
|
291
|
+
export interface ConflictAnalysis {
|
|
292
|
+
/** ID of the first story */
|
|
293
|
+
storyA: string;
|
|
294
|
+
/** ID of the second story */
|
|
295
|
+
storyB: string;
|
|
296
|
+
/** Files modified by both stories */
|
|
297
|
+
sharedFiles: string[];
|
|
298
|
+
/** Directories containing modifications from both stories */
|
|
299
|
+
sharedDirectories: string[];
|
|
300
|
+
/** Severity level of the conflict */
|
|
301
|
+
severity: ConflictSeverity;
|
|
302
|
+
/** Human-readable recommendation for handling the conflict */
|
|
303
|
+
recommendation: string;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Result of conflict detection analysis across multiple stories
|
|
307
|
+
*/
|
|
308
|
+
export interface ConflictDetectionResult {
|
|
309
|
+
/** Pairwise conflict analysis for all story combinations */
|
|
310
|
+
conflicts: ConflictAnalysis[];
|
|
311
|
+
/** Whether it's safe to run all stories concurrently (false if any high-severity conflicts) */
|
|
312
|
+
safeToRunConcurrently: boolean;
|
|
313
|
+
/** Human-readable summary of the conflict detection results */
|
|
314
|
+
summary: string;
|
|
315
|
+
}
|
|
226
316
|
export interface Config {
|
|
227
317
|
sdlcFolder: string;
|
|
228
318
|
stageGates: StageGateConfig;
|
|
229
319
|
refinement: RefinementConfig;
|
|
230
320
|
reviewConfig: ReviewConfig;
|
|
321
|
+
implementation: ImplementationConfig;
|
|
231
322
|
defaultLabels: string[];
|
|
232
323
|
theme: ThemePreference;
|
|
233
324
|
/** Command to run tests (e.g., 'npm test'). If set, runs before review. */
|
|
@@ -261,6 +352,16 @@ export interface Config {
|
|
|
261
352
|
* Controls test-first implementation workflow.
|
|
262
353
|
*/
|
|
263
354
|
tdd?: TDDConfig;
|
|
355
|
+
/**
|
|
356
|
+
* Worktree configuration for isolated story execution.
|
|
357
|
+
* Controls git worktree creation and location.
|
|
358
|
+
*/
|
|
359
|
+
worktree?: WorktreeConfig;
|
|
360
|
+
/**
|
|
361
|
+
* Logging configuration for diagnostics and debugging.
|
|
362
|
+
* Controls log file location, rotation, and verbosity.
|
|
363
|
+
*/
|
|
364
|
+
logging?: LogConfig;
|
|
264
365
|
}
|
|
265
366
|
export interface AgentResult {
|
|
266
367
|
success: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AA8BA;;GAEG;AACH,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;IACrB,mCAAiB,CAAA;AACnB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,uCAAqB,CAAA;AACvB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AA8BA;;GAEG;AACH,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;IACrB,mCAAiB,CAAA;AACnB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,uCAAqB,CAAA;AACvB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAgZD,0BAA0B;AAC1B;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAU,CAAC;AAGnF,iDAAiD;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC;AAErC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvC,iEAAiE;AACjE;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA0D;IACrF,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE,aAAa;IAC5B,MAAM,EAAE,MAAM;CACf,CAAC;AAEF,uBAAuB;AACvB;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsC;IACjE,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE,aAAa;IAC5B,MAAM,EAAE,MAAM;CACf,CAAC;AAEF,8BAA8B;AAC9B,cAAc,qBAAqB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-sdlc",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.20",
|
|
4
4
|
"description": "Agent-first SDLC workflow manager using Claude Agent SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -56,12 +56,14 @@
|
|
|
56
56
|
"glob": "^11.0.0",
|
|
57
57
|
"gray-matter": "^4.0.3",
|
|
58
58
|
"ora": "^8.0.0",
|
|
59
|
+
"proper-lockfile": "^4.1.2",
|
|
59
60
|
"string-width": "^8.1.0",
|
|
60
61
|
"write-file-atomic": "^5.0.1"
|
|
61
62
|
},
|
|
62
63
|
"devDependencies": {
|
|
63
64
|
"@types/chokidar": "^2.1.7",
|
|
64
65
|
"@types/node": "^20.0.0",
|
|
66
|
+
"@types/proper-lockfile": "^4.1.4",
|
|
65
67
|
"@types/write-file-atomic": "^4.0.3",
|
|
66
68
|
"tsx": "^4.0.0",
|
|
67
69
|
"typescript": "^5.3.0",
|