ironbackend 1.0.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/LICENSE +21 -0
- package/bin/ironbackend.js +6 -0
- package/dist/ai-tools.d.ts +31 -0
- package/dist/ai-tools.d.ts.map +1 -0
- package/dist/ai-tools.js +109 -0
- package/dist/ai-tools.js.map +1 -0
- package/dist/commands/doctor.d.ts +10 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +290 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/export.d.ts +10 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +189 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/index.d.ts +8 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +15 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/init.d.ts +10 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +233 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/select.d.ts +10 -0
- package/dist/commands/select.d.ts.map +1 -0
- package/dist/commands/select.js +237 -0
- package/dist/commands/select.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +94 -0
- package/dist/index.js.map +1 -0
- package/package.json +52 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Export Command
|
|
4
|
+
* Export prompts to various formats
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
|
+
};
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.createExportCommand = createExportCommand;
|
|
44
|
+
const commander_1 = require("commander");
|
|
45
|
+
const fs = __importStar(require("fs"));
|
|
46
|
+
const path = __importStar(require("path"));
|
|
47
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
48
|
+
const ora_1 = __importDefault(require("ora"));
|
|
49
|
+
const core_1 = require("@ironbackend/core");
|
|
50
|
+
const prompts_1 = require("@ironbackend/prompts");
|
|
51
|
+
const IRONBACKEND_DIR = '.ironbackend';
|
|
52
|
+
const CONFIG_FILE = 'config.json';
|
|
53
|
+
/**
|
|
54
|
+
* Create the export command
|
|
55
|
+
*/
|
|
56
|
+
function createExportCommand() {
|
|
57
|
+
const cmd = new commander_1.Command('export');
|
|
58
|
+
cmd.description('Export prompts and configurations');
|
|
59
|
+
// Export prompts
|
|
60
|
+
cmd
|
|
61
|
+
.command('prompts')
|
|
62
|
+
.description('Export AI prompt files')
|
|
63
|
+
.option('-o, --output <dir>', 'Output directory', '.ironbackend/prompts')
|
|
64
|
+
.option('-f, --format <format>', 'Output format (markdown, cursor, claude)', 'all')
|
|
65
|
+
.action(async (options) => {
|
|
66
|
+
await exportPrompts(options);
|
|
67
|
+
});
|
|
68
|
+
// Export config
|
|
69
|
+
cmd
|
|
70
|
+
.command('config')
|
|
71
|
+
.description('Export current configuration')
|
|
72
|
+
.option('-o, --output <file>', 'Output file', 'ironbackend.config.json')
|
|
73
|
+
.action(async (options) => {
|
|
74
|
+
await exportConfig(options);
|
|
75
|
+
});
|
|
76
|
+
return cmd;
|
|
77
|
+
}
|
|
78
|
+
async function exportPrompts(options) {
|
|
79
|
+
console.log(chalk_1.default.bold.blue('\nš¤ Exporting Prompts\n'));
|
|
80
|
+
const config = loadConfig();
|
|
81
|
+
if (!config.style || !config.stack) {
|
|
82
|
+
console.log(chalk_1.default.red('Style and stack must be selected before exporting.'));
|
|
83
|
+
console.log(chalk_1.default.yellow('Run: ironbackend select style <name>'));
|
|
84
|
+
console.log(chalk_1.default.yellow('Run: ironbackend select stack <name>'));
|
|
85
|
+
process.exit(1);
|
|
86
|
+
}
|
|
87
|
+
const spinner = (0, ora_1.default)('Generating prompts...').start();
|
|
88
|
+
try {
|
|
89
|
+
const prompts = (0, prompts_1.buildPromptSections)({
|
|
90
|
+
styleId: config.style,
|
|
91
|
+
stackId: config.stack,
|
|
92
|
+
ruleCategories: config.rules?.enabled || undefined
|
|
93
|
+
});
|
|
94
|
+
const cwd = process.cwd();
|
|
95
|
+
const outputPath = path.resolve(cwd, options.output);
|
|
96
|
+
fs.mkdirSync(outputPath, { recursive: true });
|
|
97
|
+
// Export based on format
|
|
98
|
+
if (options.format === 'all' || options.format === 'markdown') {
|
|
99
|
+
fs.writeFileSync(path.join(outputPath, 'system-prompt.md'), prompts.combined);
|
|
100
|
+
fs.writeFileSync(path.join(outputPath, 'style.md'), prompts.style);
|
|
101
|
+
fs.writeFileSync(path.join(outputPath, 'stack.md'), prompts.stack);
|
|
102
|
+
fs.writeFileSync(path.join(outputPath, 'rules.md'), prompts.rules);
|
|
103
|
+
}
|
|
104
|
+
if (options.format === 'all' || options.format === 'cursor') {
|
|
105
|
+
const cursorPath = path.join(cwd, '.cursor', 'rules');
|
|
106
|
+
fs.mkdirSync(cursorPath, { recursive: true });
|
|
107
|
+
const cursorPrompt = `---
|
|
108
|
+
description: IronBackend - Backend Architecture Intelligence
|
|
109
|
+
globs: ["**/*.ts", "**/*.js", "**/*.py", "**/*.java", "**/*.cs", "**/*.go"]
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
${prompts.combined}`;
|
|
113
|
+
fs.writeFileSync(path.join(cursorPath, 'ironbackend.mdc'), cursorPrompt);
|
|
114
|
+
fs.writeFileSync(path.join(outputPath, 'cursor-rules.mdc'), cursorPrompt);
|
|
115
|
+
}
|
|
116
|
+
if (options.format === 'all' || options.format === 'claude') {
|
|
117
|
+
const claudePrompt = `# Claude Project Prompt - IronBackend
|
|
118
|
+
|
|
119
|
+
${prompts.combined}
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## How to Use
|
|
124
|
+
|
|
125
|
+
Copy this entire prompt to your Claude project's custom instructions or include it at the start of your conversation.`;
|
|
126
|
+
fs.writeFileSync(path.join(outputPath, 'claude-project.md'), claudePrompt);
|
|
127
|
+
}
|
|
128
|
+
// Generate Copilot instructions
|
|
129
|
+
if (options.format === 'all') {
|
|
130
|
+
const copilotPrompt = `# GitHub Copilot Custom Instructions
|
|
131
|
+
|
|
132
|
+
## Architecture: ${(0, core_1.getStyle)(config.style).name}
|
|
133
|
+
## Stack: ${(0, core_1.getStack)(config.stack).name}
|
|
134
|
+
|
|
135
|
+
${prompts.style}
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
${prompts.rules}`;
|
|
140
|
+
fs.writeFileSync(path.join(outputPath, 'copilot-instructions.md'), copilotPrompt);
|
|
141
|
+
}
|
|
142
|
+
spinner.succeed('Prompts exported successfully!');
|
|
143
|
+
console.log(chalk_1.default.bold('\nš Exported files:'));
|
|
144
|
+
const files = fs.readdirSync(outputPath);
|
|
145
|
+
files.forEach(file => {
|
|
146
|
+
const stats = fs.statSync(path.join(outputPath, file));
|
|
147
|
+
const size = (stats.size / 1024).toFixed(1);
|
|
148
|
+
console.log(chalk_1.default.gray(` ${file} (${size} KB)`));
|
|
149
|
+
});
|
|
150
|
+
if (options.format === 'all' || options.format === 'cursor') {
|
|
151
|
+
console.log(chalk_1.default.gray(` .cursor/rules/ironbackend.mdc`));
|
|
152
|
+
}
|
|
153
|
+
console.log(chalk_1.default.bold('\nš Usage:'));
|
|
154
|
+
console.log(chalk_1.default.cyan(' Cursor: Rules automatically applied from .cursor/rules/'));
|
|
155
|
+
console.log(chalk_1.default.cyan(' Claude: Copy claude-project.md to project instructions'));
|
|
156
|
+
console.log(chalk_1.default.cyan(' Copilot: Copy copilot-instructions.md to .github/copilot-instructions.md'));
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
spinner.fail('Export failed');
|
|
160
|
+
console.error(chalk_1.default.red(`Error: ${error.message}`));
|
|
161
|
+
process.exit(1);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
async function exportConfig(options) {
|
|
165
|
+
console.log(chalk_1.default.bold.blue('\nš¤ Exporting Configuration\n'));
|
|
166
|
+
const config = loadConfig();
|
|
167
|
+
const cwd = process.cwd();
|
|
168
|
+
const outputPath = path.resolve(cwd, options.output);
|
|
169
|
+
const exportedConfig = {
|
|
170
|
+
$schema: 'https://ironbackend.dev/schema/config.json',
|
|
171
|
+
version: config.version,
|
|
172
|
+
style: config.style,
|
|
173
|
+
stack: config.stack,
|
|
174
|
+
rules: config.rules,
|
|
175
|
+
exportedAt: new Date().toISOString()
|
|
176
|
+
};
|
|
177
|
+
fs.writeFileSync(outputPath, JSON.stringify(exportedConfig, null, 2));
|
|
178
|
+
console.log(chalk_1.default.green(`ā Configuration exported to: ${outputPath}`));
|
|
179
|
+
}
|
|
180
|
+
function loadConfig() {
|
|
181
|
+
const cwd = process.cwd();
|
|
182
|
+
const configPath = path.join(cwd, IRONBACKEND_DIR, CONFIG_FILE);
|
|
183
|
+
if (!fs.existsSync(configPath)) {
|
|
184
|
+
console.log(chalk_1.default.red('IronBackend not initialized. Run: ironbackend init'));
|
|
185
|
+
process.exit(1);
|
|
186
|
+
}
|
|
187
|
+
return JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Commands Export
|
|
3
|
+
*/
|
|
4
|
+
export { createInitCommand } from './init.js';
|
|
5
|
+
export { createSelectCommand } from './select.js';
|
|
6
|
+
export { createExportCommand } from './export.js';
|
|
7
|
+
export { createDoctorCommand } from './doctor.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CLI Commands Export
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createDoctorCommand = exports.createExportCommand = exports.createSelectCommand = exports.createInitCommand = void 0;
|
|
7
|
+
var init_js_1 = require("./init.js");
|
|
8
|
+
Object.defineProperty(exports, "createInitCommand", { enumerable: true, get: function () { return init_js_1.createInitCommand; } });
|
|
9
|
+
var select_js_1 = require("./select.js");
|
|
10
|
+
Object.defineProperty(exports, "createSelectCommand", { enumerable: true, get: function () { return select_js_1.createSelectCommand; } });
|
|
11
|
+
var export_js_1 = require("./export.js");
|
|
12
|
+
Object.defineProperty(exports, "createExportCommand", { enumerable: true, get: function () { return export_js_1.createExportCommand; } });
|
|
13
|
+
var doctor_js_1 = require("./doctor.js");
|
|
14
|
+
Object.defineProperty(exports, "createDoctorCommand", { enumerable: true, get: function () { return doctor_js_1.createDoctorCommand; } });
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAC1B,yCAAkD;AAAzC,gHAAA,mBAAmB,OAAA;AAC5B,yCAAkD;AAAzC,gHAAA,mBAAmB,OAAA;AAC5B,yCAAkD;AAAzC,gHAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BpC;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAc3C"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Init Command
|
|
4
|
+
* Initialize IronBackend in a project for a specific AI tool
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
|
+
};
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.createInitCommand = createInitCommand;
|
|
44
|
+
const commander_1 = require("commander");
|
|
45
|
+
const fs = __importStar(require("fs"));
|
|
46
|
+
const path = __importStar(require("path"));
|
|
47
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
48
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
49
|
+
const ora_1 = __importDefault(require("ora"));
|
|
50
|
+
const core_1 = require("@ironbackend/core");
|
|
51
|
+
const prompts_1 = require("@ironbackend/prompts");
|
|
52
|
+
const ai_tools_js_1 = require("../ai-tools.js");
|
|
53
|
+
const IRONBACKEND_DIR = '.ironbackend';
|
|
54
|
+
const CONFIG_FILE = 'config.json';
|
|
55
|
+
/**
|
|
56
|
+
* Create the init command
|
|
57
|
+
*/
|
|
58
|
+
function createInitCommand() {
|
|
59
|
+
const cmd = new commander_1.Command('init');
|
|
60
|
+
cmd
|
|
61
|
+
.description('Initialize IronBackend for a specific AI tool')
|
|
62
|
+
.argument('[tool]', `AI tool to initialize (${(0, ai_tools_js_1.getAIToolIds)().join(', ')})`)
|
|
63
|
+
.option('-y, --yes', 'Skip prompts and use defaults')
|
|
64
|
+
.option('-s, --style <style>', 'Architecture style to use')
|
|
65
|
+
.option('-t, --stack <stack>', 'Tech stack to use')
|
|
66
|
+
.action(async (tool, options) => {
|
|
67
|
+
await runInit(tool, options);
|
|
68
|
+
});
|
|
69
|
+
return cmd;
|
|
70
|
+
}
|
|
71
|
+
async function runInit(toolArg, options) {
|
|
72
|
+
console.log(chalk_1.default.bold.blue('\nš§ IronBackend Initialization\n'));
|
|
73
|
+
// Resolve AI tool
|
|
74
|
+
let selectedTool;
|
|
75
|
+
if (toolArg) {
|
|
76
|
+
selectedTool = (0, ai_tools_js_1.getAITool)(toolArg);
|
|
77
|
+
if (!selectedTool) {
|
|
78
|
+
console.log(chalk_1.default.red(`Unknown AI tool: ${toolArg}`));
|
|
79
|
+
console.log(chalk_1.default.yellow(`Available tools: ${(0, ai_tools_js_1.getAIToolIds)().join(', ')}`));
|
|
80
|
+
process.exit(1);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else if (!options.yes) {
|
|
84
|
+
// Interactive tool selection
|
|
85
|
+
const toolChoices = ai_tools_js_1.AI_TOOLS.map(t => ({
|
|
86
|
+
name: `${t.name} - ${t.description}`,
|
|
87
|
+
value: t.id
|
|
88
|
+
}));
|
|
89
|
+
const { tool } = await inquirer_1.default.prompt([{
|
|
90
|
+
type: 'list',
|
|
91
|
+
name: 'tool',
|
|
92
|
+
message: 'Select AI tool to initialize for:',
|
|
93
|
+
choices: toolChoices
|
|
94
|
+
}]);
|
|
95
|
+
selectedTool = (0, ai_tools_js_1.getAITool)(tool);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
console.log(chalk_1.default.red('Please specify an AI tool: ironbackend init <tool>'));
|
|
99
|
+
console.log(chalk_1.default.yellow(`Available tools: ${(0, ai_tools_js_1.getAIToolIds)().join(', ')}`));
|
|
100
|
+
process.exit(1);
|
|
101
|
+
}
|
|
102
|
+
if (!selectedTool) {
|
|
103
|
+
console.log(chalk_1.default.red('No AI tool selected'));
|
|
104
|
+
process.exit(1);
|
|
105
|
+
}
|
|
106
|
+
console.log(chalk_1.default.cyan(`Initializing for: ${selectedTool.name}\n`));
|
|
107
|
+
const cwd = process.cwd();
|
|
108
|
+
const ironbackendPath = path.join(cwd, IRONBACKEND_DIR);
|
|
109
|
+
// Check if already initialized
|
|
110
|
+
if (fs.existsSync(ironbackendPath)) {
|
|
111
|
+
const { overwrite } = await inquirer_1.default.prompt([{
|
|
112
|
+
type: 'confirm',
|
|
113
|
+
name: 'overwrite',
|
|
114
|
+
message: '.ironbackend directory already exists. Overwrite?',
|
|
115
|
+
default: false
|
|
116
|
+
}]);
|
|
117
|
+
if (!overwrite) {
|
|
118
|
+
console.log(chalk_1.default.yellow('Initialization cancelled.'));
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
let selectedStyle = options.style || null;
|
|
123
|
+
let selectedStack = options.stack || null;
|
|
124
|
+
// Interactive prompts if not using --yes
|
|
125
|
+
if (!options.yes) {
|
|
126
|
+
// Style selection
|
|
127
|
+
if (!selectedStyle) {
|
|
128
|
+
const styleChoices = (0, core_1.getStyleIds)().map(id => {
|
|
129
|
+
const style = (0, core_1.getStyle)(id);
|
|
130
|
+
return { name: `${style.name} - ${style.description.slice(0, 50)}...`, value: id };
|
|
131
|
+
});
|
|
132
|
+
const { style } = await inquirer_1.default.prompt([{
|
|
133
|
+
type: 'list',
|
|
134
|
+
name: 'style',
|
|
135
|
+
message: 'Select an architecture style:',
|
|
136
|
+
choices: [{ name: 'Skip (select later)', value: null }, ...styleChoices]
|
|
137
|
+
}]);
|
|
138
|
+
selectedStyle = style;
|
|
139
|
+
}
|
|
140
|
+
// Stack selection
|
|
141
|
+
if (!selectedStack) {
|
|
142
|
+
const stackChoices = (0, core_1.getStackIds)().map(id => {
|
|
143
|
+
const stack = (0, core_1.getStack)(id);
|
|
144
|
+
return { name: `${stack.name}`, value: id };
|
|
145
|
+
});
|
|
146
|
+
const { stack } = await inquirer_1.default.prompt([{
|
|
147
|
+
type: 'list',
|
|
148
|
+
name: 'stack',
|
|
149
|
+
message: 'Select a tech stack:',
|
|
150
|
+
choices: [{ name: 'Skip (select later)', value: null }, ...stackChoices]
|
|
151
|
+
}]);
|
|
152
|
+
selectedStack = stack;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// Create directory structure
|
|
156
|
+
const spinner = (0, ora_1.default)('Creating IronBackend configuration...').start();
|
|
157
|
+
try {
|
|
158
|
+
// Create .ironbackend directory
|
|
159
|
+
fs.mkdirSync(ironbackendPath, { recursive: true });
|
|
160
|
+
fs.mkdirSync(path.join(ironbackendPath, 'prompts'), { recursive: true });
|
|
161
|
+
// Create config file
|
|
162
|
+
const config = {
|
|
163
|
+
version: core_1.VERSION,
|
|
164
|
+
tool: selectedTool.id,
|
|
165
|
+
style: selectedStyle,
|
|
166
|
+
stack: selectedStack,
|
|
167
|
+
rules: {
|
|
168
|
+
enabled: ['API', 'DOMAIN', 'ERROR_HANDLING', 'DATA_ACCESS', 'NAMING', 'VALIDATION', 'ASYNC'],
|
|
169
|
+
overrides: {}
|
|
170
|
+
},
|
|
171
|
+
createdAt: new Date().toISOString(),
|
|
172
|
+
updatedAt: new Date().toISOString()
|
|
173
|
+
};
|
|
174
|
+
fs.writeFileSync(path.join(ironbackendPath, CONFIG_FILE), JSON.stringify(config, null, 2));
|
|
175
|
+
// Generate prompts if style and stack are selected
|
|
176
|
+
if (selectedStyle && selectedStack) {
|
|
177
|
+
const prompts = (0, prompts_1.buildPromptSections)({
|
|
178
|
+
styleId: selectedStyle,
|
|
179
|
+
stackId: selectedStack
|
|
180
|
+
});
|
|
181
|
+
// Write prompt files to .ironbackend/prompts
|
|
182
|
+
fs.writeFileSync(path.join(ironbackendPath, 'prompts', 'system-prompt.md'), prompts.combined);
|
|
183
|
+
fs.writeFileSync(path.join(ironbackendPath, 'prompts', 'style.md'), prompts.style);
|
|
184
|
+
fs.writeFileSync(path.join(ironbackendPath, 'prompts', 'stack.md'), prompts.stack);
|
|
185
|
+
fs.writeFileSync(path.join(ironbackendPath, 'prompts', 'rules.md'), prompts.rules);
|
|
186
|
+
// Generate AI tool-specific file
|
|
187
|
+
const toolOutputPath = path.join(cwd, selectedTool.outputPath);
|
|
188
|
+
const toolOutputDir = path.dirname(toolOutputPath);
|
|
189
|
+
// Create directory if needed
|
|
190
|
+
if (toolOutputDir !== cwd) {
|
|
191
|
+
fs.mkdirSync(toolOutputDir, { recursive: true });
|
|
192
|
+
}
|
|
193
|
+
// Format content for the specific tool
|
|
194
|
+
const formattedContent = (0, ai_tools_js_1.formatForAITool)(selectedTool, prompts.combined);
|
|
195
|
+
fs.writeFileSync(toolOutputPath, formattedContent);
|
|
196
|
+
}
|
|
197
|
+
spinner.succeed('IronBackend initialized successfully!');
|
|
198
|
+
// Print summary
|
|
199
|
+
console.log(chalk_1.default.green('\nā Created .ironbackend/ directory'));
|
|
200
|
+
console.log(chalk_1.default.green('ā Created config.json'));
|
|
201
|
+
if (selectedStyle && selectedStack) {
|
|
202
|
+
console.log(chalk_1.default.green('ā Generated AI prompts'));
|
|
203
|
+
console.log(chalk_1.default.green(`ā Created ${selectedTool.outputPath}`));
|
|
204
|
+
}
|
|
205
|
+
console.log(chalk_1.default.bold('\nš Files created:'));
|
|
206
|
+
console.log(chalk_1.default.gray(' .ironbackend/'));
|
|
207
|
+
console.log(chalk_1.default.gray(' āāā config.json'));
|
|
208
|
+
console.log(chalk_1.default.gray(' āāā prompts/'));
|
|
209
|
+
if (selectedStyle && selectedStack) {
|
|
210
|
+
console.log(chalk_1.default.gray(' āāā system-prompt.md'));
|
|
211
|
+
console.log(chalk_1.default.gray(' āāā style.md'));
|
|
212
|
+
console.log(chalk_1.default.gray(' āāā stack.md'));
|
|
213
|
+
console.log(chalk_1.default.gray(' āāā rules.md'));
|
|
214
|
+
console.log(chalk_1.default.gray(` ${selectedTool.outputPath}`));
|
|
215
|
+
}
|
|
216
|
+
console.log(chalk_1.default.bold('\nš Next steps:'));
|
|
217
|
+
if (!selectedStyle || !selectedStack) {
|
|
218
|
+
console.log(chalk_1.default.cyan(' 1. Select a style: ironbackend select style <name>'));
|
|
219
|
+
console.log(chalk_1.default.cyan(' 2. Select a stack: ironbackend select stack <name>'));
|
|
220
|
+
console.log(chalk_1.default.cyan(' 3. Export prompts: ironbackend export prompts'));
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
console.log(chalk_1.default.cyan(` 1. Review generated prompts in ${selectedTool.outputPath}`));
|
|
224
|
+
console.log(chalk_1.default.cyan(` 2. Start coding with ${selectedTool.name}!`));
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
spinner.fail('Initialization failed');
|
|
229
|
+
console.error(chalk_1.default.red(`Error: ${error.message}`));
|
|
230
|
+
process.exit(1);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/commands/select.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAsB7C"}
|