circuit-mcp 1.0.3 → 1.0.5
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/package.json +1 -1
- package/publish.sh +21 -0
- package/src/index.js +22 -21
- package/src/ui.js +2 -11
package/package.json
CHANGED
package/publish.sh
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Publish script for circuit-mcp package
|
|
4
|
+
# Uses token to bypass 2FA
|
|
5
|
+
|
|
6
|
+
set -e
|
|
7
|
+
|
|
8
|
+
# NPM token for publishing (bypasses 2FA)
|
|
9
|
+
NPM_TOKEN="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"
|
|
10
|
+
|
|
11
|
+
# Create temporary .npmrc with token
|
|
12
|
+
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
|
|
13
|
+
|
|
14
|
+
# Publish the package
|
|
15
|
+
npm publish --access public
|
|
16
|
+
|
|
17
|
+
# Clean up .npmrc
|
|
18
|
+
rm .npmrc
|
|
19
|
+
|
|
20
|
+
echo "✅ Published successfully!"
|
|
21
|
+
|
package/src/index.js
CHANGED
|
@@ -113,30 +113,31 @@ function showTroubleshoot() {
|
|
|
113
113
|
async function runSetup() {
|
|
114
114
|
showBanner();
|
|
115
115
|
|
|
116
|
-
console.log(chalk.
|
|
117
|
-
console.log(
|
|
118
|
-
|
|
119
|
-
console.log(
|
|
120
|
-
|
|
121
|
-
// For now, show instructions for both
|
|
122
|
-
console.log(chalk.cyan.bold(' Cursor Setup\n'));
|
|
123
|
-
console.log(chalk.dim(' Add to your Cursor settings (Cmd+Shift+P → "Cursor Settings: Open User Settings"):\n'));
|
|
124
|
-
console.log(chalk.white(` {
|
|
125
|
-
"mcpServers": {
|
|
126
|
-
"circuit": {
|
|
127
|
-
"command": "npx",
|
|
128
|
-
"args": ["circuit-mcp"]
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}\n`));
|
|
116
|
+
console.log(chalk.white.bold(' Welcome to Circuit!\n'));
|
|
117
|
+
console.log(chalk.dim(' Connect your AI coding tool to start building from customer feedback.\n'));
|
|
118
|
+
|
|
119
|
+
console.log(chalk.dim(' ─────────────────────────────────────────\n'));
|
|
132
120
|
|
|
133
|
-
console.log(chalk.cyan.bold('
|
|
134
|
-
console.log(chalk.dim('
|
|
135
|
-
console.log(chalk.white(
|
|
121
|
+
console.log(chalk.cyan.bold(' Cursor\n'));
|
|
122
|
+
console.log(chalk.dim(' 1. Open your MCP config file:\n'));
|
|
123
|
+
console.log(chalk.white(' open ~/.cursor/mcp.json\n'));
|
|
124
|
+
console.log(chalk.dim(' 2. Add this to the file:\n'));
|
|
125
|
+
console.log(chalk.white(` {
|
|
126
|
+
"mcpServers": {
|
|
127
|
+
"circuit": {
|
|
128
|
+
"command": "npx",
|
|
129
|
+
"args": ["circuit-mcp"]
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}\n`));
|
|
133
|
+
console.log(chalk.dim(' 3. Restart Cursor\n'));
|
|
134
|
+
|
|
135
|
+
console.log(chalk.cyan.bold(' Claude Code\n'));
|
|
136
|
+
console.log(chalk.dim(' Run this in your terminal:\n'));
|
|
137
|
+
console.log(chalk.white(' claude mcp add circuit -- npx circuit-mcp\n'));
|
|
136
138
|
|
|
137
139
|
console.log(chalk.dim(' ─────────────────────────────────────────\n'));
|
|
138
|
-
console.log(chalk.dim('
|
|
139
|
-
console.log(chalk.dim(' authenticate on first use.\n'));
|
|
140
|
+
console.log(chalk.dim(' Circuit will prompt you to sign in on first use.\n'));
|
|
140
141
|
}
|
|
141
142
|
|
|
142
143
|
async function runAuth() {
|
package/src/ui.js
CHANGED
|
@@ -7,16 +7,7 @@ const WARM_BEIGE = '#F5F1EA';
|
|
|
7
7
|
|
|
8
8
|
export function showBanner() {
|
|
9
9
|
console.log();
|
|
10
|
-
|
|
11
|
-
console.log(chalk.hex(CHARCOAL)(' ▄▄▄▄▄▄▄'));
|
|
12
|
-
console.log(chalk.hex(CHARCOAL)(' ▄█') + chalk.hex(WARM_WHITE)('▀▀▀▀▀') + chalk.hex(CHARCOAL)('█▄'));
|
|
13
|
-
console.log(chalk.hex(CHARCOAL)(' █') + chalk.hex(WARM_WHITE)('▀') + chalk.hex(CHARCOAL)('█████') + chalk.hex(WARM_WHITE)('▀') + chalk.hex(CHARCOAL)('█'));
|
|
14
|
-
console.log(chalk.hex(CHARCOAL)(' █') + chalk.hex(WARM_WHITE)('▐') + chalk.hex(CHARCOAL)('███████') + chalk.hex(WARM_WHITE)('▌') + chalk.hex(CHARCOAL)('█'));
|
|
15
|
-
console.log(chalk.hex(CHARCOAL)(' █') + chalk.hex(WARM_WHITE)('▄') + chalk.hex(CHARCOAL)('█████') + chalk.hex(WARM_WHITE)('▄') + chalk.hex(CHARCOAL)('█'));
|
|
16
|
-
console.log(chalk.hex(CHARCOAL)(' ▀█') + chalk.hex(WARM_WHITE)('▄▄▄▄▄') + chalk.hex(CHARCOAL)('█▀'));
|
|
17
|
-
console.log(chalk.hex(CHARCOAL)(' ▀▀▀▀▀▀▀'));
|
|
18
|
-
console.log();
|
|
19
|
-
console.log(chalk.hex(CHARCOAL).bold(' Circuit') + chalk.dim(' MCP'));
|
|
10
|
+
console.log(chalk.hex(CHARCOAL)(' ◉ ') + chalk.hex(CHARCOAL).bold('Circuit') + chalk.dim(' MCP'));
|
|
20
11
|
console.log();
|
|
21
12
|
}
|
|
22
13
|
|
|
@@ -43,7 +34,7 @@ export function showSpinner(message) {
|
|
|
43
34
|
|
|
44
35
|
const interval = setInterval(() => {
|
|
45
36
|
if (stopped) return;
|
|
46
|
-
process.stderr.write(`\r ${chalk.hex(
|
|
37
|
+
process.stderr.write(`\r ${chalk.hex(CHARCOAL)(frames[i])} ${chalk.dim(message)}`);
|
|
47
38
|
i = (i + 1) % frames.length;
|
|
48
39
|
}, 80);
|
|
49
40
|
|