feat: add als generator chatbot and storage
This commit is contained in:
41
scripts/chatbot.js
Executable file
41
scripts/chatbot.js
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env node
|
||||
const readline = require('readline');
|
||||
const { generateFromPrompt } = require('../data/lib/alsGenerator');
|
||||
const path = require('path');
|
||||
|
||||
const rl = readline.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stdout,
|
||||
prompt: 'als-bot> '
|
||||
});
|
||||
|
||||
console.log('Chatbot ALS listo. Escribe "generame un als de ..." o "salir".');
|
||||
rl.prompt();
|
||||
|
||||
rl.on('line', async (line) => {
|
||||
const input = line.trim();
|
||||
if (!input) {
|
||||
rl.prompt();
|
||||
return;
|
||||
}
|
||||
if (['salir', 'exit', 'quit'].includes(input.toLowerCase())) {
|
||||
rl.close();
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const result = await generateFromPrompt(input);
|
||||
console.log('Nuevo ALS listo:', {
|
||||
projectName: result.plan.projectName,
|
||||
output: path.relative(process.cwd(), result.outputPath),
|
||||
templateHash: result.plan.templateHash
|
||||
});
|
||||
} catch (err) {
|
||||
console.error('No se pudo generar el ALS:', err.message);
|
||||
}
|
||||
rl.prompt();
|
||||
});
|
||||
|
||||
rl.on('close', () => {
|
||||
console.log('Hasta luego 👋');
|
||||
process.exit(0);
|
||||
});
|
||||
25
scripts/generate-als.js
Executable file
25
scripts/generate-als.js
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env node
|
||||
const path = require('path');
|
||||
const { generateFromPrompt } = require('../data/lib/alsGenerator');
|
||||
|
||||
async function main() {
|
||||
const prompt = process.argv.slice(2).join(' ').trim();
|
||||
if (!prompt) {
|
||||
console.error('Uso: node scripts/generate-als.js \"generame un als de reggaeton\"');
|
||||
process.exit(1);
|
||||
}
|
||||
try {
|
||||
const result = await generateFromPrompt(prompt);
|
||||
console.log('✅ ALS generado:', {
|
||||
projectName: result.plan.projectName,
|
||||
outputPath: path.relative(process.cwd(), result.outputPath),
|
||||
templateHash: result.plan.templateHash,
|
||||
registered: result.registered
|
||||
});
|
||||
} catch (err) {
|
||||
console.error('❌ Error generando ALS:', err.message);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user