@framingui/mcp-server 0.6.9 → 0.6.10
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 +52 -10
- package/dist/cli/commands.d.ts +2 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +20 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/help.d.ts +5 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +59 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +47 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +3 -13
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/package-manager.d.ts +5 -0
- package/dist/cli/package-manager.d.ts.map +1 -0
- package/dist/cli/package-manager.js +34 -0
- package/dist/cli/package-manager.js.map +1 -0
- package/dist/cli/update.d.ts +8 -0
- package/dist/cli/update.d.ts.map +1 -0
- package/dist/cli/update.js +53 -0
- package/dist/cli/update.js.map +1 -0
- package/dist/commands/slash-command-adapters.d.ts +9 -0
- package/dist/commands/slash-command-adapters.d.ts.map +1 -0
- package/dist/commands/slash-command-adapters.js +113 -0
- package/dist/commands/slash-command-adapters.js.map +1 -0
- package/dist/commands/slash-command-registry.d.ts +25 -0
- package/dist/commands/slash-command-registry.d.ts.map +1 -0
- package/dist/commands/slash-command-registry.js +330 -0
- package/dist/commands/slash-command-registry.js.map +1 -0
- package/dist/data/component-props.d.ts +30 -0
- package/dist/data/component-props.d.ts.map +1 -0
- package/dist/data/component-props.js +537 -0
- package/dist/data/component-props.js.map +1 -0
- package/dist/data/component-registry.d.ts +30 -0
- package/dist/data/component-registry.d.ts.map +1 -0
- package/dist/data/component-registry.js +320 -0
- package/dist/data/component-registry.js.map +1 -0
- package/dist/data/examples/screen-examples.d.ts +38 -0
- package/dist/data/examples/screen-examples.d.ts.map +1 -0
- package/dist/data/examples/screen-examples.js +500 -0
- package/dist/data/examples/screen-examples.js.map +1 -0
- package/dist/index.js +7 -22
- package/dist/index.js.map +1 -1
- package/dist/prompts/a11y-workflow.d.ts +10 -0
- package/dist/prompts/a11y-workflow.d.ts.map +1 -0
- package/dist/prompts/a11y-workflow.js +46 -0
- package/dist/prompts/a11y-workflow.js.map +1 -0
- package/dist/prompts/command-help.d.ts +10 -0
- package/dist/prompts/command-help.d.ts.map +1 -0
- package/dist/prompts/command-help.js +87 -0
- package/dist/prompts/command-help.js.map +1 -0
- package/dist/prompts/doctor-workflow.d.ts +10 -0
- package/dist/prompts/doctor-workflow.d.ts.map +1 -0
- package/dist/prompts/doctor-workflow.js +37 -0
- package/dist/prompts/doctor-workflow.js.map +1 -0
- package/dist/prompts/getting-started.d.ts.map +1 -1
- package/dist/prompts/getting-started.js +18 -1
- package/dist/prompts/getting-started.js.map +1 -1
- package/dist/prompts/prompt-catalog.d.ts +26 -0
- package/dist/prompts/prompt-catalog.d.ts.map +1 -0
- package/dist/prompts/prompt-catalog.js +82 -0
- package/dist/prompts/prompt-catalog.js.map +1 -0
- package/dist/prompts/responsive-workflow.d.ts +10 -0
- package/dist/prompts/responsive-workflow.d.ts.map +1 -0
- package/dist/prompts/responsive-workflow.js +52 -0
- package/dist/prompts/responsive-workflow.js.map +1 -0
- package/dist/prompts/slash-commands.d.ts +10 -0
- package/dist/prompts/slash-commands.d.ts.map +1 -0
- package/dist/prompts/slash-commands.js +31 -0
- package/dist/prompts/slash-commands.js.map +1 -0
- package/dist/prompts/theme-swap-workflow.d.ts +10 -0
- package/dist/prompts/theme-swap-workflow.d.ts.map +1 -0
- package/dist/prompts/theme-swap-workflow.js +35 -0
- package/dist/prompts/theme-swap-workflow.js.map +1 -0
- package/dist/prompts/update-workflow.d.ts +10 -0
- package/dist/prompts/update-workflow.d.ts.map +1 -0
- package/dist/prompts/update-workflow.js +36 -0
- package/dist/prompts/update-workflow.js.map +1 -0
- package/dist/schemas/mcp-schemas.d.ts +220 -220
- package/dist/tools/generate-screen.d.ts.map +1 -1
- package/dist/tools/generate-screen.js +36 -28
- package/dist/tools/generate-screen.js.map +1 -1
- package/dist/tools/validate-screen-definition.d.ts.map +1 -1
- package/dist/tools/validate-screen-definition.js +38 -95
- package/dist/tools/validate-screen-definition.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -98,13 +98,17 @@ npx @framingui/mcp-server init
|
|
|
98
98
|
|
|
99
99
|
### CLI Commands
|
|
100
100
|
|
|
101
|
-
| Command | Description
|
|
102
|
-
| ------------------------------------------ |
|
|
103
|
-
| `npx -y @framingui/mcp-server@latest` | MCP stdio 서버 시작
|
|
104
|
-
| `npx -y @framingui/mcp-server@latest init` | 프로젝트 초기 설정
|
|
105
|
-
| `framingui-mcp
|
|
106
|
-
| `framingui-mcp
|
|
107
|
-
| `framingui-mcp
|
|
101
|
+
| Command | Description |
|
|
102
|
+
| ------------------------------------------ | ------------------------ |
|
|
103
|
+
| `npx -y @framingui/mcp-server@latest` | MCP stdio 서버 시작 |
|
|
104
|
+
| `npx -y @framingui/mcp-server@latest init` | 프로젝트 초기 설정 |
|
|
105
|
+
| `framingui-mcp help` | CLI 도움말 |
|
|
106
|
+
| `framingui-mcp commands --format json` | command adapter export |
|
|
107
|
+
| `framingui-mcp login` | 브라우저 OAuth 로그인 |
|
|
108
|
+
| `framingui-mcp logout` | 로그아웃 |
|
|
109
|
+
| `framingui-mcp status` | 인증 상태 확인 |
|
|
110
|
+
| `framingui-mcp update --check` | 패키지 업데이트 점검 |
|
|
111
|
+
| `framingui-mcp server` | MCP stdio 서버 명시 시작 |
|
|
108
112
|
|
|
109
113
|
## Development Quick Start
|
|
110
114
|
|
|
@@ -602,7 +606,7 @@ See [Package Guide](../../docs/packages/mcp-server.md) for complete setup instru
|
|
|
602
606
|
|
|
603
607
|
## MCP Prompts (Universal Guidance)
|
|
604
608
|
|
|
605
|
-
The MCP server provides
|
|
609
|
+
The MCP server provides 9 built-in prompts that work across all MCP clients:
|
|
606
610
|
|
|
607
611
|
### 1. getting-started
|
|
608
612
|
|
|
@@ -630,11 +634,49 @@ The MCP server provides 2 built-in prompts that work across all MCP clients:
|
|
|
630
634
|
- Step 4/4: validate-environment
|
|
631
635
|
- Complete examples and troubleshooting
|
|
632
636
|
|
|
633
|
-
**When to use**: Production screen generation
|
|
637
|
+
**When to use**: Production screen generation and `/screen`, `/section`, `/draft` style workflows
|
|
638
|
+
|
|
639
|
+
### 3. responsive-workflow
|
|
640
|
+
|
|
641
|
+
**Purpose**: Responsive optimization workflow behind `/responsive`
|
|
642
|
+
|
|
643
|
+
### 4. a11y-workflow
|
|
644
|
+
|
|
645
|
+
**Purpose**: Accessibility audit workflow behind `/a11y`
|
|
646
|
+
|
|
647
|
+
### 5. theme-swap-workflow
|
|
648
|
+
|
|
649
|
+
**Purpose**: Theme application workflow behind `/theme-swap`
|
|
650
|
+
|
|
651
|
+
### 6. doctor-workflow
|
|
652
|
+
|
|
653
|
+
**Purpose**: Environment diagnosis workflow behind `/doctor` and `/install-check`
|
|
654
|
+
|
|
655
|
+
### 7. slash-commands
|
|
656
|
+
|
|
657
|
+
**Purpose**: Slash command catalog for FramingUI design workflows
|
|
658
|
+
|
|
659
|
+
### 8. command-help
|
|
660
|
+
|
|
661
|
+
**Purpose**: Detailed help for one slash command including usage, options, examples, and MCP workflow mapping
|
|
662
|
+
|
|
663
|
+
### 9. update-workflow
|
|
664
|
+
|
|
665
|
+
**Purpose**: Maintenance workflow behind `/update`
|
|
666
|
+
|
|
667
|
+
### CLI adapter export
|
|
668
|
+
|
|
669
|
+
You can export client-oriented slash command adapters from the CLI:
|
|
670
|
+
|
|
671
|
+
```bash
|
|
672
|
+
framingui-mcp commands --client codex --format json
|
|
673
|
+
framingui-mcp commands --client claude-code --format markdown
|
|
674
|
+
framingui-mcp commands --client cursor --command /responsive --format text
|
|
675
|
+
```
|
|
634
676
|
|
|
635
677
|
**Note**: These prompts are platform-agnostic and work with Claude Code, OpenAI Codex, Cursor, Windsurf, and any MCP-compatible client.
|
|
636
678
|
|
|
637
|
-
**Total Prompts**:
|
|
679
|
+
**Total Prompts**: 9
|
|
638
680
|
|
|
639
681
|
### 11. Preview Screen Template
|
|
640
682
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAcA,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAYpD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { renderSlashCommandAdapter, } from '../commands/slash-command-adapters.js';
|
|
2
|
+
function readOption(args, flag) {
|
|
3
|
+
const index = args.indexOf(flag);
|
|
4
|
+
if (index === -1) {
|
|
5
|
+
return undefined;
|
|
6
|
+
}
|
|
7
|
+
return args[index + 1];
|
|
8
|
+
}
|
|
9
|
+
export function commandsCommand(args) {
|
|
10
|
+
const formatArg = readOption(args, '--format') ?? 'text';
|
|
11
|
+
const clientArg = (readOption(args, '--client') ?? 'generic');
|
|
12
|
+
const commandArg = readOption(args, '--command');
|
|
13
|
+
const output = renderSlashCommandAdapter({
|
|
14
|
+
format: formatArg === 'json' || formatArg === 'markdown' ? formatArg : 'text',
|
|
15
|
+
client: clientArg,
|
|
16
|
+
command: commandArg,
|
|
17
|
+
});
|
|
18
|
+
console.log(output);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,GAE1B,MAAM,uCAAuC,CAAC;AAE/C,SAAS,UAAU,CAAC,IAAc,EAAE,IAAY;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC;IACzD,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,SAAS,CAA8B,CAAC;IAC3F,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,yBAAyB,CAAC;QACvC,MAAM,EAAE,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;QAC7E,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,IAAI,MAAM,CA6BxC;AAED,wBAAgB,SAAS,IAAI,IAAI,CAqBhC;AAED,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C"}
|
package/dist/cli/help.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export function getCliGuideText() {
|
|
2
|
+
return `FramingUI MCP Server
|
|
3
|
+
|
|
4
|
+
FramingUI is a design-system workflow for generating production-ready UI with MCP-aware tools, prompts, and command metadata.
|
|
5
|
+
|
|
6
|
+
Quick start:
|
|
7
|
+
1. Set up a project: framingui-mcp init
|
|
8
|
+
2. Authenticate: framingui-mcp login
|
|
9
|
+
3. Check status: framingui-mcp status
|
|
10
|
+
4. Inspect commands: framingui-mcp commands --format text
|
|
11
|
+
5. Start MCP server: framingui-mcp server
|
|
12
|
+
|
|
13
|
+
What you get:
|
|
14
|
+
- screen generation workflows
|
|
15
|
+
- responsive optimization guidance
|
|
16
|
+
- accessibility and theme-swap workflows
|
|
17
|
+
- environment diagnosis and install checks
|
|
18
|
+
|
|
19
|
+
Useful commands:
|
|
20
|
+
framingui-mcp help
|
|
21
|
+
framingui-mcp guide
|
|
22
|
+
framingui-mcp commands --command /responsive
|
|
23
|
+
framingui-mcp update --check
|
|
24
|
+
|
|
25
|
+
In MCP clients, use the built-in prompts:
|
|
26
|
+
- getting-started
|
|
27
|
+
- slash-commands
|
|
28
|
+
- command-help
|
|
29
|
+
`;
|
|
30
|
+
}
|
|
31
|
+
export function printHelp() {
|
|
32
|
+
console.log(`Usage: framingui-mcp <command>
|
|
33
|
+
|
|
34
|
+
Commands:
|
|
35
|
+
help Show CLI usage and FramingUI overview
|
|
36
|
+
guide Show first-run onboarding guide
|
|
37
|
+
commands Export slash command metadata for clients or humans
|
|
38
|
+
init Configure a project for FramingUI
|
|
39
|
+
login Authenticate via browser OAuth
|
|
40
|
+
logout Remove saved credentials
|
|
41
|
+
status Show current authentication status
|
|
42
|
+
update Update installed FramingUI packages in a project
|
|
43
|
+
server Start the MCP stdio server explicitly
|
|
44
|
+
-v, --version Print the CLI version
|
|
45
|
+
|
|
46
|
+
Examples:
|
|
47
|
+
framingui-mcp init
|
|
48
|
+
framingui-mcp commands --format markdown
|
|
49
|
+
framingui-mcp commands --command /responsive --format text
|
|
50
|
+
framingui-mcp update --check
|
|
51
|
+
framingui-mcp server`);
|
|
52
|
+
}
|
|
53
|
+
export function printGuide() {
|
|
54
|
+
console.log(getCliGuideText());
|
|
55
|
+
}
|
|
56
|
+
export function isInteractiveTerminal() {
|
|
57
|
+
return Boolean(process.stdin.isTTY && process.stdout.isTTY);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;uBAmBS,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC"}
|
package/dist/cli/index.d.ts
CHANGED
package/dist/cli/index.js
CHANGED
|
@@ -1,16 +1,34 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
3
|
* Framingui MCP CLI 라우터
|
|
4
|
-
* 서브커맨드: login, logout, status,
|
|
4
|
+
* 서브커맨드: help, guide, commands, login, logout, status, init, update, server
|
|
5
5
|
*/
|
|
6
6
|
const command = process.argv[2];
|
|
7
|
+
const args = process.argv.slice(3);
|
|
7
8
|
switch (command) {
|
|
9
|
+
case '--help':
|
|
10
|
+
case '-h':
|
|
11
|
+
case 'help': {
|
|
12
|
+
const { printHelp } = await import('./help.js');
|
|
13
|
+
printHelp();
|
|
14
|
+
break;
|
|
15
|
+
}
|
|
16
|
+
case 'guide': {
|
|
17
|
+
const { printGuide } = await import('./help.js');
|
|
18
|
+
printGuide();
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
8
21
|
case '--version':
|
|
9
22
|
case '-v': {
|
|
10
23
|
const { printVersion } = await import('./version.js');
|
|
11
24
|
printVersion();
|
|
12
25
|
break;
|
|
13
26
|
}
|
|
27
|
+
case 'commands': {
|
|
28
|
+
const { commandsCommand } = await import('./commands.js');
|
|
29
|
+
commandsCommand(args);
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
14
32
|
case 'login': {
|
|
15
33
|
const { loginCommand } = await import('./login.js');
|
|
16
34
|
try {
|
|
@@ -37,11 +55,37 @@ switch (command) {
|
|
|
37
55
|
await initCommand();
|
|
38
56
|
break;
|
|
39
57
|
}
|
|
40
|
-
|
|
41
|
-
|
|
58
|
+
case 'update': {
|
|
59
|
+
const { updateCommand } = await import('./update.js');
|
|
60
|
+
try {
|
|
61
|
+
updateCommand(args);
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
case 'server': {
|
|
42
70
|
await import('../index.js');
|
|
43
71
|
break;
|
|
44
72
|
}
|
|
73
|
+
case undefined: {
|
|
74
|
+
const { isInteractiveTerminal, printGuide } = await import('./help.js');
|
|
75
|
+
if (isInteractiveTerminal()) {
|
|
76
|
+
printGuide();
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
await import('../index.js');
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
default: {
|
|
83
|
+
const { printHelp } = await import('./help.js');
|
|
84
|
+
console.error(`Unknown command: ${command}`);
|
|
85
|
+
printHelp();
|
|
86
|
+
process.exit(1);
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
45
89
|
}
|
|
46
90
|
export {};
|
|
47
91
|
//# sourceMappingURL=index.js.map
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAIH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2QH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAkFjD"}
|
package/dist/cli/init.js
CHANGED
|
@@ -9,6 +9,7 @@ import readline from 'node:readline';
|
|
|
9
9
|
import { generateGuide } from './guide-template.js';
|
|
10
10
|
import { generateClaudeMdSection, generateAgentsMdSection } from './agent-md-templates.js';
|
|
11
11
|
import { upsertFraminguiServerConfig } from './mcp-config.js';
|
|
12
|
+
import { buildAddCommand, detectPackageManager } from './package-manager.js';
|
|
12
13
|
// ─── 상수 ──────────────────────────────────────────────
|
|
13
14
|
const FRAMINGUI_UI_CONTENT_PATH = './node_modules/@framingui/ui/dist/**/*.{js,mjs}';
|
|
14
15
|
const FRAMINGUI_STYLE_IMPORT = "@import '@framingui/ui/styles';";
|
|
@@ -56,20 +57,9 @@ function detectFramework(cwd) {
|
|
|
56
57
|
}
|
|
57
58
|
return null;
|
|
58
59
|
}
|
|
59
|
-
|
|
60
|
-
if (fileExists(path.join(cwd, 'pnpm-lock.yaml'))) {
|
|
61
|
-
return 'pnpm';
|
|
62
|
-
}
|
|
63
|
-
if (fileExists(path.join(cwd, 'yarn.lock'))) {
|
|
64
|
-
return 'yarn';
|
|
65
|
-
}
|
|
66
|
-
if (fileExists(path.join(cwd, 'bun.lock')) || fileExists(path.join(cwd, 'bun.lockb'))) {
|
|
67
|
-
return 'bun';
|
|
68
|
-
}
|
|
69
|
-
return 'npm';
|
|
70
|
-
}
|
|
60
|
+
// ─── Step 2: 패키지 매니저 감지 및 설치 ─────────────────
|
|
71
61
|
function installPackages(cwd, pm) {
|
|
72
|
-
const cmd =
|
|
62
|
+
const cmd = buildAddCommand(pm, PACKAGES_TO_INSTALL);
|
|
73
63
|
logDetail(cmd);
|
|
74
64
|
execSync(cmd, { cwd, stdio: 'inherit' });
|
|
75
65
|
}
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,2BAA2B,EAAkB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type PackageManager = 'pnpm' | 'yarn' | 'bun' | 'npm';
|
|
2
|
+
export declare function detectPackageManager(cwd: string): PackageManager;
|
|
3
|
+
export declare function buildAddCommand(pm: PackageManager, packages: string[]): string;
|
|
4
|
+
export declare function buildUpdateCommand(pm: PackageManager, packages: string[]): string;
|
|
5
|
+
//# sourceMappingURL=package-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../src/cli/package-manager.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAM7D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAWhE;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAE9E;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAYjF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
function fileExists(filePath) {
|
|
4
|
+
return fs.existsSync(filePath);
|
|
5
|
+
}
|
|
6
|
+
export function detectPackageManager(cwd) {
|
|
7
|
+
if (fileExists(path.join(cwd, 'pnpm-lock.yaml'))) {
|
|
8
|
+
return 'pnpm';
|
|
9
|
+
}
|
|
10
|
+
if (fileExists(path.join(cwd, 'yarn.lock'))) {
|
|
11
|
+
return 'yarn';
|
|
12
|
+
}
|
|
13
|
+
if (fileExists(path.join(cwd, 'bun.lock')) || fileExists(path.join(cwd, 'bun.lockb'))) {
|
|
14
|
+
return 'bun';
|
|
15
|
+
}
|
|
16
|
+
return 'npm';
|
|
17
|
+
}
|
|
18
|
+
export function buildAddCommand(pm, packages) {
|
|
19
|
+
return `${pm} add ${packages.join(' ')}`;
|
|
20
|
+
}
|
|
21
|
+
export function buildUpdateCommand(pm, packages) {
|
|
22
|
+
switch (pm) {
|
|
23
|
+
case 'pnpm':
|
|
24
|
+
return `pnpm up ${packages.join(' ')}`;
|
|
25
|
+
case 'yarn':
|
|
26
|
+
return `yarn up ${packages.join(' ')}`;
|
|
27
|
+
case 'bun':
|
|
28
|
+
return `bun update ${packages.join(' ')}`;
|
|
29
|
+
case 'npm':
|
|
30
|
+
default:
|
|
31
|
+
return `npm install ${packages.map(pkg => `${pkg}@latest`).join(' ')}`;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=package-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/cli/package-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QACtF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAkB,EAAE,QAAkB;IACpE,OAAO,GAAG,EAAE,QAAQ,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAkB,EAAE,QAAkB;IACvE,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,MAAM;YACT,OAAO,WAAW,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,KAAK,MAAM;YACT,OAAO,WAAW,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,KAAK,KAAK;YACR,OAAO,cAAc,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,KAAK,KAAK,CAAC;QACX;YACE,OAAO,eAAe,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3E,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function getInstalledFraminguiPackages(cwd: string): string[];
|
|
2
|
+
export declare function getUpdatePlan(cwd: string): {
|
|
3
|
+
packageManager: string;
|
|
4
|
+
packages: string[];
|
|
5
|
+
command: string | null;
|
|
6
|
+
};
|
|
7
|
+
export declare function updateCommand(args: string[]): void;
|
|
8
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"AA2BA,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CASnE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CASA;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAsBlD"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { execSync } from 'node:child_process';
|
|
4
|
+
import { buildUpdateCommand, detectPackageManager } from './package-manager.js';
|
|
5
|
+
const UPDATE_CANDIDATES = [
|
|
6
|
+
'@framingui/ui',
|
|
7
|
+
'@framingui/core',
|
|
8
|
+
'@framingui/tokens',
|
|
9
|
+
'@framingui/mcp-server',
|
|
10
|
+
'tailwindcss-animate',
|
|
11
|
+
];
|
|
12
|
+
function findPackageJsonPath(cwd) {
|
|
13
|
+
const direct = path.join(cwd, 'package.json');
|
|
14
|
+
if (fs.existsSync(direct)) {
|
|
15
|
+
return direct;
|
|
16
|
+
}
|
|
17
|
+
throw new Error(`No package.json found in ${cwd}. Run this inside a project directory.`);
|
|
18
|
+
}
|
|
19
|
+
export function getInstalledFraminguiPackages(cwd) {
|
|
20
|
+
const packageJsonPath = findPackageJsonPath(cwd);
|
|
21
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
22
|
+
const installed = new Set([
|
|
23
|
+
...Object.keys(packageJson.dependencies ?? {}),
|
|
24
|
+
...Object.keys(packageJson.devDependencies ?? {}),
|
|
25
|
+
]);
|
|
26
|
+
return UPDATE_CANDIDATES.filter(pkg => installed.has(pkg));
|
|
27
|
+
}
|
|
28
|
+
export function getUpdatePlan(cwd) {
|
|
29
|
+
const packageManager = detectPackageManager(cwd);
|
|
30
|
+
const packages = getInstalledFraminguiPackages(cwd);
|
|
31
|
+
return {
|
|
32
|
+
packageManager,
|
|
33
|
+
packages,
|
|
34
|
+
command: packages.length > 0 ? buildUpdateCommand(packageManager, packages) : null,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function updateCommand(args) {
|
|
38
|
+
const cwdIndex = args.indexOf('--cwd');
|
|
39
|
+
const cwd = cwdIndex === -1 ? process.cwd() : path.resolve(args[cwdIndex + 1] ?? process.cwd());
|
|
40
|
+
const checkOnly = args.includes('--check');
|
|
41
|
+
const plan = getUpdatePlan(cwd);
|
|
42
|
+
if (!plan.command) {
|
|
43
|
+
throw new Error(`No installed FramingUI packages found in ${cwd}. Run \`framingui-mcp init\` or install @framingui/ui first.`);
|
|
44
|
+
}
|
|
45
|
+
console.log(`Detected package manager: ${plan.packageManager}`);
|
|
46
|
+
console.log(`Packages: ${plan.packages.join(', ')}`);
|
|
47
|
+
console.log(`Command: ${plan.command}`);
|
|
48
|
+
if (checkOnly) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
execSync(plan.command, { cwd, stdio: 'inherit' });
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type SlashCommandAdapterFormat = 'json' | 'markdown' | 'text';
|
|
2
|
+
export type SlashCommandAdapterClient = 'generic' | 'codex' | 'claude-code' | 'cursor';
|
|
3
|
+
export interface SlashCommandAdapterOptions {
|
|
4
|
+
format: SlashCommandAdapterFormat;
|
|
5
|
+
client?: SlashCommandAdapterClient;
|
|
6
|
+
command?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function renderSlashCommandAdapter(options: SlashCommandAdapterOptions): string;
|
|
9
|
+
//# sourceMappingURL=slash-command-adapters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slash-command-adapters.d.ts","sourceRoot":"","sources":["../../src/commands/slash-command-adapters.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;AACrE,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;AAEvF,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAoHD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM,CAyBrF"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { getSlashCommand, listSlashCommands, } from './slash-command-registry.js';
|
|
2
|
+
function getCommands(command) {
|
|
3
|
+
if (!command) {
|
|
4
|
+
return listSlashCommands();
|
|
5
|
+
}
|
|
6
|
+
const resolved = getSlashCommand(command);
|
|
7
|
+
return resolved ? [resolved] : [];
|
|
8
|
+
}
|
|
9
|
+
function getClientAdapterMeta(client) {
|
|
10
|
+
switch (client) {
|
|
11
|
+
case 'codex':
|
|
12
|
+
return {
|
|
13
|
+
title: 'FramingUI adapter for Codex',
|
|
14
|
+
integrationTarget: 'AGENTS.md or a Codex-specific command manifest',
|
|
15
|
+
notes: [
|
|
16
|
+
'Render each command in slash completion and show `summary` plus `usage` on tab.',
|
|
17
|
+
'When a command is selected, use `promptRecipe` as the fallback workflow guide.',
|
|
18
|
+
'For focused help, request `command-help` with the command name.',
|
|
19
|
+
],
|
|
20
|
+
};
|
|
21
|
+
case 'claude-code':
|
|
22
|
+
return {
|
|
23
|
+
title: 'FramingUI adapter for Claude Code',
|
|
24
|
+
integrationTarget: 'CLAUDE.md, command palette glue, or MCP prompt helpers',
|
|
25
|
+
notes: [
|
|
26
|
+
'Surface slash commands from the canonical registry instead of hardcoding them.',
|
|
27
|
+
'Use `slash-commands` as the catalog fallback when native slash UI is unavailable.',
|
|
28
|
+
'Preserve MCP workflow order from the `workflow` field.',
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
case 'cursor':
|
|
32
|
+
return {
|
|
33
|
+
title: 'FramingUI adapter for Cursor',
|
|
34
|
+
integrationTarget: '.cursor rules, custom command palette wiring, or MCP helper layer',
|
|
35
|
+
notes: [
|
|
36
|
+
'Render short summaries in the command palette and full `usage` on selection.',
|
|
37
|
+
'Use the registry `examples` to seed autocomplete or example prompts.',
|
|
38
|
+
'Map `promptRecipe` into a fallback prompt path when command UX is limited.',
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
case 'generic':
|
|
42
|
+
default:
|
|
43
|
+
return {
|
|
44
|
+
title: 'FramingUI generic command adapter',
|
|
45
|
+
integrationTarget: 'Any slash-command capable MCP client',
|
|
46
|
+
notes: [
|
|
47
|
+
'Render `summary` in command lists and `usage` in inline help.',
|
|
48
|
+
'Use `examples` for discoverability.',
|
|
49
|
+
'Use `promptRecipe` and `command-help` as fallback guidance.',
|
|
50
|
+
],
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function renderMarkdown(commands, client) {
|
|
55
|
+
const meta = getClientAdapterMeta(client);
|
|
56
|
+
if (commands.length === 0) {
|
|
57
|
+
return `# ${meta.title}\n\nNo matching commands.`;
|
|
58
|
+
}
|
|
59
|
+
return [
|
|
60
|
+
`# ${meta.title}`,
|
|
61
|
+
'',
|
|
62
|
+
`Integration target: ${meta.integrationTarget}`,
|
|
63
|
+
'',
|
|
64
|
+
'## Adapter notes',
|
|
65
|
+
'',
|
|
66
|
+
...meta.notes.map(note => `- ${note}`),
|
|
67
|
+
...commands.flatMap(command => [
|
|
68
|
+
'',
|
|
69
|
+
`## ${command.name}`,
|
|
70
|
+
'',
|
|
71
|
+
command.summary,
|
|
72
|
+
'',
|
|
73
|
+
`- Usage: \`${command.usage}\``,
|
|
74
|
+
`- Prompt fallback: \`${command.promptRecipe}\``,
|
|
75
|
+
`- Workflow: ${command.workflow.map(step => `\`${step}\``).join(' -> ')}`,
|
|
76
|
+
`- Examples: ${command.examples.map(example => `\`${example}\``).join(', ')}`,
|
|
77
|
+
]),
|
|
78
|
+
].join('\n');
|
|
79
|
+
}
|
|
80
|
+
function renderText(commands, client) {
|
|
81
|
+
const meta = getClientAdapterMeta(client);
|
|
82
|
+
if (commands.length === 0) {
|
|
83
|
+
return `${meta.title}\n\nNo matching commands.`;
|
|
84
|
+
}
|
|
85
|
+
return [
|
|
86
|
+
meta.title,
|
|
87
|
+
`Integration target: ${meta.integrationTarget}`,
|
|
88
|
+
'',
|
|
89
|
+
'Notes:',
|
|
90
|
+
...meta.notes.map(note => ` - ${note}`),
|
|
91
|
+
'',
|
|
92
|
+
...commands.map(command => `${command.name}\n ${command.summary}\n Usage: ${command.usage}\n Prompt: ${command.promptRecipe}`),
|
|
93
|
+
].join('\n');
|
|
94
|
+
}
|
|
95
|
+
export function renderSlashCommandAdapter(options) {
|
|
96
|
+
const client = options.client ?? 'generic';
|
|
97
|
+
const commands = getCommands(options.command);
|
|
98
|
+
if (options.format === 'json') {
|
|
99
|
+
const meta = getClientAdapterMeta(client);
|
|
100
|
+
return JSON.stringify({
|
|
101
|
+
client,
|
|
102
|
+
title: meta.title,
|
|
103
|
+
integrationTarget: meta.integrationTarget,
|
|
104
|
+
notes: meta.notes,
|
|
105
|
+
commands,
|
|
106
|
+
}, null, 2);
|
|
107
|
+
}
|
|
108
|
+
if (options.format === 'markdown') {
|
|
109
|
+
return renderMarkdown(commands, client);
|
|
110
|
+
}
|
|
111
|
+
return renderText(commands, client);
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=slash-command-adapters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slash-command-adapters.js","sourceRoot":"","sources":["../../src/commands/slash-command-adapters.ts"],"names":[],"mappings":"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"}
|