@ironbackend/cli 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/dist/index.js ADDED
@@ -0,0 +1,89 @@
1
+ /**
2
+ * IronBackend CLI
3
+ * Backend Architecture Intelligence for AI Coding Assistants
4
+ */
5
+ import { Command } from 'commander';
6
+ import chalk from 'chalk';
7
+ import { VERSION } from '@ironbackend/core';
8
+ import { createInitCommand, createSelectCommand, createExportCommand, createDoctorCommand } from './commands/index.js';
9
+ const program = new Command();
10
+ // ASCII Art Banner
11
+ const banner = `
12
+ ${chalk.bold.blue('╔═══════════════════════════════════════════════════════════╗')}
13
+ ${chalk.bold.blue('║')} ${chalk.bold.white('🔧 IronBackend')} ${chalk.gray('- Backend Architecture Intelligence')} ${chalk.bold.blue('║')}
14
+ ${chalk.bold.blue('║')} ${chalk.gray(' Embedded Senior Architect for AI Assistants')} ${chalk.bold.blue('║')}
15
+ ${chalk.bold.blue('╚═══════════════════════════════════════════════════════════╝')}
16
+ `;
17
+ program
18
+ .name('ironbackend')
19
+ .description('Backend Architecture Intelligence for AI Coding Assistants')
20
+ .version(VERSION, '-v, --version', 'Output the current version')
21
+ .addHelpText('before', banner);
22
+ // Add commands
23
+ program.addCommand(createInitCommand());
24
+ program.addCommand(createSelectCommand());
25
+ program.addCommand(createExportCommand());
26
+ program.addCommand(createDoctorCommand());
27
+ // List command - show available styles and stacks
28
+ program
29
+ .command('list')
30
+ .description('List available styles and stacks')
31
+ .option('-s, --styles', 'List architecture styles only')
32
+ .option('-t, --stacks', 'List tech stacks only')
33
+ .action(async (options) => {
34
+ const { getStyleIds, getStackIds, getStyle, getStack } = await import('@ironbackend/core');
35
+ if (!options.stacks) {
36
+ console.log(chalk.bold.blue('\n📐 Architecture Styles:\n'));
37
+ getStyleIds().forEach(id => {
38
+ const style = getStyle(id);
39
+ console.log(chalk.bold(` ${id}`));
40
+ console.log(chalk.gray(` ${style.name} - ${style.description.slice(0, 60)}...`));
41
+ });
42
+ }
43
+ if (!options.styles) {
44
+ console.log(chalk.bold.blue('\n🛠️ Tech Stacks:\n'));
45
+ getStackIds().forEach(id => {
46
+ const stack = getStack(id);
47
+ console.log(chalk.bold(` ${id}`));
48
+ console.log(chalk.gray(` ${stack.name}`));
49
+ });
50
+ }
51
+ console.log('');
52
+ });
53
+ // Info command - show current configuration
54
+ program
55
+ .command('info')
56
+ .description('Show current IronBackend configuration')
57
+ .action(async () => {
58
+ const fs = await import('fs');
59
+ const path = await import('path');
60
+ const { getStyle, getStack } = await import('@ironbackend/core');
61
+ const configPath = path.join(process.cwd(), '.ironbackend', 'config.json');
62
+ if (!fs.existsSync(configPath)) {
63
+ console.log(chalk.red('\nIronBackend not initialized. Run: ironbackend init\n'));
64
+ return;
65
+ }
66
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
67
+ console.log(chalk.bold.blue('\n📋 Current Configuration\n'));
68
+ console.log(chalk.bold(' Version:'), config.version);
69
+ if (config.style) {
70
+ const style = getStyle(config.style);
71
+ console.log(chalk.bold(' Style:'), style ? style.name : chalk.red(config.style));
72
+ }
73
+ else {
74
+ console.log(chalk.bold(' Style:'), chalk.yellow('Not selected'));
75
+ }
76
+ if (config.stack) {
77
+ const stack = getStack(config.stack);
78
+ console.log(chalk.bold(' Stack:'), stack ? stack.name : chalk.red(config.stack));
79
+ }
80
+ else {
81
+ console.log(chalk.bold(' Stack:'), chalk.yellow('Not selected'));
82
+ }
83
+ console.log(chalk.bold(' Rules:'), config.rules?.enabled?.length || 0, 'categories enabled');
84
+ console.log(chalk.bold(' Updated:'), config.updatedAt || 'Unknown');
85
+ console.log('');
86
+ });
87
+ // Parse arguments
88
+ program.parse();
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACH,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,mBAAmB;AACnB,MAAM,MAAM,GAAG;EACb,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,+DAA+D,CAAC;EAChF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;EAC5I,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;EACvH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,+DAA+D,CAAC;CACjF,CAAC;AAEF,OAAO;KACF,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,4DAA4D,CAAC;KACzE,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,4BAA4B,CAAC;KAC/D,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEnC,eAAe;AACf,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAE1C,kDAAkD;AAClD,OAAO;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,cAAc,EAAE,+BAA+B,CAAC;KACvD,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACtB,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE3F,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC5D,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACtD,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEP,4CAA4C;AAC5C,OAAO;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,KAAK,IAAI,EAAE;IACf,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAE3E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;QACjF,OAAO;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAE7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEP,kBAAkB;AAClB,OAAO,CAAC,KAAK,EAAE,CAAC"}
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@ironbackend/cli",
3
+ "version": "1.0.1",
4
+ "type": "module",
5
+ "description": "Backend Architecture Intelligence CLI for AI Coding Assistants",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "bin": {
9
+ "ironbackend": "./bin/ironbackend.js"
10
+ },
11
+ "files": [
12
+ "dist",
13
+ "bin"
14
+ ],
15
+ "keywords": [
16
+ "backend",
17
+ "architecture",
18
+ "cli",
19
+ "ai",
20
+ "cursor",
21
+ "claude",
22
+ "copilot"
23
+ ],
24
+ "author": "IronBackend Contributors",
25
+ "license": "MIT",
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "https://github.com/ironbackend/ironbackend.git",
29
+ "directory": "packages/cli"
30
+ },
31
+ "dependencies": {
32
+ "commander": "^11.1.0",
33
+ "chalk": "^5.3.0",
34
+ "inquirer": "^9.2.0",
35
+ "ora": "^8.0.0",
36
+ "@ironbackend/core": "1.0.1",
37
+ "@ironbackend/prompts": "1.0.1"
38
+ },
39
+ "devDependencies": {
40
+ "@types/inquirer": "^9.0.0",
41
+ "typescript": "^5.3.0",
42
+ "tsx": "^4.7.0"
43
+ },
44
+ "engines": {
45
+ "node": ">=18.0.0"
46
+ },
47
+ "scripts": {
48
+ "build": "tsc",
49
+ "test": "vitest run",
50
+ "clean": "rm -rf dist",
51
+ "dev": "tsx src/index.ts"
52
+ }
53
+ }