clavix 1.1.0

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 (103) hide show
  1. package/README.md +422 -0
  2. package/bin/clavix.js +8 -0
  3. package/dist/cli/commands/config.d.ts +28 -0
  4. package/dist/cli/commands/config.d.ts.map +1 -0
  5. package/dist/cli/commands/config.js +319 -0
  6. package/dist/cli/commands/config.js.map +1 -0
  7. package/dist/cli/commands/deep.d.ts +11 -0
  8. package/dist/cli/commands/deep.d.ts.map +1 -0
  9. package/dist/cli/commands/deep.js +133 -0
  10. package/dist/cli/commands/deep.js.map +1 -0
  11. package/dist/cli/commands/fast.d.ts +12 -0
  12. package/dist/cli/commands/fast.d.ts.map +1 -0
  13. package/dist/cli/commands/fast.js +166 -0
  14. package/dist/cli/commands/fast.js.map +1 -0
  15. package/dist/cli/commands/init.d.ts +14 -0
  16. package/dist/cli/commands/init.d.ts.map +1 -0
  17. package/dist/cli/commands/init.js +240 -0
  18. package/dist/cli/commands/init.js.map +1 -0
  19. package/dist/cli/commands/list.d.ts +15 -0
  20. package/dist/cli/commands/list.d.ts.map +1 -0
  21. package/dist/cli/commands/list.js +195 -0
  22. package/dist/cli/commands/list.js.map +1 -0
  23. package/dist/cli/commands/prd.d.ts +12 -0
  24. package/dist/cli/commands/prd.d.ts.map +1 -0
  25. package/dist/cli/commands/prd.js +185 -0
  26. package/dist/cli/commands/prd.js.map +1 -0
  27. package/dist/cli/commands/show.d.ts +21 -0
  28. package/dist/cli/commands/show.d.ts.map +1 -0
  29. package/dist/cli/commands/show.js +230 -0
  30. package/dist/cli/commands/show.js.map +1 -0
  31. package/dist/cli/commands/start.d.ts +40 -0
  32. package/dist/cli/commands/start.d.ts.map +1 -0
  33. package/dist/cli/commands/start.js +253 -0
  34. package/dist/cli/commands/start.js.map +1 -0
  35. package/dist/cli/commands/summarize.d.ts +22 -0
  36. package/dist/cli/commands/summarize.d.ts.map +1 -0
  37. package/dist/cli/commands/summarize.js +208 -0
  38. package/dist/cli/commands/summarize.js.map +1 -0
  39. package/dist/cli/commands/update.d.ts +17 -0
  40. package/dist/cli/commands/update.d.ts.map +1 -0
  41. package/dist/cli/commands/update.js +239 -0
  42. package/dist/cli/commands/update.js.map +1 -0
  43. package/dist/cli/commands/version.d.ts +7 -0
  44. package/dist/cli/commands/version.d.ts.map +1 -0
  45. package/dist/cli/commands/version.js +58 -0
  46. package/dist/cli/commands/version.js.map +1 -0
  47. package/dist/core/adapters/claude-code-adapter.d.ts +33 -0
  48. package/dist/core/adapters/claude-code-adapter.d.ts.map +1 -0
  49. package/dist/core/adapters/claude-code-adapter.js +130 -0
  50. package/dist/core/adapters/claude-code-adapter.js.map +1 -0
  51. package/dist/core/agent-manager.d.ts +37 -0
  52. package/dist/core/agent-manager.d.ts.map +1 -0
  53. package/dist/core/agent-manager.js +69 -0
  54. package/dist/core/agent-manager.js.map +1 -0
  55. package/dist/core/conversation-analyzer.d.ts +86 -0
  56. package/dist/core/conversation-analyzer.d.ts.map +1 -0
  57. package/dist/core/conversation-analyzer.js +391 -0
  58. package/dist/core/conversation-analyzer.js.map +1 -0
  59. package/dist/core/doc-injector.d.ts +51 -0
  60. package/dist/core/doc-injector.d.ts.map +1 -0
  61. package/dist/core/doc-injector.js +236 -0
  62. package/dist/core/doc-injector.js.map +1 -0
  63. package/dist/core/prd-generator.d.ts +76 -0
  64. package/dist/core/prd-generator.d.ts.map +1 -0
  65. package/dist/core/prd-generator.js +211 -0
  66. package/dist/core/prd-generator.js.map +1 -0
  67. package/dist/core/prompt-optimizer.d.ts +144 -0
  68. package/dist/core/prompt-optimizer.d.ts.map +1 -0
  69. package/dist/core/prompt-optimizer.js +431 -0
  70. package/dist/core/prompt-optimizer.js.map +1 -0
  71. package/dist/core/question-engine.d.ts +167 -0
  72. package/dist/core/question-engine.d.ts.map +1 -0
  73. package/dist/core/question-engine.js +395 -0
  74. package/dist/core/question-engine.js.map +1 -0
  75. package/dist/core/session-manager.d.ts +139 -0
  76. package/dist/core/session-manager.d.ts.map +1 -0
  77. package/dist/core/session-manager.js +402 -0
  78. package/dist/core/session-manager.js.map +1 -0
  79. package/dist/index.d.ts +3 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +16 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/types/agent.d.ts +24 -0
  84. package/dist/types/agent.d.ts.map +1 -0
  85. package/dist/types/agent.js +6 -0
  86. package/dist/types/agent.js.map +1 -0
  87. package/dist/types/config.d.ts +27 -0
  88. package/dist/types/config.d.ts.map +1 -0
  89. package/dist/types/config.js +25 -0
  90. package/dist/types/config.js.map +1 -0
  91. package/dist/types/errors.d.ts +21 -0
  92. package/dist/types/errors.d.ts.map +1 -0
  93. package/dist/types/errors.js +45 -0
  94. package/dist/types/errors.js.map +1 -0
  95. package/dist/types/session.d.ts +78 -0
  96. package/dist/types/session.d.ts.map +1 -0
  97. package/dist/types/session.js +9 -0
  98. package/dist/types/session.js.map +1 -0
  99. package/dist/utils/file-system.d.ts +50 -0
  100. package/dist/utils/file-system.d.ts.map +1 -0
  101. package/dist/utils/file-system.js +232 -0
  102. package/dist/utils/file-system.js.map +1 -0
  103. package/package.json +87 -0
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const core_1 = require("@oclif/core");
40
+ const chalk_1 = __importDefault(require("chalk"));
41
+ const fs = __importStar(require("fs-extra"));
42
+ const path = __importStar(require("path"));
43
+ const session_manager_1 = require("../../core/session-manager");
44
+ class List extends core_1.Command {
45
+ async run() {
46
+ const { flags } = await this.parse(List);
47
+ const clavixDir = path.join(process.cwd(), '.clavix');
48
+ if (!fs.existsSync(clavixDir)) {
49
+ this.error(chalk_1.default.red('No .clavix directory found.') +
50
+ '\n' +
51
+ chalk_1.default.yellow('Run ') +
52
+ chalk_1.default.cyan('clavix init') +
53
+ chalk_1.default.yellow(' to initialize Clavix in this project.'));
54
+ }
55
+ // If no specific flag is set, show both
56
+ const showSessions = flags.sessions || (!flags.outputs && !flags.sessions);
57
+ const showOutputs = flags.outputs || (!flags.outputs && !flags.sessions);
58
+ if (showSessions) {
59
+ await this.listSessions(flags.project, flags.limit);
60
+ }
61
+ if (showOutputs) {
62
+ if (showSessions) {
63
+ this.log(''); // Add spacing
64
+ }
65
+ await this.listOutputs(flags.project, flags.limit);
66
+ }
67
+ }
68
+ async listSessions(projectFilter, limit) {
69
+ this.log(chalk_1.default.bold.cyan('📋 Sessions\n'));
70
+ const sessionManager = new session_manager_1.SessionManager();
71
+ const sessions = await sessionManager.listSessions();
72
+ if (sessions.length === 0) {
73
+ this.log(chalk_1.default.gray(' No sessions found.'));
74
+ this.log(chalk_1.default.gray(' Run ') + chalk_1.default.cyan('clavix start') + chalk_1.default.gray(' to create a new session.'));
75
+ return;
76
+ }
77
+ // Filter by project if specified
78
+ let filteredSessions = sessions;
79
+ if (projectFilter) {
80
+ filteredSessions = sessions.filter(s => s.projectName?.toLowerCase().includes(projectFilter.toLowerCase()));
81
+ }
82
+ // Sort by updated date (most recent first)
83
+ filteredSessions.sort((a, b) => new Date(b.updated).getTime() - new Date(a.updated).getTime());
84
+ // Apply limit
85
+ if (limit) {
86
+ filteredSessions = filteredSessions.slice(0, limit);
87
+ }
88
+ if (filteredSessions.length === 0) {
89
+ this.log(chalk_1.default.gray(` No sessions found matching "${projectFilter}".`));
90
+ return;
91
+ }
92
+ // Display sessions in a table-like format
93
+ filteredSessions.forEach((session, index) => {
94
+ const isActive = session.status === 'active';
95
+ const statusIcon = isActive ? '🟢' : '⚪';
96
+ const projectName = session.projectName || 'untitled';
97
+ const created = new Date(session.created).toLocaleDateString();
98
+ const updated = new Date(session.updated).toLocaleString();
99
+ const messageCount = session.messageCount || 0;
100
+ this.log(` ${statusIcon} ${chalk_1.default.bold(projectName)} ${chalk_1.default.gray(`(${session.id})`)}` +
101
+ `\n ${chalk_1.default.gray('Created:')} ${created} ${chalk_1.default.gray('│')} ` +
102
+ `${chalk_1.default.gray('Updated:')} ${updated}` +
103
+ `\n ${chalk_1.default.gray('Messages:')} ${messageCount} ${chalk_1.default.gray('│')} ` +
104
+ `${chalk_1.default.gray('Status:')} ${isActive ? chalk_1.default.green('active') : chalk_1.default.gray('completed')}` +
105
+ (index < filteredSessions.length - 1 ? '\n' : ''));
106
+ });
107
+ this.log('');
108
+ this.log(chalk_1.default.gray(` Showing ${filteredSessions.length} of ${sessions.length} sessions`));
109
+ if (sessions.length > filteredSessions.length && !limit) {
110
+ this.log(chalk_1.default.gray(` Use ${chalk_1.default.cyan('--limit N')} to show more results`));
111
+ }
112
+ }
113
+ async listOutputs(projectFilter, limit) {
114
+ this.log(chalk_1.default.bold.cyan('📁 Outputs\n'));
115
+ const outputsDir = path.join(process.cwd(), '.clavix', 'outputs');
116
+ if (!fs.existsSync(outputsDir)) {
117
+ this.log(chalk_1.default.gray(' No outputs found.'));
118
+ this.log(chalk_1.default.gray(' Run ') + chalk_1.default.cyan('clavix prd') + chalk_1.default.gray(' or ') + chalk_1.default.cyan('clavix summarize') + chalk_1.default.gray(' to generate outputs.'));
119
+ return;
120
+ }
121
+ const projectDirs = fs.readdirSync(outputsDir).filter(name => {
122
+ const fullPath = path.join(outputsDir, name);
123
+ return fs.statSync(fullPath).isDirectory();
124
+ });
125
+ if (projectDirs.length === 0) {
126
+ this.log(chalk_1.default.gray(' No outputs found.'));
127
+ return;
128
+ }
129
+ // Filter by project if specified
130
+ let filteredDirs = projectDirs;
131
+ if (projectFilter) {
132
+ filteredDirs = projectDirs.filter(dir => dir.toLowerCase().includes(projectFilter.toLowerCase()));
133
+ }
134
+ // Sort by modification time (most recent first)
135
+ filteredDirs.sort((a, b) => {
136
+ const aPath = path.join(outputsDir, a);
137
+ const bPath = path.join(outputsDir, b);
138
+ return fs.statSync(bPath).mtime.getTime() - fs.statSync(aPath).mtime.getTime();
139
+ });
140
+ // Apply limit
141
+ if (limit) {
142
+ filteredDirs = filteredDirs.slice(0, limit);
143
+ }
144
+ if (filteredDirs.length === 0) {
145
+ this.log(chalk_1.default.gray(` No outputs found matching "${projectFilter}".`));
146
+ return;
147
+ }
148
+ // Display outputs
149
+ filteredDirs.forEach((projectDir, index) => {
150
+ const projectPath = path.join(outputsDir, projectDir);
151
+ const files = fs.readdirSync(projectPath).filter(f => f.endsWith('.md'));
152
+ const modified = fs.statSync(projectPath).mtime.toLocaleDateString();
153
+ this.log(` 📄 ${chalk_1.default.bold(projectDir)}` +
154
+ `\n ${chalk_1.default.gray('Path:')} ${chalk_1.default.dim(path.relative(process.cwd(), projectPath))}` +
155
+ `\n ${chalk_1.default.gray('Files:')} ${files.join(', ')}` +
156
+ `\n ${chalk_1.default.gray('Modified:')} ${modified}` +
157
+ (index < filteredDirs.length - 1 ? '\n' : ''));
158
+ });
159
+ this.log('');
160
+ this.log(chalk_1.default.gray(` Showing ${filteredDirs.length} of ${projectDirs.length} output directories`));
161
+ if (projectDirs.length > filteredDirs.length && !limit) {
162
+ this.log(chalk_1.default.gray(` Use ${chalk_1.default.cyan('--limit N')} to show more results`));
163
+ }
164
+ }
165
+ }
166
+ List.description = 'List sessions and outputs';
167
+ List.examples = [
168
+ '<%= config.bin %> <%= command.id %>',
169
+ '<%= config.bin %> <%= command.id %> --sessions',
170
+ '<%= config.bin %> <%= command.id %> --outputs',
171
+ '<%= config.bin %> <%= command.id %> --project my-feature',
172
+ ];
173
+ List.flags = {
174
+ sessions: core_1.Flags.boolean({
175
+ char: 's',
176
+ description: 'List only sessions',
177
+ default: false,
178
+ }),
179
+ outputs: core_1.Flags.boolean({
180
+ char: 'o',
181
+ description: 'List only outputs',
182
+ default: false,
183
+ }),
184
+ project: core_1.Flags.string({
185
+ char: 'p',
186
+ description: 'Filter by project name',
187
+ }),
188
+ limit: core_1.Flags.integer({
189
+ char: 'l',
190
+ description: 'Limit number of results',
191
+ default: 20,
192
+ }),
193
+ };
194
+ exports.default = List;
195
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Prd extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ quick: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ project: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ template: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ };
10
+ run(): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=prd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/prd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAQ7C,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,OAAO;IACtC,MAAM,CAAC,WAAW,SAA2E;IAE7F,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;MAcV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkI3B"}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const core_1 = require("@oclif/core");
40
+ const chalk_1 = __importDefault(require("chalk"));
41
+ const inquirer_1 = __importDefault(require("inquirer"));
42
+ const path = __importStar(require("path"));
43
+ const question_engine_1 = require("../../core/question-engine");
44
+ const prd_generator_1 = require("../../core/prd-generator");
45
+ class Prd extends core_1.Command {
46
+ async run() {
47
+ const { flags } = await this.parse(Prd);
48
+ console.log(chalk_1.default.bold.cyan('\n📋 PRD Generator\n'));
49
+ console.log(chalk_1.default.gray("Let's create a comprehensive Product Requirements Document through strategic questions.\n"));
50
+ try {
51
+ // Initialize QuestionEngine
52
+ const engine = new question_engine_1.QuestionEngine();
53
+ // Determine template path
54
+ const templatePath = flags.template ||
55
+ path.join(__dirname, '../../templates/prd-questions.md');
56
+ // Load question flow
57
+ console.log(chalk_1.default.dim('Loading questions...\n'));
58
+ const flow = await engine.loadFlow(templatePath);
59
+ console.log(chalk_1.default.bold(`${flow.name}`));
60
+ console.log(chalk_1.default.gray(flow.description));
61
+ console.log();
62
+ // Collect answers through Socratic questioning
63
+ const answers = {};
64
+ let question = engine.getNextQuestion();
65
+ while (question) {
66
+ const progress = engine.getProgress();
67
+ console.log(chalk_1.default.dim(`[${progress.current + 1}/${progress.total}]`));
68
+ let answer;
69
+ if (question.type === 'confirm') {
70
+ const response = await inquirer_1.default.prompt([
71
+ {
72
+ type: 'confirm',
73
+ name: 'answer',
74
+ message: question.text,
75
+ default: question.default,
76
+ },
77
+ ]);
78
+ answer = response.answer;
79
+ }
80
+ else if (question.type === 'list' && question.choices) {
81
+ const response = await inquirer_1.default.prompt([
82
+ {
83
+ type: 'list',
84
+ name: 'answer',
85
+ message: question.text,
86
+ choices: question.choices,
87
+ },
88
+ ]);
89
+ answer = response.answer;
90
+ }
91
+ else {
92
+ // Text input
93
+ // Capture question reference for closure
94
+ const currentQuestion = question;
95
+ const response = await inquirer_1.default.prompt([
96
+ {
97
+ type: 'input',
98
+ name: 'answer',
99
+ message: currentQuestion.text,
100
+ default: currentQuestion.default,
101
+ validate: (input) => {
102
+ // Check if required
103
+ if (currentQuestion.required && !input.trim()) {
104
+ return 'This question is required';
105
+ }
106
+ // Run custom validation if exists
107
+ if (currentQuestion.validate) {
108
+ const result = currentQuestion.validate(input);
109
+ if (result !== true) {
110
+ return result;
111
+ }
112
+ }
113
+ return true;
114
+ },
115
+ },
116
+ ]);
117
+ answer = response.answer;
118
+ }
119
+ // Submit answer
120
+ if (answer && question) {
121
+ const submitResult = engine.submitAnswer(question.id, answer);
122
+ if (submitResult !== true) {
123
+ console.log(chalk_1.default.red(`\n✗ ${submitResult}\n`));
124
+ continue; // Ask again
125
+ }
126
+ answers[question.id] = answer;
127
+ }
128
+ console.log(); // Add spacing
129
+ question = engine.getNextQuestion();
130
+ }
131
+ // All questions answered
132
+ console.log(chalk_1.default.bold.green('\n✓ All questions answered!\n'));
133
+ // Generate PRDs
134
+ console.log(chalk_1.default.dim('Generating PRD documents...\n'));
135
+ const generator = new prd_generator_1.PrdGenerator();
136
+ const projectName = flags.project || generator.extractProjectName(answers);
137
+ const outputPath = await generator.generate(answers, {
138
+ projectName,
139
+ outputDir: '.clavix/outputs',
140
+ });
141
+ // Display success message
142
+ console.log(chalk_1.default.bold.green('✨ PRD documents generated successfully!\n'));
143
+ console.log(chalk_1.default.bold('Output location:'));
144
+ console.log(chalk_1.default.cyan(` ${outputPath}`));
145
+ console.log();
146
+ console.log(chalk_1.default.bold('Generated files:'));
147
+ console.log(chalk_1.default.gray(` • full-prd.md`) + chalk_1.default.dim(' - Comprehensive PRD for team alignment'));
148
+ console.log(chalk_1.default.gray(` • quick-prd.md`) + chalk_1.default.dim(' - Condensed prompt for AI agents'));
149
+ console.log();
150
+ console.log(chalk_1.default.gray('💡 Tip: Use quick-prd.md as input for your AI agent to start development\n'));
151
+ }
152
+ catch (error) {
153
+ if (error instanceof Error) {
154
+ console.log(chalk_1.default.red(`\n✗ Error: ${error.message}\n`));
155
+ }
156
+ else {
157
+ console.log(chalk_1.default.red('\n✗ An unexpected error occurred\n'));
158
+ }
159
+ this.exit(1);
160
+ }
161
+ }
162
+ }
163
+ Prd.description = 'Generate a Product Requirements Document through Socratic questioning';
164
+ Prd.examples = [
165
+ '<%= config.bin %> <%= command.id %>',
166
+ '<%= config.bin %> <%= command.id %> --quick',
167
+ '<%= config.bin %> <%= command.id %> --project my-app',
168
+ ];
169
+ Prd.flags = {
170
+ quick: core_1.Flags.boolean({
171
+ char: 'q',
172
+ description: 'Use quick mode with fewer questions',
173
+ default: false,
174
+ }),
175
+ project: core_1.Flags.string({
176
+ char: 'p',
177
+ description: 'Project name for organizing outputs',
178
+ }),
179
+ template: core_1.Flags.string({
180
+ char: 't',
181
+ description: 'Path to custom question template',
182
+ }),
183
+ };
184
+ exports.default = Prd;
185
+ //# sourceMappingURL=prd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prd.js","sourceRoot":"","sources":["../../../src/cli/commands/prd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Show extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ sessionId: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ output: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ limit: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ };
13
+ run(): Promise<void>;
14
+ private showSession;
15
+ private displaySessionHeader;
16
+ private showAssociatedOutputs;
17
+ private showOutput;
18
+ private wrapText;
19
+ private formatFileSize;
20
+ }
21
+ //# sourceMappingURL=show.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AAOnD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,MAAM,CAAC,WAAW,SAAyD;IAE3E,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;MAeV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAkDZ,WAAW;IAoDzB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,qBAAqB;YA4Bf,UAAU;IAoCxB,OAAO,CAAC,QAAQ;IAqBhB,OAAO,CAAC,cAAc;CAKvB"}