@idealyst/cli 1.2.1 → 1.2.4
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/commands/add.js +2 -2
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/info.js +25 -26
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/init.js +2 -2
- package/dist/constants.js +13 -4
- package/dist/constants.js.map +1 -1
- package/dist/generators/core/mobile.js +35 -69
- package/dist/generators/core/mobile.js.map +1 -1
- package/dist/generators/core/shared.js +283 -16
- package/dist/generators/core/shared.js.map +1 -1
- package/dist/generators/core/web.js +30 -76
- package/dist/generators/core/web.js.map +1 -1
- package/dist/generators/extensions/devcontainer.js +90 -25
- package/dist/generators/extensions/devcontainer.js.map +1 -1
- package/dist/generators/index.js +23 -7
- package/dist/generators/index.js.map +1 -1
- package/dist/generators/reactNative.js +111 -35
- package/dist/generators/reactNative.js.map +1 -1
- package/dist/generators/workspace.js +31 -0
- package/dist/generators/workspace.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/types/commands/add.d.ts +1 -1
- package/dist/types/commands/info.d.ts +1 -1
- package/dist/types/commands/init.d.ts +1 -1
- package/dist/types/constants.d.ts +16 -7
- package/dist/types/generators/core/mobile.d.ts +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/types.d.ts +32 -1
- package/dist/types/utils/filesystem.d.ts +1 -1
- package/dist/types/utils/logger.d.ts +6 -0
- package/dist/types.js +35 -2
- package/dist/types.js.map +1 -1
- package/dist/utils/filesystem.js +1 -1
- package/dist/utils/logger.js +11 -0
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/shell.js +1 -1
- package/dist/utils/shell.js.map +1 -1
- package/dist/wizard/steps/devcontainerExtension.js +61 -8
- package/dist/wizard/steps/devcontainerExtension.js.map +1 -1
- package/dist/wizard/steps/summary.js +12 -0
- package/dist/wizard/steps/summary.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,6 +14,6 @@ export interface InitOptions {
|
|
|
14
14
|
skipInstall?: boolean;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* Handle the `idealyst
|
|
17
|
+
* Handle the `idealyst init` command
|
|
18
18
|
*/
|
|
19
19
|
export declare function initCommand(projectName: string | undefined, options: InitOptions): Promise<void>;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Constants and default values for the CLI
|
|
3
3
|
*/
|
|
4
4
|
export declare const VERSION = "0.1.0";
|
|
5
|
-
export declare const IDEALYST_VERSION = "1.
|
|
5
|
+
export declare const IDEALYST_VERSION = "1.2.3";
|
|
6
6
|
export declare const REACT_NATIVE_VERSION = "0.83.0";
|
|
7
7
|
export declare const REACT_VERSION = "19.1.0";
|
|
8
8
|
export declare const DEFAULT_TIMEOUT = 300000;
|
|
@@ -18,9 +18,9 @@ export declare const TEMPLATE_EXTENSIONS: readonly [".ts", ".tsx", ".js", ".jsx"
|
|
|
18
18
|
export declare const IGNORE_PATTERNS: readonly ["node_modules", ".git", "dist", "build", ".cache", ".DS_Store", "Thumbs.db", "*.log", "*.tmp", "*.bak", "~*"];
|
|
19
19
|
export declare const DEPENDENCIES: {
|
|
20
20
|
readonly core: {
|
|
21
|
-
readonly '@idealyst/components': "^1.
|
|
22
|
-
readonly '@idealyst/theme': "^1.
|
|
23
|
-
readonly '@idealyst/navigation': "^1.
|
|
21
|
+
readonly '@idealyst/components': "^1.2.3";
|
|
22
|
+
readonly '@idealyst/theme': "^1.2.3";
|
|
23
|
+
readonly '@idealyst/navigation': "^1.2.3";
|
|
24
24
|
};
|
|
25
25
|
readonly web: {
|
|
26
26
|
readonly '@mdi/js': "^7.4.47";
|
|
@@ -36,14 +36,20 @@ export declare const DEPENDENCIES: {
|
|
|
36
36
|
readonly mobile: {
|
|
37
37
|
readonly react: "^19.1.0";
|
|
38
38
|
readonly 'react-native': "^0.83.0";
|
|
39
|
-
readonly 'react-native-
|
|
39
|
+
readonly 'react-native-nitro-modules': "^0.32.0";
|
|
40
|
+
readonly 'react-native-unistyles': "^3.0.21";
|
|
40
41
|
readonly '@react-navigation/native': "^7.0.0";
|
|
41
42
|
readonly '@react-navigation/native-stack': "^7.0.0";
|
|
42
|
-
readonly 'react-
|
|
43
|
+
readonly '@react-navigation/bottom-tabs': "^7.0.0";
|
|
44
|
+
readonly '@react-navigation/drawer': "^7.0.0";
|
|
45
|
+
readonly 'react-native-safe-area-context': "^5.6.0";
|
|
43
46
|
readonly 'react-native-screens': "^4.4.0";
|
|
47
|
+
readonly 'react-native-svg': "^15.11.0";
|
|
44
48
|
readonly 'react-native-gesture-handler': "^2.20.0";
|
|
45
|
-
readonly 'react-native-reanimated': "^
|
|
49
|
+
readonly 'react-native-reanimated': "^4.2.0";
|
|
50
|
+
readonly 'react-native-worklets': "^0.7.0";
|
|
46
51
|
readonly 'react-native-vector-icons': "^10.2.0";
|
|
52
|
+
readonly '@react-native-vector-icons/material-design-icons': "^12.0.0";
|
|
47
53
|
};
|
|
48
54
|
readonly trpc: {
|
|
49
55
|
readonly '@trpc/client': "^11.5.0";
|
|
@@ -67,6 +73,9 @@ export declare const DEPENDENCIES: {
|
|
|
67
73
|
readonly prismaDev: {
|
|
68
74
|
readonly prisma: "^5.19.0";
|
|
69
75
|
};
|
|
76
|
+
readonly tooling: {
|
|
77
|
+
readonly '@idealyst/tooling': "^1.2.3";
|
|
78
|
+
};
|
|
70
79
|
readonly api: {
|
|
71
80
|
readonly express: "^4.21.0";
|
|
72
81
|
readonly cors: "^2.8.5";
|
package/dist/types/index.d.ts
CHANGED
package/dist/types/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Core type definitions for the CLI
|
|
2
|
+
* Core type definitions for the CLI package
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* Complete project configuration collected from wizard or CLI args
|
|
@@ -34,7 +34,37 @@ export interface DevcontainerConfig {
|
|
|
34
34
|
redis: boolean;
|
|
35
35
|
chrome: boolean;
|
|
36
36
|
claudeCode: boolean;
|
|
37
|
+
mcpServers: string[];
|
|
37
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Available MCP servers for Claude Code
|
|
41
|
+
*/
|
|
42
|
+
export declare const AVAILABLE_MCP_SERVERS: readonly [{
|
|
43
|
+
readonly id: "idealyst";
|
|
44
|
+
readonly name: "Idealyst";
|
|
45
|
+
readonly description: "Idealyst component documentation and examples";
|
|
46
|
+
readonly requiresChrome: false;
|
|
47
|
+
readonly requiresPostgres: false;
|
|
48
|
+
}, {
|
|
49
|
+
readonly id: "serena";
|
|
50
|
+
readonly name: "Serena";
|
|
51
|
+
readonly description: "Code navigation and semantic search";
|
|
52
|
+
readonly requiresChrome: false;
|
|
53
|
+
readonly requiresPostgres: false;
|
|
54
|
+
}, {
|
|
55
|
+
readonly id: "playwright";
|
|
56
|
+
readonly name: "Playwright";
|
|
57
|
+
readonly description: "Browser automation and testing (requires Chrome)";
|
|
58
|
+
readonly requiresChrome: true;
|
|
59
|
+
readonly requiresPostgres: false;
|
|
60
|
+
}, {
|
|
61
|
+
readonly id: "postgres";
|
|
62
|
+
readonly name: "PostgreSQL";
|
|
63
|
+
readonly description: "Query PostgreSQL database (requires PostgreSQL)";
|
|
64
|
+
readonly requiresChrome: false;
|
|
65
|
+
readonly requiresPostgres: true;
|
|
66
|
+
}];
|
|
67
|
+
export type McpServerId = typeof AVAILABLE_MCP_SERVERS[number]['id'];
|
|
38
68
|
/**
|
|
39
69
|
* CLI arguments before processing
|
|
40
70
|
*/
|
|
@@ -124,6 +154,7 @@ export interface ReactNativeInitOptions {
|
|
|
124
154
|
packageName: string;
|
|
125
155
|
directory: string;
|
|
126
156
|
skipInstall: boolean;
|
|
157
|
+
interactive: boolean;
|
|
127
158
|
}
|
|
128
159
|
/**
|
|
129
160
|
* Types of projects that can be added to workspace
|
|
@@ -51,6 +51,6 @@ export declare function copyFile(source: string, dest: string): Promise<void>;
|
|
|
51
51
|
*/
|
|
52
52
|
export declare function remove(filePath: string): Promise<void>;
|
|
53
53
|
/**
|
|
54
|
-
* Get the template path for cli
|
|
54
|
+
* Get the template path for @idealyst/cli
|
|
55
55
|
*/
|
|
56
56
|
export declare function getTemplatePath(templateName: string): string;
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Logger utility for consistent CLI output
|
|
3
3
|
*/
|
|
4
|
+
import { Ora } from 'ora';
|
|
4
5
|
export declare const logger: {
|
|
6
|
+
/**
|
|
7
|
+
* Create and start a spinner with a message
|
|
8
|
+
* Returns the ora spinner instance for control
|
|
9
|
+
*/
|
|
10
|
+
spinner(message: string): Ora;
|
|
5
11
|
/**
|
|
6
12
|
* Log an info message
|
|
7
13
|
*/
|
package/dist/types.js
CHANGED
|
@@ -1,9 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Core type definitions for the CLI
|
|
3
|
+
* Core type definitions for the CLI package
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.InvalidExtensionError = exports.NotInWorkspaceError = exports.MissingArgumentsError = void 0;
|
|
6
|
+
exports.InvalidExtensionError = exports.NotInWorkspaceError = exports.MissingArgumentsError = exports.AVAILABLE_MCP_SERVERS = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Available MCP servers for Claude Code
|
|
9
|
+
*/
|
|
10
|
+
exports.AVAILABLE_MCP_SERVERS = [
|
|
11
|
+
{
|
|
12
|
+
id: 'idealyst',
|
|
13
|
+
name: 'Idealyst',
|
|
14
|
+
description: 'Idealyst component documentation and examples',
|
|
15
|
+
requiresChrome: false,
|
|
16
|
+
requiresPostgres: false,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: 'serena',
|
|
20
|
+
name: 'Serena',
|
|
21
|
+
description: 'Code navigation and semantic search',
|
|
22
|
+
requiresChrome: false,
|
|
23
|
+
requiresPostgres: false,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: 'playwright',
|
|
27
|
+
name: 'Playwright',
|
|
28
|
+
description: 'Browser automation and testing (requires Chrome)',
|
|
29
|
+
requiresChrome: true,
|
|
30
|
+
requiresPostgres: false,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: 'postgres',
|
|
34
|
+
name: 'PostgreSQL',
|
|
35
|
+
description: 'Query PostgreSQL database (requires PostgreSQL)',
|
|
36
|
+
requiresChrome: false,
|
|
37
|
+
requiresPostgres: true,
|
|
38
|
+
},
|
|
39
|
+
];
|
|
7
40
|
// ============================================
|
|
8
41
|
// ERROR TYPES
|
|
9
42
|
// ============================================
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAoDH;;GAEG;AACU,QAAA,qBAAqB,GAAG;IACnC;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,+CAA+C;QAC5D,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,qCAAqC;QAClD,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,kDAAkD;QAC/D,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iDAAiD;QAC9D,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,IAAI;KACvB;CACO,CAAC;AAuIX,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAE/C;;GAEG;AACH,MAAa,qBAAsB,SAAQ,KAAK;IAI9C,YACE,WAAqB,EACrB,YAAqC;QAErC,MAAM,OAAO,GAAG,+BAA+B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACvE,wFAAwF,CAAC;QAC3F,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAfD,sDAeC;AAED;;GAEG;AACH,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,SAAiB;QAC3B,KAAK,CAAC,QAAQ,SAAS,0DAA0D,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC;AAED;;GAEG;AACH,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,SAAiB,EAAE,WAAmB;QAChD,KAAK,CAAC,cAAc,SAAS,eAAe,WAAW,kBAAkB,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AALD,sDAKC"}
|
package/dist/utils/filesystem.js
CHANGED
|
@@ -157,7 +157,7 @@ async function remove(filePath) {
|
|
|
157
157
|
await fs_extra_1.default.remove(filePath);
|
|
158
158
|
}
|
|
159
159
|
/**
|
|
160
|
-
* Get the template path for cli
|
|
160
|
+
* Get the template path for @idealyst/cli
|
|
161
161
|
*/
|
|
162
162
|
function getTemplatePath(templateName) {
|
|
163
163
|
// In development, templates are in ../templates relative to dist
|
package/dist/utils/logger.js
CHANGED
|
@@ -8,7 +8,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.logger = void 0;
|
|
10
10
|
const chalk_1 = __importDefault(require("chalk"));
|
|
11
|
+
const ora_1 = __importDefault(require("ora"));
|
|
11
12
|
exports.logger = {
|
|
13
|
+
/**
|
|
14
|
+
* Create and start a spinner with a message
|
|
15
|
+
* Returns the ora spinner instance for control
|
|
16
|
+
*/
|
|
17
|
+
spinner(message) {
|
|
18
|
+
return (0, ora_1.default)({
|
|
19
|
+
text: message,
|
|
20
|
+
color: 'cyan',
|
|
21
|
+
}).start();
|
|
22
|
+
},
|
|
12
23
|
/**
|
|
13
24
|
* Log an info message
|
|
14
25
|
*/
|
package/dist/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,kDAA0B;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,kDAA0B;AAC1B,8CAA+B;AAElB,QAAA,MAAM,GAAG;IACpB;;;OAGG;IACH,OAAO,CAAC,OAAe;QACrB,OAAO,IAAA,aAAG,EAAC;YACT,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,MAAM;SACd,CAAC,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IACD;;OAEG;IACH,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAe;QACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAe,EAAE,QAA+C,OAAO;QAC5E,MAAM,OAAO,GAAG,eAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,OAAe;QACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAe;QACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,GAAW,EAAE,KAAa;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;CACF,CAAC;AAEF,kBAAe,cAAM,CAAC"}
|
package/dist/utils/shell.js
CHANGED
|
@@ -19,7 +19,7 @@ async function runCommand(command, args, options = {}) {
|
|
|
19
19
|
return new Promise((resolve, reject) => {
|
|
20
20
|
const child = (0, child_process_1.spawn)(command, args, {
|
|
21
21
|
cwd,
|
|
22
|
-
shell:
|
|
22
|
+
shell: false,
|
|
23
23
|
stdio: silent ? 'pipe' : 'inherit',
|
|
24
24
|
});
|
|
25
25
|
let stdout = '';
|
package/dist/utils/shell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAqBH,gCAsDC;AAKD,kDAmBC;AAKD,sCAOC;AAKD,wCAOC;AAKD,wCAOC;AArID,iDAAsC;AACtC,4CAA+C;AAC/C,qCAAkC;AAclC;;GAEG;AACI,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,IAAc,EACd,UAA0B,EAAE;IAE5B,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,2BAAe,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,EAAE;YACjC,GAAG;YACH,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.devcontainerExtensionStep = void 0;
|
|
10
10
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
11
11
|
const chalk_1 = __importDefault(require("chalk"));
|
|
12
|
+
const types_1 = require("../../types");
|
|
12
13
|
exports.devcontainerExtensionStep = {
|
|
13
14
|
id: 'devcontainer',
|
|
14
15
|
async prompt(_currentConfig) {
|
|
@@ -50,11 +51,6 @@ exports.devcontainerExtensionStep = {
|
|
|
50
51
|
value: 'redis',
|
|
51
52
|
checked: false,
|
|
52
53
|
},
|
|
53
|
-
{
|
|
54
|
-
name: 'Chrome - Headless browser for Playwright testing',
|
|
55
|
-
value: 'chrome',
|
|
56
|
-
checked: false,
|
|
57
|
-
},
|
|
58
54
|
{
|
|
59
55
|
name: 'Claude Code - AI assistant with MCP servers',
|
|
60
56
|
value: 'claudeCode',
|
|
@@ -63,12 +59,69 @@ exports.devcontainerExtensionStep = {
|
|
|
63
59
|
],
|
|
64
60
|
},
|
|
65
61
|
]);
|
|
62
|
+
const hasPostgres = services.includes('postgres');
|
|
63
|
+
const hasClaudeCode = services.includes('claudeCode');
|
|
64
|
+
let mcpServers = [];
|
|
65
|
+
let needsChrome = false;
|
|
66
|
+
// If Claude Code is selected, prompt for MCP server selection
|
|
67
|
+
if (hasClaudeCode) {
|
|
68
|
+
console.log('');
|
|
69
|
+
console.log(chalk_1.default.gray('Select which MCP servers to configure for Claude Code:'));
|
|
70
|
+
console.log('');
|
|
71
|
+
// Build choices - Idealyst auto-selected, Playwright shows Chrome will be added, Postgres MCP disabled without Postgres
|
|
72
|
+
const mcpChoices = types_1.AVAILABLE_MCP_SERVERS.map((server) => {
|
|
73
|
+
// Postgres MCP requires PostgreSQL service
|
|
74
|
+
if (server.requiresPostgres && !hasPostgres) {
|
|
75
|
+
return {
|
|
76
|
+
name: `${server.name} - ${server.description} ${chalk_1.default.yellow('(requires PostgreSQL)')}`,
|
|
77
|
+
value: server.id,
|
|
78
|
+
checked: false,
|
|
79
|
+
disabled: 'Requires PostgreSQL service',
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// Playwright will auto-add Chrome
|
|
83
|
+
if (server.requiresChrome) {
|
|
84
|
+
return {
|
|
85
|
+
name: `${server.name} - ${server.description} ${chalk_1.default.cyan('(will add Chrome service)')}`,
|
|
86
|
+
value: server.id,
|
|
87
|
+
checked: false,
|
|
88
|
+
disabled: false,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// Idealyst is auto-selected by default
|
|
92
|
+
const isAutoSelected = server.id === 'idealyst';
|
|
93
|
+
return {
|
|
94
|
+
name: `${server.name} - ${server.description}`,
|
|
95
|
+
value: server.id,
|
|
96
|
+
checked: isAutoSelected,
|
|
97
|
+
disabled: false,
|
|
98
|
+
};
|
|
99
|
+
});
|
|
100
|
+
const { selectedMcpServers } = await inquirer_1.default.prompt([
|
|
101
|
+
{
|
|
102
|
+
type: 'checkbox',
|
|
103
|
+
name: 'selectedMcpServers',
|
|
104
|
+
message: 'MCP servers:',
|
|
105
|
+
choices: mcpChoices,
|
|
106
|
+
},
|
|
107
|
+
]);
|
|
108
|
+
mcpServers = selectedMcpServers;
|
|
109
|
+
// Check if any selected MCP server requires Chrome
|
|
110
|
+
needsChrome = mcpServers.some((serverId) => {
|
|
111
|
+
const server = types_1.AVAILABLE_MCP_SERVERS.find((s) => s.id === serverId);
|
|
112
|
+
return server?.requiresChrome ?? false;
|
|
113
|
+
});
|
|
114
|
+
if (needsChrome) {
|
|
115
|
+
console.log(chalk_1.default.cyan(' ℹ Chrome service will be added for Playwright MCP'));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
66
118
|
return {
|
|
67
119
|
enabled: true,
|
|
68
|
-
postgres:
|
|
120
|
+
postgres: hasPostgres,
|
|
69
121
|
redis: services.includes('redis'),
|
|
70
|
-
chrome:
|
|
71
|
-
claudeCode:
|
|
122
|
+
chrome: needsChrome,
|
|
123
|
+
claudeCode: hasClaudeCode,
|
|
124
|
+
mcpServers,
|
|
72
125
|
};
|
|
73
126
|
},
|
|
74
127
|
validate(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devcontainerExtension.js","sourceRoot":"","sources":["../../../src/wizard/steps/devcontainerExtension.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,wDAAgC;AAChC,kDAA0B;
|
|
1
|
+
{"version":3,"file":"devcontainerExtension.js","sourceRoot":"","sources":["../../../src/wizard/steps/devcontainerExtension.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.summaryStep = void 0;
|
|
10
10
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
11
11
|
const chalk_1 = __importDefault(require("chalk"));
|
|
12
|
+
const types_1 = require("../../types");
|
|
12
13
|
const identifiers_1 = require("../../identifiers");
|
|
13
14
|
exports.summaryStep = {
|
|
14
15
|
id: 'confirm',
|
|
@@ -82,6 +83,17 @@ exports.summaryStep = {
|
|
|
82
83
|
services.push('Claude Code');
|
|
83
84
|
const serviceList = services.length > 0 ? services.join(', ') : 'Base only';
|
|
84
85
|
console.log(` ${chalk_1.default.green('✓')} devcontainer ${chalk_1.default.dim(`- Docker dev environment (${serviceList})`)}`);
|
|
86
|
+
// Show MCP servers if Claude Code is enabled
|
|
87
|
+
if (devConfig.claudeCode && devConfig.mcpServers && devConfig.mcpServers.length > 0) {
|
|
88
|
+
console.log('');
|
|
89
|
+
console.log(chalk_1.default.cyan(' MCP Servers:'));
|
|
90
|
+
for (const serverId of devConfig.mcpServers) {
|
|
91
|
+
const serverInfo = types_1.AVAILABLE_MCP_SERVERS.find(s => s.id === serverId);
|
|
92
|
+
if (serverInfo) {
|
|
93
|
+
console.log(` ${chalk_1.default.green('✓')} ${serverInfo.name.padEnd(12)} ${chalk_1.default.dim(`- ${serverInfo.description}`)}`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
85
97
|
}
|
|
86
98
|
else {
|
|
87
99
|
console.log(` ${chalk_1.default.green('✓')} devcontainer ${chalk_1.default.dim('- Docker dev environment (all services)')}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../src/wizard/steps/summary.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,wDAAgC;AAChC,kDAA0B;
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../src/wizard/steps/summary.ts"],"names":[],"mappings":"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"}
|