ai-sdlc 0.2.0-alpha.23 → 0.2.0-alpha.25

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.
@@ -1,4 +1,4 @@
1
- import { AgentResult, ReviewResult, ReviewIssue, TDDTestCycle } from '../types/index.js';
1
+ import { Story, AgentResult, ReviewResult, ReviewIssue, TDDTestCycle } from '../types/index.js';
2
2
  /**
3
3
  * Validate TDD cycles for completeness
4
4
  *
@@ -49,8 +49,46 @@ export interface ReviewAgentOptions {
49
49
  * Now returns structured ReviewResult with pass/fail and issues.
50
50
  */
51
51
  export declare function runReviewAgent(storyPath: string, sdlcRoot: string, options?: ReviewAgentOptions): Promise<ReviewResult>;
52
+ /**
53
+ * Parse story content into sections by level-2 headers (##)
54
+ * Returns array of {title, content} objects
55
+ */
56
+ export declare function parseContentSections(content: string): Array<{
57
+ title: string;
58
+ content: string;
59
+ }>;
60
+ /**
61
+ * Remove unfinished checkboxes from content (per CLAUDE.md requirement)
62
+ * Removes lines with `- [ ]` or `* [ ]` patterns
63
+ * Preserves completed checkboxes `- [x]` and `- [X]`
64
+ */
65
+ export declare function removeUnfinishedCheckboxes(content: string): string;
66
+ /**
67
+ * Generate GitHub blob URL for story file
68
+ * Parses remote URL and constructs link to story in repository
69
+ */
70
+ export declare function getStoryFileURL(storyPath: string, branch: string, workingDir: string): string;
71
+ /**
72
+ * Format PR description from story sections
73
+ * Includes: Story ID, User Story, Summary, Acceptance Criteria, Implementation Summary
74
+ * Removes unfinished checkboxes from all sections
75
+ */
76
+ export declare function formatPRDescription(story: Story, storyFileUrl: string): string;
77
+ /**
78
+ * Truncate PR body to respect GitHub's 65K character limit
79
+ * Truncates Implementation Summary first (most verbose section)
80
+ * Adds clear truncation indicator with story link
81
+ */
82
+ export declare function truncatePRBody(body: string, maxLength?: number): string;
83
+ /**
84
+ * Options for creating a pull request
85
+ */
86
+ export interface CreatePROptions {
87
+ /** Create as draft PR (if not specified, uses config github.createDraftPRs) */
88
+ draft?: boolean;
89
+ }
52
90
  /**
53
91
  * Create a pull request for the completed story
54
92
  */
55
- export declare function createPullRequest(storyPath: string, sdlcRoot: string): Promise<AgentResult>;
93
+ export declare function createPullRequest(storyPath: string, sdlcRoot: string, options?: CreatePROptions): Promise<AgentResult>;
56
94
  //# sourceMappingURL=review.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/agents/review.ts"],"names":[],"mappings":"AAQA,OAAO,EAAS,WAAW,EAAE,YAAY,EAAE,WAAW,EAA8E,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkH5K;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CA0BlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAOrE;AAiBD;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAsVrJ;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA+F1F;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,sBAAsB,CAAC,EAAE,4BAA4B,CAAC;CACvD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,YAAY,CAAC,CA+QvB;AAgCD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAgItB"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/agents/review.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAA8E,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkH5K;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CA0BlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAOrE;AAiBD;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAsVrJ;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA+F1F;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,sBAAsB,CAAC,EAAE,4BAA4B,CAAC;CACvD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,YAAY,CAAC,CA+QvB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAkB/F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAelE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAiB7F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAsC9E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc,GAAG,MAAM,CAqC9E;AAgCD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,WAAW,CAAC,CAqKtB"}
@@ -775,6 +775,139 @@ ${passed ? '✅ **PASSED** - All reviews approved' : '❌ **FAILED** - Issues mu
775
775
  };
776
776
  }
777
777
  }
778
+ /**
779
+ * Parse story content into sections by level-2 headers (##)
780
+ * Returns array of {title, content} objects
781
+ */
782
+ export function parseContentSections(content) {
783
+ const sections = [];
784
+ const lines = content.split('\n');
785
+ let currentSection = null;
786
+ for (const line of lines) {
787
+ const headerMatch = line.match(/^##\s+(.+)$/);
788
+ if (headerMatch) {
789
+ if (currentSection)
790
+ sections.push(currentSection);
791
+ currentSection = { title: headerMatch[1], content: '' };
792
+ }
793
+ else if (currentSection) {
794
+ currentSection.content += line + '\n';
795
+ }
796
+ }
797
+ if (currentSection)
798
+ sections.push(currentSection);
799
+ return sections;
800
+ }
801
+ /**
802
+ * Remove unfinished checkboxes from content (per CLAUDE.md requirement)
803
+ * Removes lines with `- [ ]` or `* [ ]` patterns
804
+ * Preserves completed checkboxes `- [x]` and `- [X]`
805
+ */
806
+ export function removeUnfinishedCheckboxes(content) {
807
+ const lines = content.split('\n');
808
+ const filteredLines = [];
809
+ for (let i = 0; i < lines.length; i++) {
810
+ const line = lines[i];
811
+ // Match unchecked boxes: - [ ] or * [ ] with optional leading whitespace
812
+ const isUnchecked = /^\s*[-*] \[ \]/.test(line);
813
+ if (!isUnchecked) {
814
+ filteredLines.push(line);
815
+ }
816
+ }
817
+ return filteredLines.join('\n');
818
+ }
819
+ /**
820
+ * Generate GitHub blob URL for story file
821
+ * Parses remote URL and constructs link to story in repository
822
+ */
823
+ export function getStoryFileURL(storyPath, branch, workingDir) {
824
+ try {
825
+ const remoteUrl = execSync('git remote get-url origin', { cwd: workingDir, encoding: 'utf-8' }).trim();
826
+ // Parse owner/repo from URL
827
+ // HTTPS: https://github.com/owner/repo.git
828
+ // SSH: git@github.com:owner/repo.git
829
+ const match = remoteUrl.match(/github\.com[:/]([^/]+)\/(.+?)(\.git)?$/);
830
+ if (!match)
831
+ return '';
832
+ const [, owner, repo] = match;
833
+ const relativePath = path.relative(workingDir, storyPath);
834
+ return `https://github.com/${owner}/${repo}/blob/${branch}/${relativePath}`;
835
+ }
836
+ catch {
837
+ return '';
838
+ }
839
+ }
840
+ /**
841
+ * Format PR description from story sections
842
+ * Includes: Story ID, User Story, Summary, Acceptance Criteria, Implementation Summary
843
+ * Removes unfinished checkboxes from all sections
844
+ */
845
+ export function formatPRDescription(story, storyFileUrl) {
846
+ const sections = parseContentSections(story.content);
847
+ // Extract key sections
848
+ const userStory = sections.find(s => s.title === 'User Story')?.content || '';
849
+ const summary = sections.find(s => s.title === 'Summary')?.content || '';
850
+ const acceptanceCriteria = sections.find(s => s.title === 'Acceptance Criteria')?.content || '';
851
+ const implementationSummary = sections.find(s => s.title === 'Implementation Summary')?.content || '';
852
+ // Remove unfinished checkboxes from all sections
853
+ const cleanAcceptanceCriteria = removeUnfinishedCheckboxes(acceptanceCriteria);
854
+ const cleanImplementationSummary = removeUnfinishedCheckboxes(implementationSummary);
855
+ // Build PR body
856
+ let prBody = `## Story ID\n\n${story.frontmatter.id}\n\n`;
857
+ if (userStory.trim()) {
858
+ prBody += `## User Story\n\n${userStory.trim()}\n\n`;
859
+ }
860
+ if (summary.trim()) {
861
+ prBody += `## Summary\n\n${summary.trim()}\n\n`;
862
+ }
863
+ if (cleanAcceptanceCriteria.trim()) {
864
+ prBody += `## Acceptance Criteria\n\n${cleanAcceptanceCriteria.trim()}\n\n`;
865
+ }
866
+ if (cleanImplementationSummary.trim()) {
867
+ prBody += `## Implementation Summary\n\n${cleanImplementationSummary.trim()}\n\n`;
868
+ }
869
+ // Add story file link
870
+ if (storyFileUrl) {
871
+ prBody += `---\n\n📋 [View Full Story](${storyFileUrl})\n`;
872
+ }
873
+ return prBody;
874
+ }
875
+ /**
876
+ * Truncate PR body to respect GitHub's 65K character limit
877
+ * Truncates Implementation Summary first (most verbose section)
878
+ * Adds clear truncation indicator with story link
879
+ */
880
+ export function truncatePRBody(body, maxLength = 64000) {
881
+ // Check if truncation needed
882
+ if (body.length <= maxLength) {
883
+ return body;
884
+ }
885
+ // Find Implementation Summary section
886
+ const implSummaryMatch = body.match(/(## Implementation Summary\n\n)([\s\S]*?)(\n\n##|\n\n---|\n\n📋|$)/);
887
+ if (implSummaryMatch) {
888
+ const [fullMatch, header, content, trailer] = implSummaryMatch;
889
+ const beforeImpl = body.substring(0, body.indexOf(fullMatch));
890
+ const afterImpl = body.substring(body.indexOf(fullMatch) + fullMatch.length);
891
+ // Calculate how much we need to remove
892
+ const overhead = beforeImpl.length + header.length + trailer.length + afterImpl.length;
893
+ const truncationIndicator = '\n\n⚠️ Implementation Summary truncated due to length. See full story for complete details.\n';
894
+ const availableForContent = maxLength - overhead - truncationIndicator.length;
895
+ if (availableForContent > 100) {
896
+ // Truncate Implementation Summary at paragraph boundary
897
+ let truncatedContent = content.substring(0, availableForContent);
898
+ const lastParagraph = truncatedContent.lastIndexOf('\n\n');
899
+ if (lastParagraph > 0) {
900
+ truncatedContent = truncatedContent.substring(0, lastParagraph);
901
+ }
902
+ return beforeImpl + header + truncatedContent + truncationIndicator + trailer + afterImpl;
903
+ }
904
+ }
905
+ // Fallback: simple truncation if no Implementation Summary found
906
+ const truncatedBody = body.substring(0, maxLength - 200);
907
+ const lastParagraph = truncatedBody.lastIndexOf('\n\n');
908
+ const finalBody = lastParagraph > 0 ? truncatedBody.substring(0, lastParagraph) : truncatedBody;
909
+ return finalBody + '\n\n⚠️ Description truncated due to length. See full story for complete details.\n';
910
+ }
778
911
  /**
779
912
  * Run a sub-review with a specific prompt
780
913
  */
@@ -801,7 +934,7 @@ Provide your ${reviewType} feedback. Be specific and actionable.`;
801
934
  /**
802
935
  * Create a pull request for the completed story
803
936
  */
804
- export async function createPullRequest(storyPath, sdlcRoot) {
937
+ export async function createPullRequest(storyPath, sdlcRoot, options) {
805
938
  let story = parseStory(storyPath);
806
939
  const changesMade = [];
807
940
  const workingDir = path.dirname(sdlcRoot);
@@ -863,34 +996,66 @@ export async function createPullRequest(storyPath, sdlcRoot) {
863
996
  // Push branch (already validated)
864
997
  execSync(`git push -u origin ${branchName}`, { cwd: workingDir, stdio: 'pipe' });
865
998
  changesMade.push(`Pushed branch: ${branchName}`);
866
- // Create PR using gh CLI with safe arguments
867
- // Security: Use escaped arguments to prevent shell injection
999
+ // Check if PR already exists for this branch
1000
+ try {
1001
+ const existingPROutput = execSync('gh pr view --json url', { cwd: workingDir, encoding: 'utf-8', stdio: 'pipe' });
1002
+ const prData = JSON.parse(existingPROutput);
1003
+ if (prData.url) {
1004
+ changesMade.push(`PR already exists: ${prData.url}`);
1005
+ // Update story with PR URL if missing
1006
+ if (!story.frontmatter.pr_url) {
1007
+ await updateStoryField(story, 'pr_url', prData.url);
1008
+ changesMade.push('Updated story with existing PR URL');
1009
+ }
1010
+ // Don't create duplicate - skip to status update
1011
+ story = await updateStoryStatus(story, 'done');
1012
+ changesMade.push('Updated status to done');
1013
+ return {
1014
+ success: true,
1015
+ story,
1016
+ changesMade,
1017
+ };
1018
+ }
1019
+ }
1020
+ catch {
1021
+ // No existing PR - proceed with creation
1022
+ }
1023
+ // Create PR using gh CLI with rich formatted body
1024
+ // Security: Use escaped arguments and heredoc to prevent shell injection
868
1025
  const prTitle = story.frontmatter.title;
869
- const prBody = `## Summary
870
-
871
- ${story.frontmatter.title}
872
-
873
- ## Story
874
-
875
- ${story.content.substring(0, 1000)}...
876
-
877
- ## Checklist
878
-
879
- - [x] Implementation complete
880
- - [x] Code review passed
881
- - [x] Security review passed
882
- - [x] Product owner approved
883
-
884
- ---
885
- *Created by ai-sdlc*`;
886
- const prOutput = execSync(`gh pr create --title ${escapeShellArg(prTitle)} --body ${escapeShellArg(prBody)}`, { cwd: workingDir, encoding: 'utf-8' });
1026
+ // Generate story file URL
1027
+ const storyFileUrl = getStoryFileURL(storyPath, branchName, workingDir);
1028
+ // Format rich PR description
1029
+ let prBody = formatPRDescription(story, storyFileUrl);
1030
+ // Truncate if needed to respect GitHub's 65K limit
1031
+ prBody = truncatePRBody(prBody);
1032
+ // Determine if draft PR should be created
1033
+ // Options parameter takes precedence, then config, default is false
1034
+ const config = loadConfig(workingDir);
1035
+ const createAsDraft = options?.draft ?? config.github?.createDraftPRs ?? false;
1036
+ const draftFlag = createAsDraft ? ' --draft' : '';
1037
+ // Use heredoc pattern for multi-line body to preserve formatting
1038
+ const ghCommand = `gh pr create --title ${escapeShellArg(prTitle)}${draftFlag} --body "$(cat <<'EOF'
1039
+ ${prBody}
1040
+ EOF
1041
+ )"`;
1042
+ const prOutput = execSync(ghCommand, { cwd: workingDir, encoding: 'utf-8' });
887
1043
  const prUrl = prOutput.trim();
888
1044
  await updateStoryField(story, 'pr_url', prUrl);
889
- changesMade.push(`Created PR: ${prUrl}`);
1045
+ const prTypeLabel = createAsDraft ? 'draft PR' : 'PR';
1046
+ changesMade.push(`Created ${prTypeLabel}: ${prUrl}`);
890
1047
  }
891
1048
  catch (error) {
892
1049
  const sanitizedError = sanitizeErrorMessage(error instanceof Error ? error.message : String(error), workingDir);
893
- changesMade.push(`PR creation failed: ${sanitizedError}`);
1050
+ // Provide actionable error messages for common issues
1051
+ let errorMessage = `PR creation failed: ${sanitizedError}`;
1052
+ if (sanitizedError.includes('authentication') || sanitizedError.includes('auth') || sanitizedError.includes('credentials')) {
1053
+ errorMessage = `GitHub authentication failed. Please authenticate using one of:
1054
+ 1. Set GITHUB_TOKEN env var: export GITHUB_TOKEN=ghp_xxx
1055
+ 2. Run: gh auth login
1056
+ 3. Check: gh auth status`;
1057
+ }
1058
+ changesMade.push(errorMessage);
894
1059
  }
895
1060
  // Update status to done
896
1061
  story = await updateStoryStatus(story, 'done');
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/agents/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/agents/review.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,9 @@ export declare function status(options?: {
12
12
  /**
13
13
  * Add a new story to the backlog
14
14
  */
15
- export declare function add(title: string): Promise<void>;
15
+ export declare function add(title?: string, options?: {
16
+ file?: string;
17
+ }): Promise<void>;
16
18
  /**
17
19
  * Determine if worktree mode should be used based on CLI flags, story frontmatter, and config.
18
20
  * Priority order:
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
@@ -120,10 +120,58 @@ export async function status(options) {
120
120
  console.log(c.success('No pending actions. Board is up to date!'));
121
121
  }
122
122
  }
123
+ /**
124
+ * Validate file path for security (path traversal, symlinks, allowed directories)
125
+ */
126
+ function validateFilePath(filePath) {
127
+ const resolvedPath = path.resolve(filePath);
128
+ const allowedDir = path.resolve(process.cwd());
129
+ // Check path traversal: resolved path must be within current directory
130
+ if (!resolvedPath.startsWith(allowedDir + path.sep) && resolvedPath !== allowedDir) {
131
+ throw new Error('Security: File path must be within current directory (path traversal detected)');
132
+ }
133
+ // Check if file exists before checking if it's a symlink
134
+ if (!fs.existsSync(resolvedPath)) {
135
+ throw new Error(`File not found: ${path.basename(filePath)}`);
136
+ }
137
+ // Check for symbolic links (security risk)
138
+ const stats = fs.lstatSync(resolvedPath);
139
+ if (stats.isSymbolicLink()) {
140
+ throw new Error('Security: Symbolic links are not allowed');
141
+ }
142
+ }
143
+ /**
144
+ * Validate file extension against whitelist
145
+ */
146
+ function validateFileExtension(filePath) {
147
+ const allowedExtensions = ['.md', '.txt', '.markdown'];
148
+ const ext = path.extname(filePath).toLowerCase();
149
+ if (!allowedExtensions.includes(ext)) {
150
+ throw new Error(`Invalid file type: only ${allowedExtensions.join(', ')} files are allowed`);
151
+ }
152
+ }
153
+ /**
154
+ * Validate file size (10MB maximum)
155
+ */
156
+ function validateFileSize(filePath) {
157
+ const maxSize = 10 * 1024 * 1024; // 10MB
158
+ const stats = fs.statSync(filePath);
159
+ if (stats.size > maxSize) {
160
+ const sizeMB = (stats.size / 1024 / 1024).toFixed(2);
161
+ throw new Error(`File too large: ${sizeMB}MB (maximum 10MB)`);
162
+ }
163
+ }
164
+ /**
165
+ * Sanitize file content (strip null bytes, validate UTF-8)
166
+ */
167
+ function sanitizeFileContent(content) {
168
+ // Strip null bytes that could truncate strings
169
+ return content.replace(/\0/g, '');
170
+ }
123
171
  /**
124
172
  * Add a new story to the backlog
125
173
  */
126
- export async function add(title) {
174
+ export async function add(title, options) {
127
175
  const spinner = ora('Creating story...').start();
128
176
  try {
129
177
  const config = loadConfig();
@@ -133,10 +181,83 @@ export async function add(title) {
133
181
  spinner.fail('ai-sdlc not initialized. Run `ai-sdlc init` first.');
134
182
  return;
135
183
  }
136
- const story = await createStory(title, sdlcRoot);
184
+ // Validate that either title or file is provided (not both, not neither)
185
+ if (!title && !options?.file) {
186
+ spinner.fail('Error: Must provide either a title or --file option');
187
+ console.log(c.dim('Usage:'));
188
+ console.log(c.dim(' ai-sdlc add "Story Title"'));
189
+ console.log(c.dim(' ai-sdlc add --file story.md'));
190
+ process.exit(1);
191
+ }
192
+ if (title && options?.file) {
193
+ spinner.fail('Error: Cannot provide both title and --file option');
194
+ console.log(c.dim('Use either:'));
195
+ console.log(c.dim(' ai-sdlc add "Story Title"'));
196
+ console.log(c.dim(' ai-sdlc add --file story.md'));
197
+ process.exit(1);
198
+ }
199
+ let storyTitle;
200
+ let storyContent;
201
+ // Handle file input with security validation
202
+ if (options?.file) {
203
+ spinner.text = 'Reading file...';
204
+ const filePath = options.file;
205
+ try {
206
+ // Security validations
207
+ validateFilePath(filePath);
208
+ validateFileExtension(filePath);
209
+ // Read file (includes existence check via fs.readFileSync)
210
+ const resolvedPath = path.resolve(filePath);
211
+ // Validate file size before reading
212
+ validateFileSize(resolvedPath);
213
+ // Read and sanitize content
214
+ const rawContent = fs.readFileSync(resolvedPath, 'utf-8');
215
+ storyContent = sanitizeFileContent(rawContent);
216
+ // Extract title from content or use filename
217
+ const { extractTitleFromContent } = await import('../core/story.js');
218
+ const extractedTitle = extractTitleFromContent(storyContent);
219
+ if (extractedTitle) {
220
+ storyTitle = extractedTitle;
221
+ }
222
+ else {
223
+ // Fall back to filename without extension
224
+ storyTitle = path.basename(filePath, path.extname(filePath));
225
+ }
226
+ spinner.text = `Creating story from ${path.basename(filePath)}...`;
227
+ }
228
+ catch (error) {
229
+ spinner.fail('Failed to read file');
230
+ if (error instanceof Error) {
231
+ // Sanitize error messages to avoid leaking system paths
232
+ if (error.message.startsWith('Security:') || error.message.startsWith('Invalid file type:') || error.message.startsWith('File too large:')) {
233
+ console.log(c.error(error.message));
234
+ }
235
+ else if (error.message.includes('ENOENT')) {
236
+ console.log(c.error(`File not found: ${path.basename(filePath)}`));
237
+ }
238
+ else if (error.message.includes('EACCES') || error.message.includes('EPERM')) {
239
+ console.log(c.error(`Permission denied: ${path.basename(filePath)}`));
240
+ }
241
+ else {
242
+ console.log(c.error(`Unable to read file: ${path.basename(filePath)}`));
243
+ }
244
+ }
245
+ process.exit(1);
246
+ }
247
+ }
248
+ else {
249
+ // Traditional title-only input
250
+ storyTitle = title;
251
+ }
252
+ // Create the story
253
+ const story = await createStory(storyTitle, sdlcRoot, {}, storyContent);
137
254
  spinner.succeed(c.success(`Created: ${story.path}`));
138
255
  console.log(c.dim(` ID: ${story.frontmatter.id}`));
256
+ console.log(c.dim(` Title: ${story.frontmatter.title}`));
139
257
  console.log(c.dim(` Slug: ${story.slug}`));
258
+ if (options?.file) {
259
+ console.log(c.dim(` Source: ${path.basename(options.file)}`));
260
+ }
140
261
  console.log();
141
262
  console.log(c.info('Next step:'), `ai-sdlc run`);
142
263
  }