ai-sdlc 0.1.0-alpha.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 (96) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +847 -0
  3. package/dist/agents/implementation.d.ts +11 -0
  4. package/dist/agents/implementation.d.ts.map +1 -0
  5. package/dist/agents/implementation.js +123 -0
  6. package/dist/agents/implementation.js.map +1 -0
  7. package/dist/agents/index.d.ts +7 -0
  8. package/dist/agents/index.d.ts.map +1 -0
  9. package/dist/agents/index.js +8 -0
  10. package/dist/agents/index.js.map +1 -0
  11. package/dist/agents/planning.d.ts +9 -0
  12. package/dist/agents/planning.d.ts.map +1 -0
  13. package/dist/agents/planning.js +84 -0
  14. package/dist/agents/planning.js.map +1 -0
  15. package/dist/agents/refinement.d.ts +10 -0
  16. package/dist/agents/refinement.d.ts.map +1 -0
  17. package/dist/agents/refinement.js +98 -0
  18. package/dist/agents/refinement.js.map +1 -0
  19. package/dist/agents/research.d.ts +16 -0
  20. package/dist/agents/research.d.ts.map +1 -0
  21. package/dist/agents/research.js +141 -0
  22. package/dist/agents/research.js.map +1 -0
  23. package/dist/agents/review.d.ts +24 -0
  24. package/dist/agents/review.d.ts.map +1 -0
  25. package/dist/agents/review.js +740 -0
  26. package/dist/agents/review.js.map +1 -0
  27. package/dist/agents/rework.d.ts +17 -0
  28. package/dist/agents/rework.d.ts.map +1 -0
  29. package/dist/agents/rework.js +139 -0
  30. package/dist/agents/rework.js.map +1 -0
  31. package/dist/agents/state-assessor.d.ts +21 -0
  32. package/dist/agents/state-assessor.d.ts.map +1 -0
  33. package/dist/agents/state-assessor.js +29 -0
  34. package/dist/agents/state-assessor.js.map +1 -0
  35. package/dist/cli/commands.d.ts +87 -0
  36. package/dist/cli/commands.d.ts.map +1 -0
  37. package/dist/cli/commands.js +1183 -0
  38. package/dist/cli/commands.js.map +1 -0
  39. package/dist/cli/formatting.d.ts +68 -0
  40. package/dist/cli/formatting.d.ts.map +1 -0
  41. package/dist/cli/formatting.js +194 -0
  42. package/dist/cli/formatting.js.map +1 -0
  43. package/dist/cli/runner.d.ts +57 -0
  44. package/dist/cli/runner.d.ts.map +1 -0
  45. package/dist/cli/runner.js +272 -0
  46. package/dist/cli/runner.js.map +1 -0
  47. package/dist/cli/story-utils.d.ts +19 -0
  48. package/dist/cli/story-utils.d.ts.map +1 -0
  49. package/dist/cli/story-utils.js +44 -0
  50. package/dist/cli/story-utils.js.map +1 -0
  51. package/dist/cli/table-renderer.d.ts +22 -0
  52. package/dist/cli/table-renderer.d.ts.map +1 -0
  53. package/dist/cli/table-renderer.js +159 -0
  54. package/dist/cli/table-renderer.js.map +1 -0
  55. package/dist/core/auth.d.ts +39 -0
  56. package/dist/core/auth.d.ts.map +1 -0
  57. package/dist/core/auth.js +128 -0
  58. package/dist/core/auth.js.map +1 -0
  59. package/dist/core/client.d.ts +73 -0
  60. package/dist/core/client.d.ts.map +1 -0
  61. package/dist/core/client.js +140 -0
  62. package/dist/core/client.js.map +1 -0
  63. package/dist/core/config.d.ts +48 -0
  64. package/dist/core/config.d.ts.map +1 -0
  65. package/dist/core/config.js +330 -0
  66. package/dist/core/config.js.map +1 -0
  67. package/dist/core/kanban.d.ts +34 -0
  68. package/dist/core/kanban.d.ts.map +1 -0
  69. package/dist/core/kanban.js +253 -0
  70. package/dist/core/kanban.js.map +1 -0
  71. package/dist/core/story.d.ts +91 -0
  72. package/dist/core/story.d.ts.map +1 -0
  73. package/dist/core/story.js +349 -0
  74. package/dist/core/story.js.map +1 -0
  75. package/dist/core/theme.d.ts +17 -0
  76. package/dist/core/theme.d.ts.map +1 -0
  77. package/dist/core/theme.js +136 -0
  78. package/dist/core/theme.js.map +1 -0
  79. package/dist/core/workflow-state.d.ts +56 -0
  80. package/dist/core/workflow-state.d.ts.map +1 -0
  81. package/dist/core/workflow-state.js +162 -0
  82. package/dist/core/workflow-state.js.map +1 -0
  83. package/dist/index.d.ts +3 -0
  84. package/dist/index.d.ts.map +1 -0
  85. package/dist/index.js +103 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/types/index.d.ts +228 -0
  88. package/dist/types/index.d.ts.map +1 -0
  89. package/dist/types/index.js +38 -0
  90. package/dist/types/index.js.map +1 -0
  91. package/dist/types/workflow-state.d.ts +54 -0
  92. package/dist/types/workflow-state.d.ts.map +1 -0
  93. package/dist/types/workflow-state.js +5 -0
  94. package/dist/types/workflow-state.js.map +1 -0
  95. package/package.json +71 -0
  96. package/templates/story.md +35 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Column width configuration for table display
3
+ */
4
+ export interface ColumnWidths {
5
+ id: number;
6
+ title: number;
7
+ status: number;
8
+ labels: number;
9
+ flags: number;
10
+ }
11
+ /**
12
+ * Truncate text to a maximum length with ellipsis
13
+ * Uses word boundary detection for better readability
14
+ * Properly handles Unicode characters with iterative width adjustment
15
+ *
16
+ * @param text - The text to truncate
17
+ * @param maxLength - Maximum length including ellipsis
18
+ * @returns Truncated text with "..." if it exceeds maxLength
19
+ */
20
+ export declare function truncateText(text: string, maxLength: number): string;
21
+ /**
22
+ * Format labels array for display with truncation
23
+ * Shows first few labels and indicates if there are more
24
+ * Filters out dangerous keys to prevent prototype pollution
25
+ *
26
+ * @param labels - Array of label strings
27
+ * @param maxLength - Maximum total length for the label display
28
+ * @returns Formatted label string (e.g., "label1, label2 +2 more")
29
+ */
30
+ export declare function formatLabels(labels: string[], maxLength: number): string;
31
+ /**
32
+ * Get terminal width with fallback to default
33
+ *
34
+ * @returns Terminal width in columns (defaults to 80 if not available)
35
+ */
36
+ export declare function getTerminalWidth(): number;
37
+ /**
38
+ * Determine if compact view should be used based on terminal width
39
+ *
40
+ * @param terminalWidth - Current terminal width
41
+ * @returns true if terminal is too narrow for full table view
42
+ */
43
+ export declare function shouldUseCompactView(terminalWidth: number): boolean;
44
+ /**
45
+ * Calculate responsive column widths based on terminal width
46
+ * Uses fixed widths for smaller columns and distributes remaining space to title
47
+ *
48
+ * @param terminalWidth - Current terminal width
49
+ * @returns Column width configuration
50
+ */
51
+ export declare function getColumnWidths(terminalWidth: number): ColumnWidths;
52
+ /**
53
+ * Strip ANSI color codes and terminal control sequences from text
54
+ * Uses bounded quantifiers to prevent ReDoS attacks
55
+ *
56
+ * @param text - Text potentially containing ANSI codes and control sequences
57
+ * @returns Sanitized text with control sequences removed
58
+ */
59
+ export declare function stripAnsiCodes(text: string): string;
60
+ /**
61
+ * Sanitize input text to prevent security issues
62
+ * Removes dangerous characters and limits length
63
+ *
64
+ * @param text - Raw input text
65
+ * @returns Sanitized text safe for display
66
+ */
67
+ export declare function sanitizeInput(text: string): string;
68
+ //# sourceMappingURL=formatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/cli/formatting.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAqCpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAuDxE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAGnE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,CAyBnE;AAcD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAenD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAalD"}
@@ -0,0 +1,194 @@
1
+ import stringWidth from 'string-width';
2
+ /**
3
+ * Truncate text to a maximum length with ellipsis
4
+ * Uses word boundary detection for better readability
5
+ * Properly handles Unicode characters with iterative width adjustment
6
+ *
7
+ * @param text - The text to truncate
8
+ * @param maxLength - Maximum length including ellipsis
9
+ * @returns Truncated text with "..." if it exceeds maxLength
10
+ */
11
+ export function truncateText(text, maxLength) {
12
+ if (!text) {
13
+ return '';
14
+ }
15
+ // Sanitize input
16
+ text = sanitizeInput(text);
17
+ // Handle edge case: maxLength too small for ellipsis
18
+ if (maxLength < 4) {
19
+ return text.substring(0, maxLength);
20
+ }
21
+ // Use string-width for Unicode-aware width calculation
22
+ const actualWidth = stringWidth(text);
23
+ if (actualWidth <= maxLength) {
24
+ return text;
25
+ }
26
+ // Truncate at character level first
27
+ let truncated = text.substring(0, maxLength - 3);
28
+ // Iteratively adjust for multi-byte characters
29
+ // This ensures the visual width (not character count) is correct
30
+ while (stringWidth(truncated) > maxLength - 3 && truncated.length > 0) {
31
+ truncated = truncated.substring(0, truncated.length - 1);
32
+ }
33
+ // Try to truncate at last word boundary for better readability
34
+ const lastSpace = truncated.lastIndexOf(' ');
35
+ if (lastSpace >= maxLength * 0.7 && lastSpace > 0) {
36
+ // Only use word boundary if it's not too far back (>=70% of maxLength)
37
+ truncated = truncated.substring(0, lastSpace);
38
+ }
39
+ return truncated + '...';
40
+ }
41
+ /**
42
+ * Format labels array for display with truncation
43
+ * Shows first few labels and indicates if there are more
44
+ * Filters out dangerous keys to prevent prototype pollution
45
+ *
46
+ * @param labels - Array of label strings
47
+ * @param maxLength - Maximum total length for the label display
48
+ * @returns Formatted label string (e.g., "label1, label2 +2 more")
49
+ */
50
+ export function formatLabels(labels, maxLength) {
51
+ if (!labels || labels.length === 0) {
52
+ return '';
53
+ }
54
+ // Filter out prototype pollution keys (case-insensitive with trim) and sanitize labels
55
+ const safeLabels = labels
56
+ .filter(label => {
57
+ if (!label)
58
+ return false;
59
+ const normalizedLabel = label.trim().toLowerCase();
60
+ return !FORBIDDEN_KEYS.includes(normalizedLabel);
61
+ })
62
+ .map(label => sanitizeInput(label))
63
+ .filter(label => label.length > 0);
64
+ if (safeLabels.length === 0) {
65
+ return '';
66
+ }
67
+ // Handle single label case
68
+ if (safeLabels.length === 1) {
69
+ return truncateText(safeLabels[0], maxLength);
70
+ }
71
+ // Build comma-separated list with truncation
72
+ let result = '';
73
+ let displayedCount = 0;
74
+ for (let i = 0; i < safeLabels.length; i++) {
75
+ const label = safeLabels[i];
76
+ const separator = i === 0 ? '' : ', ';
77
+ const testString = result + separator + label;
78
+ // Check if adding this label would exceed max length
79
+ const remainingCount = safeLabels.length - i;
80
+ const moreText = remainingCount > 1 ? ` +${remainingCount} more` : '';
81
+ if (stringWidth(testString + moreText) > maxLength) {
82
+ // Adding this label would exceed limit
83
+ if (displayedCount > 0) {
84
+ // Show "more" indicator
85
+ const moreCount = safeLabels.length - displayedCount;
86
+ result += ` +${moreCount} more`;
87
+ }
88
+ else {
89
+ // Can't even fit one label, truncate it
90
+ result = truncateText(label, maxLength);
91
+ }
92
+ break;
93
+ }
94
+ result = testString;
95
+ displayedCount++;
96
+ }
97
+ return result;
98
+ }
99
+ /**
100
+ * Get terminal width with fallback to default
101
+ *
102
+ * @returns Terminal width in columns (defaults to 80 if not available)
103
+ */
104
+ export function getTerminalWidth() {
105
+ return process.stdout.columns || 80;
106
+ }
107
+ /**
108
+ * Determine if compact view should be used based on terminal width
109
+ *
110
+ * @param terminalWidth - Current terminal width
111
+ * @returns true if terminal is too narrow for full table view
112
+ */
113
+ export function shouldUseCompactView(terminalWidth) {
114
+ const MIN_TABLE_WIDTH = 100;
115
+ return terminalWidth < MIN_TABLE_WIDTH;
116
+ }
117
+ /**
118
+ * Calculate responsive column widths based on terminal width
119
+ * Uses fixed widths for smaller columns and distributes remaining space to title
120
+ *
121
+ * @param terminalWidth - Current terminal width
122
+ * @returns Column width configuration
123
+ */
124
+ export function getColumnWidths(terminalWidth) {
125
+ // Fixed widths for non-title columns (documented rationale):
126
+ const FIXED_ID_WIDTH = 22; // Fits 'story-xxxxxxxx-xxxx' format (20 chars) + padding
127
+ const FIXED_STATUS_WIDTH = 14; // Longest status 'in-progress' (11 chars) + padding
128
+ const FIXED_LABELS_WIDTH = 30; // Space for ~3-4 typical labels with commas
129
+ const FIXED_FLAGS_WIDTH = 8; // Fits '[RPIV!]' (7 chars max) + padding
130
+ const TABLE_BORDER_OVERHEAD = 10; // Approximate space for borders and padding
131
+ // Calculate remaining space for title
132
+ const fixedWidthsTotal = FIXED_ID_WIDTH + FIXED_STATUS_WIDTH + FIXED_LABELS_WIDTH + FIXED_FLAGS_WIDTH;
133
+ const availableForTitle = Math.max(30, // Minimum title width
134
+ terminalWidth - fixedWidthsTotal - TABLE_BORDER_OVERHEAD);
135
+ // Cap title width at reasonable maximum
136
+ const titleWidth = Math.min(60, availableForTitle);
137
+ return {
138
+ id: FIXED_ID_WIDTH,
139
+ title: titleWidth,
140
+ status: FIXED_STATUS_WIDTH,
141
+ labels: FIXED_LABELS_WIDTH,
142
+ flags: FIXED_FLAGS_WIDTH,
143
+ };
144
+ }
145
+ /**
146
+ * Maximum input length to prevent DoS attacks.
147
+ * Set to 10,000 chars to accommodate long story descriptions
148
+ * while preventing memory exhaustion from malicious inputs.
149
+ */
150
+ const MAX_INPUT_LENGTH = 10000;
151
+ /**
152
+ * Forbidden label names that could cause prototype pollution
153
+ */
154
+ const FORBIDDEN_KEYS = ['__proto__', 'constructor', 'prototype'];
155
+ /**
156
+ * Strip ANSI color codes and terminal control sequences from text
157
+ * Uses bounded quantifiers to prevent ReDoS attacks
158
+ *
159
+ * @param text - Text potentially containing ANSI codes and control sequences
160
+ * @returns Sanitized text with control sequences removed
161
+ */
162
+ export function stripAnsiCodes(text) {
163
+ if (!text)
164
+ return '';
165
+ // Remove all terminal control sequences:
166
+ // - CSI sequences (ANSI escape codes starting with \x1B[)
167
+ // Pattern: \x1B\[[^a-zA-Z\x1B]*[a-zA-Z]? matches intro + params + optional terminator
168
+ // Safe from ReDoS because [^a-zA-Z\x1B]* has no ambiguity with surrounding patterns
169
+ // - OSC sequences (operating system commands, hyperlinks)
170
+ // Pattern: \x1B\][^\x1B]* handles both valid and malformed OSC sequences
171
+ // - Standalone ESC and other control codes
172
+ // eslint-disable-next-line no-control-regex
173
+ return text.replace(/\x1B\[[^a-zA-Z\x1B]*[a-zA-Z]?|\x1B\][^\x1B]*|\x1B|[\x00-\x08\x0B-\x0C\x0E-\x1A\x1C-\x1F\x7F-\x9F]/g, '');
174
+ }
175
+ /**
176
+ * Sanitize input text to prevent security issues
177
+ * Removes dangerous characters and limits length
178
+ *
179
+ * @param text - Raw input text
180
+ * @returns Sanitized text safe for display
181
+ */
182
+ export function sanitizeInput(text) {
183
+ if (!text)
184
+ return '';
185
+ // Enforce maximum length to prevent DoS
186
+ if (text.length > MAX_INPUT_LENGTH) {
187
+ text = text.substring(0, MAX_INPUT_LENGTH);
188
+ }
189
+ // Strip terminal control sequences and normalize Unicode
190
+ text = stripAnsiCodes(text);
191
+ text = text.normalize('NFC');
192
+ return text;
193
+ }
194
+ //# sourceMappingURL=formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/cli/formatting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ export interface RunOptions {
2
+ auto?: boolean;
3
+ dryRun?: boolean;
4
+ verbose?: boolean;
5
+ }
6
+ /**
7
+ * Workflow Runner
8
+ *
9
+ * Orchestrates the execution of the SDLC workflow, processing actions
10
+ * according to priority and respecting stage gates.
11
+ */
12
+ export declare class WorkflowRunner {
13
+ private sdlcRoot;
14
+ private options;
15
+ constructor(options?: RunOptions);
16
+ /**
17
+ * Run the workflow
18
+ */
19
+ run(): Promise<void>;
20
+ /**
21
+ * Show what would be done in dry run mode
22
+ */
23
+ private showDryRun;
24
+ /**
25
+ * Process actions according to mode
26
+ */
27
+ private processActions;
28
+ /**
29
+ * Run all actions until completion
30
+ */
31
+ private runAutoMode;
32
+ /**
33
+ * Run a single action
34
+ */
35
+ private runSingleAction;
36
+ /**
37
+ * Execute a specific action
38
+ */
39
+ private executeAction;
40
+ /**
41
+ * Handle review decision - auto-complete on approval, restart RPIV on rejection
42
+ */
43
+ private handleReviewDecision;
44
+ /**
45
+ * Check if a stage gate requires approval
46
+ */
47
+ private checkStageGate;
48
+ /**
49
+ * Format an action for display
50
+ */
51
+ private formatAction;
52
+ }
53
+ /**
54
+ * Create and run the workflow
55
+ */
56
+ export declare function runWorkflow(options?: RunOptions): Promise<void>;
57
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAa;gBAEhB,OAAO,GAAE,UAAe;IAKpC;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB1B;;OAEG;IACH,OAAO,CAAC,UAAU;IAelB;;OAEG;YACW,cAAc;IAQ5B;;OAEG;YACW,WAAW;IAkCzB;;OAEG;YACW,eAAe;IA2B7B;;OAEG;YACW,aAAa;IAoE3B;;OAEG;YACW,oBAAoB;IAgDlC;;OAEG;YACW,cAAc;IAY5B;;OAEG;IACH,OAAO,CAAC,YAAY;CAerB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE"}