ironbackend 1.0.0 ā 1.0.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.
- package/README.md +113 -0
- package/dist/ai-tools.js +6 -12
- package/dist/ai-tools.js.map +1 -1
- package/dist/commands/doctor.js +26 -65
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/export.js +28 -67
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/index.js +4 -11
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.js +55 -94
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/select.js +50 -89
- package/dist/commands/select.js.map +1 -1
- package/dist/index.js +29 -34
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/README.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# ironbackend
|
|
2
|
+
|
|
3
|
+
Backend Architecture Intelligence CLI for AI Coding Assistants.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/ironbackend)
|
|
6
|
+
[](../../LICENSE)
|
|
7
|
+
|
|
8
|
+
## What is IronBackend?
|
|
9
|
+
|
|
10
|
+
A senior backend architect embedded inside your AI, installable via npm. IronBackend injects production-grade architectural knowledge into AI coding assistants like **Cursor**, **Claude**, **GitHub Copilot**, and more.
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Install globally
|
|
16
|
+
npm install -g ironbackend
|
|
17
|
+
|
|
18
|
+
# Or use with npx
|
|
19
|
+
npx ironbackend init cursor
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Quick Start
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Initialize for your AI tool
|
|
26
|
+
ironbackend init cursor # Cursor IDE
|
|
27
|
+
ironbackend init claude # Claude Code
|
|
28
|
+
ironbackend init copilot # GitHub Copilot
|
|
29
|
+
ironbackend init antigravity # Antigravity
|
|
30
|
+
|
|
31
|
+
# Interactive mode
|
|
32
|
+
ironbackend init
|
|
33
|
+
|
|
34
|
+
# With pre-selected style and stack
|
|
35
|
+
ironbackend init cursor --style hexagonal --stack node-nestjs
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Commands
|
|
39
|
+
|
|
40
|
+
| Command | Description |
|
|
41
|
+
|---------|-------------|
|
|
42
|
+
| `init <tool>` | Initialize for AI tool (cursor, claude, copilot, etc.) |
|
|
43
|
+
| `init` | Interactive tool selection |
|
|
44
|
+
| `select style <id>` | Select architecture style |
|
|
45
|
+
| `select stack <id>` | Select tech stack |
|
|
46
|
+
| `export prompts` | Export AI prompts |
|
|
47
|
+
| `doctor` | Validate setup |
|
|
48
|
+
| `list` | List available styles & stacks |
|
|
49
|
+
| `info` | Show current configuration |
|
|
50
|
+
|
|
51
|
+
## Supported AI Tools
|
|
52
|
+
|
|
53
|
+
| Tool | Output Path |
|
|
54
|
+
|------|-------------|
|
|
55
|
+
| Claude Code | `CLAUDE.md` |
|
|
56
|
+
| Cursor IDE | `.cursor/rules/ironbackend.mdc` |
|
|
57
|
+
| Windsurf | `.windsurfrules` |
|
|
58
|
+
| Antigravity | `.gemini/settings/prompts.md` |
|
|
59
|
+
| GitHub Copilot | `.github/copilot-instructions.md` |
|
|
60
|
+
| Kiro | `.kiro/rules.md` |
|
|
61
|
+
| Codex | `AGENTS.md` |
|
|
62
|
+
| Gemini CLI | `GEMINI.md` |
|
|
63
|
+
| Trae | `.trae/rules.md` |
|
|
64
|
+
|
|
65
|
+
## Architecture Styles
|
|
66
|
+
|
|
67
|
+
- **Clean Monolith** - Small teams, startups
|
|
68
|
+
- **Modular Monolith** - Growing teams, bounded contexts
|
|
69
|
+
- **Hexagonal** - Test-driven development
|
|
70
|
+
- **Event-Driven** - High throughput
|
|
71
|
+
- **CQRS** - Read-heavy workloads
|
|
72
|
+
- **Microservices (Sync/Async)** - Multiple teams
|
|
73
|
+
- **Serverless** - Variable traffic
|
|
74
|
+
- **Read-Heavy API** - Aggressive caching
|
|
75
|
+
- **Automation/Bot** - Scheduled jobs
|
|
76
|
+
|
|
77
|
+
## Tech Stacks
|
|
78
|
+
|
|
79
|
+
- Node.js + NestJS + PostgreSQL
|
|
80
|
+
- Java + Spring Boot + PostgreSQL
|
|
81
|
+
- .NET + ASP.NET Core + SQL Server
|
|
82
|
+
- Python + FastAPI + PostgreSQL
|
|
83
|
+
|
|
84
|
+
## Example
|
|
85
|
+
|
|
86
|
+
After running `ironbackend init cursor --style hexagonal --stack node-nestjs`:
|
|
87
|
+
|
|
88
|
+
Your AI assistant receives context like:
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
# IronBackend System Prompt
|
|
92
|
+
|
|
93
|
+
You are a senior backend engineer with 10+ years of experience
|
|
94
|
+
in Hexagonal Architecture using Node.js/NestJS.
|
|
95
|
+
|
|
96
|
+
## Core Principles
|
|
97
|
+
1. Domain and application core have no external dependencies
|
|
98
|
+
2. Ports define what the application needs or provides
|
|
99
|
+
3. Adapters implement ports for specific technologies
|
|
100
|
+
|
|
101
|
+
## Enforced Rules
|
|
102
|
+
[ERROR] API-001: All endpoints must have explicit schemas
|
|
103
|
+
[ERROR] DOM-005: Domain logic must not depend on framework code
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Related Packages
|
|
107
|
+
|
|
108
|
+
- [`@ironbackend/core`](https://www.npmjs.com/package/@ironbackend/core) - Knowledge base
|
|
109
|
+
- [`@ironbackend/prompts`](https://www.npmjs.com/package/@ironbackend/prompts) - Prompt builders
|
|
110
|
+
|
|
111
|
+
## License
|
|
112
|
+
|
|
113
|
+
MIT
|
package/dist/ai-tools.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* AI Tools Registry
|
|
4
3
|
* Defines supported AI coding assistants and their configuration output paths
|
|
5
4
|
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.AI_TOOLS = void 0;
|
|
8
|
-
exports.getAITool = getAITool;
|
|
9
|
-
exports.getAIToolIds = getAIToolIds;
|
|
10
|
-
exports.formatForAITool = formatForAITool;
|
|
11
5
|
/**
|
|
12
6
|
* All supported AI coding tools
|
|
13
7
|
*/
|
|
14
|
-
|
|
8
|
+
export const AI_TOOLS = [
|
|
15
9
|
{
|
|
16
10
|
id: 'claude',
|
|
17
11
|
name: 'Claude Code',
|
|
@@ -80,19 +74,19 @@ exports.AI_TOOLS = [
|
|
|
80
74
|
/**
|
|
81
75
|
* Get AI tool by ID
|
|
82
76
|
*/
|
|
83
|
-
function getAITool(id) {
|
|
84
|
-
return
|
|
77
|
+
export function getAITool(id) {
|
|
78
|
+
return AI_TOOLS.find(tool => tool.id === id);
|
|
85
79
|
}
|
|
86
80
|
/**
|
|
87
81
|
* Get all AI tool IDs
|
|
88
82
|
*/
|
|
89
|
-
function getAIToolIds() {
|
|
90
|
-
return
|
|
83
|
+
export function getAIToolIds() {
|
|
84
|
+
return AI_TOOLS.map(tool => tool.id);
|
|
91
85
|
}
|
|
92
86
|
/**
|
|
93
87
|
* Generate content for specific AI tool format
|
|
94
88
|
*/
|
|
95
|
-
function formatForAITool(tool, content) {
|
|
89
|
+
export function formatForAITool(tool, content) {
|
|
96
90
|
if (tool.format === 'mdc') {
|
|
97
91
|
// Cursor MDC format with frontmatter
|
|
98
92
|
const globs = tool.globs || ['**/*'];
|
package/dist/ai-tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-tools.js","sourceRoot":"","sources":["../src/ai-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-tools.js","sourceRoot":"","sources":["../src/ai-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACpC;QACI,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,mCAAmC;QAChD,UAAU,EAAE,WAAW;QACvB,MAAM,EAAE,IAAI;KACf;IACD;QACI,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,4BAA4B;QACzC,UAAU,EAAE,+BAA+B;QAC3C,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;KAC9E;IACD;QACI,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,IAAI;KACf;IACD;QACI,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,qCAAqC;QAClD,UAAU,EAAE,6BAA6B;QACzC,MAAM,EAAE,IAAI;KACf;IACD;QACI,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,yCAAyC;QACtD,UAAU,EAAE,iCAAiC;QAC7C,MAAM,EAAE,IAAI;KACf;IACD;QACI,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,cAAc;QAC3B,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,IAAI;KACf;IACD;QACI,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,WAAW;QACvB,MAAM,EAAE,IAAI;KACf;IACD;QACI,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,mBAAmB;QAChC,UAAU,EAAE,WAAW;QACvB,MAAM,EAAE,IAAI;KACf;IACD;QACI,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,aAAa;QAC1B,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,IAAI;KACf;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,EAAU;IAChC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IACxB,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAkB,EAAE,OAAe;IAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACxB,qCAAqC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO;;SAEN,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;;EAG5B,OAAO,EAAE,CAAC;IACR,CAAC;IAED,2BAA2B;IAC3B,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -1,58 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Doctor Command
|
|
4
3
|
* Validate IronBackend configuration
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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.createDoctorCommand = createDoctorCommand;
|
|
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 core_1 = require("@ironbackend/core");
|
|
5
|
+
import { Command } from 'commander';
|
|
6
|
+
import * as fs from 'fs';
|
|
7
|
+
import * as path from 'path';
|
|
8
|
+
import chalk from 'chalk';
|
|
9
|
+
import { getStyle, getStack, getStyleIds, getStackIds, VERSION } from '@ironbackend/core';
|
|
49
10
|
const IRONBACKEND_DIR = '.ironbackend';
|
|
50
11
|
const CONFIG_FILE = 'config.json';
|
|
51
12
|
/**
|
|
52
13
|
* Create the doctor command
|
|
53
14
|
*/
|
|
54
|
-
function createDoctorCommand() {
|
|
55
|
-
const cmd = new
|
|
15
|
+
export function createDoctorCommand() {
|
|
16
|
+
const cmd = new Command('doctor');
|
|
56
17
|
cmd
|
|
57
18
|
.description('Validate IronBackend configuration and check for issues')
|
|
58
19
|
.option('-v, --verbose', 'Show detailed output')
|
|
@@ -62,7 +23,7 @@ function createDoctorCommand() {
|
|
|
62
23
|
return cmd;
|
|
63
24
|
}
|
|
64
25
|
async function runDoctor(options) {
|
|
65
|
-
console.log(
|
|
26
|
+
console.log(chalk.bold.blue('\n𩺠IronBackend Doctor\n'));
|
|
66
27
|
const checks = [];
|
|
67
28
|
const cwd = process.cwd();
|
|
68
29
|
// Check 1: .ironbackend directory exists
|
|
@@ -110,7 +71,7 @@ async function runDoctor(options) {
|
|
|
110
71
|
}
|
|
111
72
|
// Check 3: Version compatibility
|
|
112
73
|
if (config) {
|
|
113
|
-
if (config.version ===
|
|
74
|
+
if (config.version === VERSION) {
|
|
114
75
|
checks.push({
|
|
115
76
|
name: 'Version',
|
|
116
77
|
status: 'pass',
|
|
@@ -121,13 +82,13 @@ async function runDoctor(options) {
|
|
|
121
82
|
checks.push({
|
|
122
83
|
name: 'Version',
|
|
123
84
|
status: 'warn',
|
|
124
|
-
message: `Config version ${config.version} differs from CLI version ${
|
|
85
|
+
message: `Config version ${config.version} differs from CLI version ${VERSION}`
|
|
125
86
|
});
|
|
126
87
|
}
|
|
127
88
|
}
|
|
128
89
|
// Check 4: Style is valid
|
|
129
90
|
if (config && config.style) {
|
|
130
|
-
const style =
|
|
91
|
+
const style = getStyle(config.style);
|
|
131
92
|
if (style) {
|
|
132
93
|
checks.push({
|
|
133
94
|
name: 'Architecture style',
|
|
@@ -139,7 +100,7 @@ async function runDoctor(options) {
|
|
|
139
100
|
checks.push({
|
|
140
101
|
name: 'Architecture style',
|
|
141
102
|
status: 'fail',
|
|
142
|
-
message: `Unknown style: ${config.style}. Available: ${
|
|
103
|
+
message: `Unknown style: ${config.style}. Available: ${getStyleIds().join(', ')}`
|
|
143
104
|
});
|
|
144
105
|
}
|
|
145
106
|
}
|
|
@@ -152,7 +113,7 @@ async function runDoctor(options) {
|
|
|
152
113
|
}
|
|
153
114
|
// Check 5: Stack is valid
|
|
154
115
|
if (config && config.stack) {
|
|
155
|
-
const stack =
|
|
116
|
+
const stack = getStack(config.stack);
|
|
156
117
|
if (stack) {
|
|
157
118
|
checks.push({
|
|
158
119
|
name: 'Tech stack',
|
|
@@ -164,7 +125,7 @@ async function runDoctor(options) {
|
|
|
164
125
|
checks.push({
|
|
165
126
|
name: 'Tech stack',
|
|
166
127
|
status: 'fail',
|
|
167
|
-
message: `Unknown stack: ${config.stack}. Available: ${
|
|
128
|
+
message: `Unknown stack: ${config.stack}. Available: ${getStackIds().join(', ')}`
|
|
168
129
|
});
|
|
169
130
|
}
|
|
170
131
|
}
|
|
@@ -240,7 +201,7 @@ async function runDoctor(options) {
|
|
|
240
201
|
}
|
|
241
202
|
}
|
|
242
203
|
// Print results
|
|
243
|
-
console.log(
|
|
204
|
+
console.log(chalk.bold('Checks:\n'));
|
|
244
205
|
let passCount = 0;
|
|
245
206
|
let warnCount = 0;
|
|
246
207
|
let failCount = 0;
|
|
@@ -250,41 +211,41 @@ async function runDoctor(options) {
|
|
|
250
211
|
switch (check.status) {
|
|
251
212
|
case 'pass':
|
|
252
213
|
icon = 'ā';
|
|
253
|
-
color =
|
|
214
|
+
color = chalk.green;
|
|
254
215
|
passCount++;
|
|
255
216
|
break;
|
|
256
217
|
case 'warn':
|
|
257
218
|
icon = 'ā ';
|
|
258
|
-
color =
|
|
219
|
+
color = chalk.yellow;
|
|
259
220
|
warnCount++;
|
|
260
221
|
break;
|
|
261
222
|
case 'fail':
|
|
262
223
|
icon = 'ā';
|
|
263
|
-
color =
|
|
224
|
+
color = chalk.red;
|
|
264
225
|
failCount++;
|
|
265
226
|
break;
|
|
266
227
|
}
|
|
267
228
|
console.log(color(` ${icon} ${check.name}`));
|
|
268
229
|
if (options.verbose || check.status !== 'pass') {
|
|
269
|
-
console.log(
|
|
230
|
+
console.log(chalk.gray(` ${check.message}`));
|
|
270
231
|
}
|
|
271
232
|
}
|
|
272
233
|
// Summary
|
|
273
|
-
console.log(
|
|
274
|
-
console.log(
|
|
234
|
+
console.log(chalk.bold('\nSummary:'));
|
|
235
|
+
console.log(chalk.green(` ā ${passCount} passed`));
|
|
275
236
|
if (warnCount > 0)
|
|
276
|
-
console.log(
|
|
237
|
+
console.log(chalk.yellow(` ā ${warnCount} warnings`));
|
|
277
238
|
if (failCount > 0)
|
|
278
|
-
console.log(
|
|
239
|
+
console.log(chalk.red(` ā ${failCount} failed`));
|
|
279
240
|
if (failCount > 0) {
|
|
280
|
-
console.log(
|
|
241
|
+
console.log(chalk.red('\nā Some checks failed. Fix the issues above.'));
|
|
281
242
|
process.exit(1);
|
|
282
243
|
}
|
|
283
244
|
else if (warnCount > 0) {
|
|
284
|
-
console.log(
|
|
245
|
+
console.log(chalk.yellow('\nā ļø Some warnings found. Consider addressing them.'));
|
|
285
246
|
}
|
|
286
247
|
else {
|
|
287
|
-
console.log(
|
|
248
|
+
console.log(chalk.green('\nā
All checks passed!'));
|
|
288
249
|
}
|
|
289
250
|
}
|
|
290
251
|
//# sourceMappingURL=doctor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/export.js
CHANGED
|
@@ -1,60 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Export Command
|
|
4
3
|
* Export prompts to various formats
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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");
|
|
5
|
+
import { Command } from 'commander';
|
|
6
|
+
import * as fs from 'fs';
|
|
7
|
+
import * as path from 'path';
|
|
8
|
+
import chalk from 'chalk';
|
|
9
|
+
import ora from 'ora';
|
|
10
|
+
import { getStyle, getStack } from '@ironbackend/core';
|
|
11
|
+
import { buildPromptSections } from '@ironbackend/prompts';
|
|
51
12
|
const IRONBACKEND_DIR = '.ironbackend';
|
|
52
13
|
const CONFIG_FILE = 'config.json';
|
|
53
14
|
/**
|
|
54
15
|
* Create the export command
|
|
55
16
|
*/
|
|
56
|
-
function createExportCommand() {
|
|
57
|
-
const cmd = new
|
|
17
|
+
export function createExportCommand() {
|
|
18
|
+
const cmd = new Command('export');
|
|
58
19
|
cmd.description('Export prompts and configurations');
|
|
59
20
|
// Export prompts
|
|
60
21
|
cmd
|
|
@@ -76,17 +37,17 @@ function createExportCommand() {
|
|
|
76
37
|
return cmd;
|
|
77
38
|
}
|
|
78
39
|
async function exportPrompts(options) {
|
|
79
|
-
console.log(
|
|
40
|
+
console.log(chalk.bold.blue('\nš¤ Exporting Prompts\n'));
|
|
80
41
|
const config = loadConfig();
|
|
81
42
|
if (!config.style || !config.stack) {
|
|
82
|
-
console.log(
|
|
83
|
-
console.log(
|
|
84
|
-
console.log(
|
|
43
|
+
console.log(chalk.red('Style and stack must be selected before exporting.'));
|
|
44
|
+
console.log(chalk.yellow('Run: ironbackend select style <name>'));
|
|
45
|
+
console.log(chalk.yellow('Run: ironbackend select stack <name>'));
|
|
85
46
|
process.exit(1);
|
|
86
47
|
}
|
|
87
|
-
const spinner = (
|
|
48
|
+
const spinner = ora('Generating prompts...').start();
|
|
88
49
|
try {
|
|
89
|
-
const prompts =
|
|
50
|
+
const prompts = buildPromptSections({
|
|
90
51
|
styleId: config.style,
|
|
91
52
|
stackId: config.stack,
|
|
92
53
|
ruleCategories: config.rules?.enabled || undefined
|
|
@@ -129,8 +90,8 @@ Copy this entire prompt to your Claude project's custom instructions or include
|
|
|
129
90
|
if (options.format === 'all') {
|
|
130
91
|
const copilotPrompt = `# GitHub Copilot Custom Instructions
|
|
131
92
|
|
|
132
|
-
## Architecture: ${
|
|
133
|
-
## Stack: ${
|
|
93
|
+
## Architecture: ${getStyle(config.style).name}
|
|
94
|
+
## Stack: ${getStack(config.stack).name}
|
|
134
95
|
|
|
135
96
|
${prompts.style}
|
|
136
97
|
|
|
@@ -140,29 +101,29 @@ ${prompts.rules}`;
|
|
|
140
101
|
fs.writeFileSync(path.join(outputPath, 'copilot-instructions.md'), copilotPrompt);
|
|
141
102
|
}
|
|
142
103
|
spinner.succeed('Prompts exported successfully!');
|
|
143
|
-
console.log(
|
|
104
|
+
console.log(chalk.bold('\nš Exported files:'));
|
|
144
105
|
const files = fs.readdirSync(outputPath);
|
|
145
106
|
files.forEach(file => {
|
|
146
107
|
const stats = fs.statSync(path.join(outputPath, file));
|
|
147
108
|
const size = (stats.size / 1024).toFixed(1);
|
|
148
|
-
console.log(
|
|
109
|
+
console.log(chalk.gray(` ${file} (${size} KB)`));
|
|
149
110
|
});
|
|
150
111
|
if (options.format === 'all' || options.format === 'cursor') {
|
|
151
|
-
console.log(
|
|
112
|
+
console.log(chalk.gray(` .cursor/rules/ironbackend.mdc`));
|
|
152
113
|
}
|
|
153
|
-
console.log(
|
|
154
|
-
console.log(
|
|
155
|
-
console.log(
|
|
156
|
-
console.log(
|
|
114
|
+
console.log(chalk.bold('\nš Usage:'));
|
|
115
|
+
console.log(chalk.cyan(' Cursor: Rules automatically applied from .cursor/rules/'));
|
|
116
|
+
console.log(chalk.cyan(' Claude: Copy claude-project.md to project instructions'));
|
|
117
|
+
console.log(chalk.cyan(' Copilot: Copy copilot-instructions.md to .github/copilot-instructions.md'));
|
|
157
118
|
}
|
|
158
119
|
catch (error) {
|
|
159
120
|
spinner.fail('Export failed');
|
|
160
|
-
console.error(
|
|
121
|
+
console.error(chalk.red(`Error: ${error.message}`));
|
|
161
122
|
process.exit(1);
|
|
162
123
|
}
|
|
163
124
|
}
|
|
164
125
|
async function exportConfig(options) {
|
|
165
|
-
console.log(
|
|
126
|
+
console.log(chalk.bold.blue('\nš¤ Exporting Configuration\n'));
|
|
166
127
|
const config = loadConfig();
|
|
167
128
|
const cwd = process.cwd();
|
|
168
129
|
const outputPath = path.resolve(cwd, options.output);
|
|
@@ -175,13 +136,13 @@ async function exportConfig(options) {
|
|
|
175
136
|
exportedAt: new Date().toISOString()
|
|
176
137
|
};
|
|
177
138
|
fs.writeFileSync(outputPath, JSON.stringify(exportedConfig, null, 2));
|
|
178
|
-
console.log(
|
|
139
|
+
console.log(chalk.green(`ā Configuration exported to: ${outputPath}`));
|
|
179
140
|
}
|
|
180
141
|
function loadConfig() {
|
|
181
142
|
const cwd = process.cwd();
|
|
182
143
|
const configPath = path.join(cwd, IRONBACKEND_DIR, CONFIG_FILE);
|
|
183
144
|
if (!fs.existsSync(configPath)) {
|
|
184
|
-
console.log(
|
|
145
|
+
console.log(chalk.red('IronBackend not initialized. Run: ironbackend init'));
|
|
185
146
|
process.exit(1);
|
|
186
147
|
}
|
|
187
148
|
return JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/index.js
CHANGED
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* CLI Commands Export
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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; } });
|
|
4
|
+
export { createInitCommand } from './init.js';
|
|
5
|
+
export { createSelectCommand } from './select.js';
|
|
6
|
+
export { createExportCommand } from './export.js';
|
|
7
|
+
export { createDoctorCommand } from './doctor.js';
|
|
15
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","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"}
|