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.
- package/README.md +422 -0
- package/bin/clavix.js +8 -0
- package/dist/cli/commands/config.d.ts +28 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +319 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/deep.d.ts +11 -0
- package/dist/cli/commands/deep.d.ts.map +1 -0
- package/dist/cli/commands/deep.js +133 -0
- package/dist/cli/commands/deep.js.map +1 -0
- package/dist/cli/commands/fast.d.ts +12 -0
- package/dist/cli/commands/fast.d.ts.map +1 -0
- package/dist/cli/commands/fast.js +166 -0
- package/dist/cli/commands/fast.js.map +1 -0
- package/dist/cli/commands/init.d.ts +14 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +240 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/list.d.ts +15 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +195 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/prd.d.ts +12 -0
- package/dist/cli/commands/prd.d.ts.map +1 -0
- package/dist/cli/commands/prd.js +185 -0
- package/dist/cli/commands/prd.js.map +1 -0
- package/dist/cli/commands/show.d.ts +21 -0
- package/dist/cli/commands/show.d.ts.map +1 -0
- package/dist/cli/commands/show.js +230 -0
- package/dist/cli/commands/show.js.map +1 -0
- package/dist/cli/commands/start.d.ts +40 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +253 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/summarize.d.ts +22 -0
- package/dist/cli/commands/summarize.d.ts.map +1 -0
- package/dist/cli/commands/summarize.js +208 -0
- package/dist/cli/commands/summarize.js.map +1 -0
- package/dist/cli/commands/update.d.ts +17 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +239 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/commands/version.d.ts +7 -0
- package/dist/cli/commands/version.d.ts.map +1 -0
- package/dist/cli/commands/version.js +58 -0
- package/dist/cli/commands/version.js.map +1 -0
- package/dist/core/adapters/claude-code-adapter.d.ts +33 -0
- package/dist/core/adapters/claude-code-adapter.d.ts.map +1 -0
- package/dist/core/adapters/claude-code-adapter.js +130 -0
- package/dist/core/adapters/claude-code-adapter.js.map +1 -0
- package/dist/core/agent-manager.d.ts +37 -0
- package/dist/core/agent-manager.d.ts.map +1 -0
- package/dist/core/agent-manager.js +69 -0
- package/dist/core/agent-manager.js.map +1 -0
- package/dist/core/conversation-analyzer.d.ts +86 -0
- package/dist/core/conversation-analyzer.d.ts.map +1 -0
- package/dist/core/conversation-analyzer.js +391 -0
- package/dist/core/conversation-analyzer.js.map +1 -0
- package/dist/core/doc-injector.d.ts +51 -0
- package/dist/core/doc-injector.d.ts.map +1 -0
- package/dist/core/doc-injector.js +236 -0
- package/dist/core/doc-injector.js.map +1 -0
- package/dist/core/prd-generator.d.ts +76 -0
- package/dist/core/prd-generator.d.ts.map +1 -0
- package/dist/core/prd-generator.js +211 -0
- package/dist/core/prd-generator.js.map +1 -0
- package/dist/core/prompt-optimizer.d.ts +144 -0
- package/dist/core/prompt-optimizer.d.ts.map +1 -0
- package/dist/core/prompt-optimizer.js +431 -0
- package/dist/core/prompt-optimizer.js.map +1 -0
- package/dist/core/question-engine.d.ts +167 -0
- package/dist/core/question-engine.d.ts.map +1 -0
- package/dist/core/question-engine.js +395 -0
- package/dist/core/question-engine.js.map +1 -0
- package/dist/core/session-manager.d.ts +139 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +402 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/types/agent.d.ts +24 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +6 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/config.d.ts +27 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +25 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/errors.d.ts +21 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +45 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/session.d.ts +78 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +9 -0
- package/dist/types/session.js.map +1 -0
- package/dist/utils/file-system.d.ts +50 -0
- package/dist/utils/file-system.d.ts.map +1 -0
- package/dist/utils/file-system.js +232 -0
- package/dist/utils/file-system.js.map +1 -0
- 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"}
|