ai-sdlc 0.2.0-alpha.6 → 0.2.0-beta.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.
Files changed (101) hide show
  1. package/README.md +53 -1058
  2. package/dist/agents/implementation.d.ts +6 -0
  3. package/dist/agents/implementation.d.ts.map +1 -1
  4. package/dist/agents/implementation.js +87 -13
  5. package/dist/agents/implementation.js.map +1 -1
  6. package/dist/agents/planning.d.ts.map +1 -1
  7. package/dist/agents/planning.js +22 -3
  8. package/dist/agents/planning.js.map +1 -1
  9. package/dist/agents/refinement.d.ts.map +1 -1
  10. package/dist/agents/refinement.js +22 -3
  11. package/dist/agents/refinement.js.map +1 -1
  12. package/dist/agents/research.d.ts +85 -1
  13. package/dist/agents/research.d.ts.map +1 -1
  14. package/dist/agents/research.js +506 -16
  15. package/dist/agents/research.js.map +1 -1
  16. package/dist/agents/review.d.ts +67 -2
  17. package/dist/agents/review.d.ts.map +1 -1
  18. package/dist/agents/review.js +477 -68
  19. package/dist/agents/review.js.map +1 -1
  20. package/dist/agents/rework.d.ts.map +1 -1
  21. package/dist/agents/rework.js +22 -3
  22. package/dist/agents/rework.js.map +1 -1
  23. package/dist/agents/state-assessor.d.ts +3 -3
  24. package/dist/agents/state-assessor.d.ts.map +1 -1
  25. package/dist/agents/state-assessor.js +6 -6
  26. package/dist/agents/state-assessor.js.map +1 -1
  27. package/dist/agents/test-pattern-detector.d.ts +49 -0
  28. package/dist/agents/test-pattern-detector.d.ts.map +1 -0
  29. package/dist/agents/test-pattern-detector.js +273 -0
  30. package/dist/agents/test-pattern-detector.js.map +1 -0
  31. package/dist/agents/verification.d.ts +11 -0
  32. package/dist/agents/verification.d.ts.map +1 -1
  33. package/dist/agents/verification.js +74 -1
  34. package/dist/agents/verification.js.map +1 -1
  35. package/dist/cli/commands/migrate.js +1 -1
  36. package/dist/cli/commands/migrate.js.map +1 -1
  37. package/dist/cli/commands.d.ts +59 -3
  38. package/dist/cli/commands.d.ts.map +1 -1
  39. package/dist/cli/commands.js +1042 -204
  40. package/dist/cli/commands.js.map +1 -1
  41. package/dist/cli/daemon.d.ts.map +1 -1
  42. package/dist/cli/daemon.js +20 -3
  43. package/dist/cli/daemon.js.map +1 -1
  44. package/dist/cli/runner.d.ts.map +1 -1
  45. package/dist/cli/runner.js +18 -6
  46. package/dist/cli/runner.js.map +1 -1
  47. package/dist/core/auth.d.ts +43 -0
  48. package/dist/core/auth.d.ts.map +1 -1
  49. package/dist/core/auth.js +105 -1
  50. package/dist/core/auth.js.map +1 -1
  51. package/dist/core/client.d.ts +6 -0
  52. package/dist/core/client.d.ts.map +1 -1
  53. package/dist/core/client.js +57 -3
  54. package/dist/core/client.js.map +1 -1
  55. package/dist/core/config.d.ts +24 -1
  56. package/dist/core/config.d.ts.map +1 -1
  57. package/dist/core/config.js +95 -1
  58. package/dist/core/config.js.map +1 -1
  59. package/dist/core/conflict-detector.d.ts +108 -0
  60. package/dist/core/conflict-detector.d.ts.map +1 -0
  61. package/dist/core/conflict-detector.js +413 -0
  62. package/dist/core/conflict-detector.js.map +1 -0
  63. package/dist/core/git-utils.d.ts +28 -0
  64. package/dist/core/git-utils.d.ts.map +1 -0
  65. package/dist/core/git-utils.js +146 -0
  66. package/dist/core/git-utils.js.map +1 -0
  67. package/dist/core/index.d.ts +17 -0
  68. package/dist/core/index.d.ts.map +1 -0
  69. package/dist/core/index.js +17 -0
  70. package/dist/core/index.js.map +1 -0
  71. package/dist/core/kanban.d.ts +1 -1
  72. package/dist/core/kanban.d.ts.map +1 -1
  73. package/dist/core/kanban.js +3 -3
  74. package/dist/core/kanban.js.map +1 -1
  75. package/dist/core/logger.d.ts +92 -0
  76. package/dist/core/logger.d.ts.map +1 -0
  77. package/dist/core/logger.js +221 -0
  78. package/dist/core/logger.js.map +1 -0
  79. package/dist/core/story-logger.d.ts +102 -0
  80. package/dist/core/story-logger.d.ts.map +1 -0
  81. package/dist/core/story-logger.js +265 -0
  82. package/dist/core/story-logger.js.map +1 -0
  83. package/dist/core/story.d.ts +79 -20
  84. package/dist/core/story.d.ts.map +1 -1
  85. package/dist/core/story.js +221 -39
  86. package/dist/core/story.js.map +1 -1
  87. package/dist/core/workflow-state.d.ts +45 -6
  88. package/dist/core/workflow-state.d.ts.map +1 -1
  89. package/dist/core/workflow-state.js +201 -12
  90. package/dist/core/workflow-state.js.map +1 -1
  91. package/dist/core/worktree.d.ts +77 -0
  92. package/dist/core/worktree.d.ts.map +1 -0
  93. package/dist/core/worktree.js +246 -0
  94. package/dist/core/worktree.js.map +1 -0
  95. package/dist/index.js +135 -5
  96. package/dist/index.js.map +1 -1
  97. package/dist/types/index.d.ts +151 -1
  98. package/dist/types/index.d.ts.map +1 -1
  99. package/dist/types/index.js +1 -0
  100. package/dist/types/index.js.map +1 -1
  101. package/package.json +3 -1
package/dist/index.js CHANGED
@@ -1,9 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
- import { init, status, add, run, details, unblock, migrate } from './cli/commands.js';
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, getSdlcRoot } from './core/config.js';
6
7
  import { getThemedChalk } from './core/theme.js';
8
+ import { initLogger, getLogger } from './core/logger.js';
9
+ import { getLatestLogPath, readLastLines, tailLog } from './core/story-logger.js';
10
+ import fs from 'fs';
11
+ import path from 'path';
12
+ const require = createRequire(import.meta.url);
13
+ const packageJson = require('../package.json');
7
14
  // Check for API key when running commands that need it
8
15
  function checkApiKey() {
9
16
  if (!hasApiKey()) {
@@ -24,7 +31,7 @@ const program = new Command();
24
31
  program
25
32
  .name('ai-sdlc')
26
33
  .description('Agent-first SDLC workflow manager')
27
- .version('0.1.0');
34
+ .version(packageJson.version);
28
35
  program
29
36
  .command('init')
30
37
  .description('Initialize .ai-sdlc folder structure')
@@ -35,9 +42,10 @@ program
35
42
  .option('--active', 'Hide done stories from output')
36
43
  .action((options) => status(options));
37
44
  program
38
- .command('add <title>')
45
+ .command('add [title]')
39
46
  .description('Add a new story to the backlog')
40
- .action(add);
47
+ .option('-f, --file <path>', 'Create story from file (supports .md, .txt, .markdown)')
48
+ .action((title, options) => add(title, options));
41
49
  program
42
50
  .command('details <id>')
43
51
  .alias('d')
@@ -66,10 +74,54 @@ program
66
74
  .option('--max-iterations <number>', 'Maximum retry iterations (default: infinite)')
67
75
  .option('--watch', 'Run in daemon mode, continuously processing backlog')
68
76
  .option('-v, --verbose', 'Show detailed daemon output (use with --watch)')
77
+ .option('--force', 'Skip git validation and conflict checks (use with caution)')
78
+ .option('--worktree', 'Create isolated git worktree for story execution (requires --story)')
79
+ .option('--no-worktree', 'Disable worktree even when enabled in config')
80
+ .option('--log-level <level>', 'Set log verbosity (debug, info, warn, error)', 'info')
69
81
  .action((options) => {
70
82
  if (!options.dryRun && !options.watch) {
71
83
  checkApiKey();
72
84
  }
85
+ // Initialize logger with config and CLI override
86
+ const config = loadConfig();
87
+ const logConfig = {
88
+ ...DEFAULT_LOGGING_CONFIG,
89
+ ...config.logging,
90
+ };
91
+ // CLI --log-level overrides config
92
+ if (options.logLevel) {
93
+ const validLevels = ['debug', 'info', 'warn', 'error'];
94
+ if (validLevels.includes(options.logLevel)) {
95
+ logConfig.level = options.logLevel;
96
+ }
97
+ else {
98
+ const c = getThemedChalk(config);
99
+ console.log(c.warning(`Invalid log level "${options.logLevel}", using "${logConfig.level}"`));
100
+ }
101
+ }
102
+ initLogger(process.cwd(), logConfig);
103
+ // Log startup information
104
+ const logger = getLogger();
105
+ logger.info('cli', 'ai-sdlc started', {
106
+ version: packageJson.version,
107
+ command: 'run',
108
+ options: {
109
+ auto: options.auto,
110
+ dryRun: options.dryRun,
111
+ continue: options.continue,
112
+ story: options.story,
113
+ step: options.step,
114
+ worktree: options.worktree,
115
+ watch: options.watch,
116
+ logLevel: logConfig.level,
117
+ },
118
+ });
119
+ // Validate --worktree requires --story
120
+ if (options.worktree && !options.story) {
121
+ const c = getThemedChalk(config);
122
+ console.log(c.error('Error: --worktree requires --story flag'));
123
+ process.exit(1);
124
+ }
73
125
  return run(options);
74
126
  });
75
127
  program
@@ -113,5 +165,83 @@ program
113
165
  console.log(c.dim('Available keys: theme'));
114
166
  }
115
167
  });
168
+ // Logs command
169
+ program
170
+ .command('logs <storyId>')
171
+ .description('View logs for a story')
172
+ .option('-t, --tail', 'Follow log output (like tail -f)')
173
+ .option('-n, --lines <n>', 'Number of lines to show', '50')
174
+ .option('-f, --file <timestamp>', 'View specific log file by timestamp (e.g., 2026-01-15T10-30-00)')
175
+ .action(async (storyId, options) => {
176
+ try {
177
+ const config = loadConfig();
178
+ const c = getThemedChalk(config);
179
+ const sdlcRoot = getSdlcRoot();
180
+ // Determine which log file to view
181
+ let logPath;
182
+ if (options.file) {
183
+ // View specific log file by timestamp
184
+ const sanitizedStoryId = storyId; // Will be sanitized by getLatestLogPath
185
+ const logDir = path.join(sdlcRoot, 'stories', sanitizedStoryId, 'logs');
186
+ logPath = path.join(logDir, `${options.file}.log`);
187
+ if (!fs.existsSync(logPath)) {
188
+ console.log(c.error(`Log file not found: ${options.file}.log`));
189
+ console.log(c.dim(` Story: ${storyId}`));
190
+ console.log(c.dim(` Expected path: ${logPath}`));
191
+ process.exit(1);
192
+ }
193
+ }
194
+ else {
195
+ // Get latest log file
196
+ logPath = getLatestLogPath(sdlcRoot, storyId);
197
+ if (!logPath) {
198
+ console.log(c.error(`No logs found for story: ${storyId}`));
199
+ console.log(c.dim(' Logs are created when running actions with `ai-sdlc run`'));
200
+ process.exit(1);
201
+ }
202
+ }
203
+ // Display logs
204
+ if (options.tail) {
205
+ // Follow mode (tail -f)
206
+ console.log(c.dim(`Following log: ${path.basename(logPath)}`));
207
+ console.log(c.dim(`Press Ctrl+C to exit\n`));
208
+ tailLog(logPath);
209
+ }
210
+ else {
211
+ // Show last N lines
212
+ const numLines = parseInt(options.lines || '50', 10);
213
+ const content = await readLastLines(logPath, numLines);
214
+ console.log(c.dim(`Log file: ${path.basename(logPath)}`));
215
+ console.log(c.dim(`Showing last ${numLines} lines\n`));
216
+ console.log(content);
217
+ }
218
+ }
219
+ catch (error) {
220
+ const config = loadConfig();
221
+ const c = getThemedChalk(config);
222
+ if (error instanceof Error && error.message.includes('Invalid story ID')) {
223
+ console.log(c.error(`Invalid story ID: ${storyId}`));
224
+ console.log(c.dim(' Story IDs cannot contain path traversal sequences or separators'));
225
+ }
226
+ else {
227
+ console.log(c.error(`Error viewing logs: ${error instanceof Error ? error.message : String(error)}`));
228
+ }
229
+ process.exit(1);
230
+ }
231
+ });
232
+ // Worktree management commands
233
+ program
234
+ .command('worktrees')
235
+ .description('List managed worktrees')
236
+ .action(listWorktrees);
237
+ program
238
+ .command('worktrees:add <story-id>')
239
+ .description('Create a worktree for a story')
240
+ .action(addWorktree);
241
+ program
242
+ .command('worktrees:remove <story-id>')
243
+ .description('Remove a worktree for a story')
244
+ .option('--force', 'Skip confirmation prompt')
245
+ .action((storyId, options) => removeWorktree(storyId, options));
116
246
  program.parse();
117
247
  //# 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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,10 @@ export type SettingSource = 'user' | 'project' | 'local';
14
14
  export type ReviewIssueSeverity = 'blocker' | 'critical' | 'major' | 'minor';
15
15
  /**
16
16
  * Individual issue identified during review
17
+ *
18
+ * The optional `perspectives` field tracks which review perspectives
19
+ * (code quality, security, or product owner) flagged this issue.
20
+ * Used by unified review to indicate multi-perspective issues.
17
21
  */
18
22
  export interface ReviewIssue {
19
23
  severity: ReviewIssueSeverity;
@@ -22,6 +26,13 @@ export interface ReviewIssue {
22
26
  file?: string;
23
27
  line?: number;
24
28
  suggestedFix?: string;
29
+ /**
30
+ * Which review perspectives flagged this issue.
31
+ * - 'code': Code quality and maintainability concerns
32
+ * - 'security': Security vulnerabilities and risks
33
+ * - 'po': Product owner / requirements concerns
34
+ */
35
+ perspectives?: ('code' | 'security' | 'po')[];
25
36
  }
26
37
  /**
27
38
  * Review decision outcomes
@@ -29,7 +40,8 @@ export interface ReviewIssue {
29
40
  export declare enum ReviewDecision {
30
41
  APPROVED = "APPROVED",
31
42
  REJECTED = "REJECTED",
32
- FAILED = "FAILED"
43
+ FAILED = "FAILED",
44
+ RECOVERY = "RECOVERY"
33
45
  }
34
46
  /**
35
47
  * Severity levels for review rejection
@@ -82,6 +94,7 @@ export interface StoryFrontmatter {
82
94
  reviews_complete: boolean;
83
95
  pr_url?: string;
84
96
  branch?: string;
97
+ worktree_path?: string;
85
98
  last_error?: string;
86
99
  refinement_iterations?: RefinementIteration[];
87
100
  refinement_count?: number;
@@ -194,6 +207,8 @@ export interface ReviewConfig {
194
207
  maxRetriesUpperBound: number;
195
208
  autoCompleteOnApproval: boolean;
196
209
  autoRestartOnRejection: boolean;
210
+ /** Enable test anti-pattern detection. @default true */
211
+ detectTestAntipatterns?: boolean;
197
212
  }
198
213
  /**
199
214
  * Implementation retry configuration
@@ -234,6 +249,105 @@ export interface DaemonConfig {
234
249
  /** Max time between Esc presses (ms). @default 500 */
235
250
  escTimeout: number;
236
251
  }
252
+ /**
253
+ * Worktree configuration for isolated story execution
254
+ */
255
+ export interface WorktreeConfig {
256
+ /** Enable worktrees by default for story execution. @default false */
257
+ enabled: boolean;
258
+ /** Base path for worktree directories relative to project root. @default '.ai-sdlc/worktrees' */
259
+ basePath: string;
260
+ }
261
+ /**
262
+ * Logging configuration for ai-sdlc operations
263
+ */
264
+ export interface LogConfig {
265
+ /** Enable logging to file. @default true */
266
+ enabled: boolean;
267
+ /** Minimum log level to record. @default 'info' */
268
+ level: 'debug' | 'info' | 'warn' | 'error';
269
+ /** Maximum log file size in MB before rotation. @default 10 */
270
+ maxFileSizeMb: number;
271
+ /** Maximum number of log files to retain. @default 5 */
272
+ maxFiles: number;
273
+ }
274
+ /**
275
+ * Log levels for per-story logging
276
+ */
277
+ export type LogLevel = 'INFO' | 'AGENT' | 'ERROR' | 'WARN' | 'DEBUG';
278
+ /**
279
+ * File locking options for atomic story updates
280
+ */
281
+ export interface LockOptions {
282
+ /** Lock timeout in milliseconds. @default 5000 */
283
+ lockTimeout?: number;
284
+ /** Number of retry attempts. @default 3 */
285
+ retries?: number;
286
+ /** Stale lock threshold in milliseconds. @default matches lockTimeout */
287
+ stale?: number;
288
+ }
289
+ /**
290
+ * Information about a git worktree managed by ai-sdlc
291
+ */
292
+ export interface WorktreeInfo {
293
+ /** Absolute path to the worktree directory */
294
+ path: string;
295
+ /** Branch name (without refs/heads/ prefix) */
296
+ branch: string;
297
+ /** Story ID extracted from branch name (if ai-sdlc managed) */
298
+ storyId?: string;
299
+ /** Whether the worktree directory exists on filesystem */
300
+ exists: boolean;
301
+ }
302
+ /**
303
+ * Severity level for conflict detection between stories
304
+ */
305
+ export type ConflictSeverity = 'high' | 'medium' | 'low' | 'none';
306
+ /**
307
+ * Analysis of potential conflicts between two stories
308
+ */
309
+ export interface ConflictAnalysis {
310
+ /** ID of the first story */
311
+ storyA: string;
312
+ /** ID of the second story */
313
+ storyB: string;
314
+ /** Files modified by both stories */
315
+ sharedFiles: string[];
316
+ /** Directories containing modifications from both stories */
317
+ sharedDirectories: string[];
318
+ /** Severity level of the conflict */
319
+ severity: ConflictSeverity;
320
+ /** Human-readable recommendation for handling the conflict */
321
+ recommendation: string;
322
+ }
323
+ /**
324
+ * Result of conflict detection analysis across multiple stories
325
+ */
326
+ export interface ConflictDetectionResult {
327
+ /** Pairwise conflict analysis for all story combinations */
328
+ conflicts: ConflictAnalysis[];
329
+ /** Whether it's safe to run all stories concurrently (false if any high-severity conflicts) */
330
+ safeToRunConcurrently: boolean;
331
+ /** Human-readable summary of the conflict detection results */
332
+ summary: string;
333
+ }
334
+ /**
335
+ * Result of pre-flight conflict check before starting story work
336
+ */
337
+ export interface PreFlightResult {
338
+ /** Whether to proceed with story execution */
339
+ proceed: boolean;
340
+ /** Warning messages to display to the user */
341
+ warnings: string[];
342
+ }
343
+ /**
344
+ * GitHub integration configuration
345
+ * Controls PR creation behavior
346
+ */
347
+ export interface GithubConfig {
348
+ /** Create PRs as drafts by default */
349
+ createDraftPRs?: boolean;
350
+ }
237
351
  export interface Config {
238
352
  sdlcFolder: string;
239
353
  stageGates: StageGateConfig;
@@ -241,6 +355,11 @@ export interface Config {
241
355
  reviewConfig: ReviewConfig;
242
356
  implementation: ImplementationConfig;
243
357
  defaultLabels: string[];
358
+ /**
359
+ * GitHub integration configuration.
360
+ * Controls PR creation and integration behavior.
361
+ */
362
+ github?: GithubConfig;
244
363
  theme: ThemePreference;
245
364
  /** Command to run tests (e.g., 'npm test'). If set, runs before review. */
246
365
  testCommand?: string;
@@ -273,6 +392,16 @@ export interface Config {
273
392
  * Controls test-first implementation workflow.
274
393
  */
275
394
  tdd?: TDDConfig;
395
+ /**
396
+ * Worktree configuration for isolated story execution.
397
+ * Controls git worktree creation and location.
398
+ */
399
+ worktree?: WorktreeConfig;
400
+ /**
401
+ * Logging configuration for diagnostics and debugging.
402
+ * Controls log file location, rotation, and verbosity.
403
+ */
404
+ logging?: LogConfig;
276
405
  }
277
406
  export interface AgentResult {
278
407
  success: boolean;
@@ -280,6 +409,27 @@ export interface AgentResult {
280
409
  changesMade: string[];
281
410
  error?: string;
282
411
  }
412
+ /**
413
+ * FAR scale evaluation for web research findings.
414
+ * Used to assess the quality of external documentation and resources.
415
+ *
416
+ * Scale (1-5):
417
+ * - Factuality: How accurate and verifiable is the information?
418
+ * 1 = Unverified/speculative, 5 = Official documentation or peer-reviewed
419
+ * - Actionability: Can this be directly applied to the task?
420
+ * 1 = Abstract concepts only, 5 = Copy-paste code examples or step-by-step instructions
421
+ * - Relevance: How closely does this match the story requirements?
422
+ * 1 = Tangentially related, 5 = Directly addresses a story acceptance criterion
423
+ * - parsingSucceeded: Indicates whether scores were successfully parsed from LLM output
424
+ * true = scores came from LLM, false = default scores applied due to parsing failure
425
+ */
426
+ export interface FARScore {
427
+ factuality: 1 | 2 | 3 | 4 | 5;
428
+ actionability: 1 | 2 | 3 | 4 | 5;
429
+ relevance: 1 | 2 | 3 | 4 | 5;
430
+ justification: string;
431
+ parsingSucceeded: boolean;
432
+ }
283
433
  /**
284
434
  * Review-specific result with structured feedback
285
435
  */
@@ -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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"}
@@ -6,6 +6,7 @@ export var ReviewDecision;
6
6
  ReviewDecision["APPROVED"] = "APPROVED";
7
7
  ReviewDecision["REJECTED"] = "REJECTED";
8
8
  ReviewDecision["FAILED"] = "FAILED";
9
+ ReviewDecision["RECOVERY"] = "RECOVERY";
9
10
  })(ReviewDecision || (ReviewDecision = {}));
10
11
  /**
11
12
  * Severity levels for review rejection
@@ -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;AAgTD,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAyCA;;GAEG;AACH,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;IACrB,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;AACvB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;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;AAqcD,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.6",
3
+ "version": "0.2.0-beta.1",
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",