connectbase-client 0.6.2 → 0.6.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/cli.js +59 -35
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -444,43 +444,48 @@ function addDeployScript(deployDir) {
|
|
|
444
444
|
warn("package.json \uC218\uC815\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4");
|
|
445
445
|
}
|
|
446
446
|
}
|
|
447
|
-
async function
|
|
447
|
+
async function downloadDocs(apiKey, templates) {
|
|
448
448
|
const claudeDir = path.join(process.cwd(), ".claude");
|
|
449
|
+
const docsDir = path.join(claudeDir, "docs");
|
|
449
450
|
const claudeMdPath = path.join(claudeDir, "CLAUDE.md");
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
fs.mkdirSync(claudeDir, { recursive: true });
|
|
451
|
+
if (!fs.existsSync(docsDir)) {
|
|
452
|
+
fs.mkdirSync(docsDir, { recursive: true });
|
|
453
453
|
}
|
|
454
|
-
|
|
454
|
+
if (!templates) {
|
|
455
|
+
log(`
|
|
455
456
|
${colors.dim}SDK \uAC00\uC774\uB4DC \uD15C\uD50C\uB9BF:${colors.reset}`);
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
457
|
+
log(` ${colors.cyan}1${colors.reset}) \uAE30\uBCF8 SDK (Database, Auth, Realtime, Storage, Payment, Push, Ads)`);
|
|
458
|
+
log(` ${colors.cyan}2${colors.reset}) \uAE30\uBCF8 SDK + \uAC8C\uC784 \uC11C\uBC84 (\uBA40\uD2F0\uD50C\uB808\uC774\uC5B4)`);
|
|
459
|
+
log(` ${colors.cyan}3${colors.reset}) \uAE30\uBCF8 SDK + \uBE44\uB514\uC624 \uC11C\uBC84 (\uB3D9\uC601\uC0C1 \uD50C\uB7AB\uD3FC)`);
|
|
460
|
+
log(` ${colors.cyan}4${colors.reset}) \uAE30\uBCF8 SDK + \uAC8C\uC784 \uC11C\uBC84 + \uBE44\uB514\uC624 \uC11C\uBC84`);
|
|
461
|
+
const templateChoice = await prompt(`
|
|
461
462
|
${colors.blue}?${colors.reset} \uC120\uD0DD (1): `) || "1";
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
463
|
+
templates = ["fullstack"];
|
|
464
|
+
if (templateChoice === "2" || templateChoice === "4") templates.push("game-server");
|
|
465
|
+
if (templateChoice === "3" || templateChoice === "4") templates.push("video-server");
|
|
466
|
+
}
|
|
465
467
|
info("SDK \uAC1C\uBC1C \uAC00\uC774\uB4DC \uB2E4\uC6B4\uB85C\uB4DC \uC911...");
|
|
466
468
|
try {
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
if (claudeMdContent) claudeMdContent += "\n\n---\n\n";
|
|
476
|
-
claudeMdContent += claudeMdRes.data;
|
|
477
|
-
} else {
|
|
478
|
-
throw new Error(`HTTP ${claudeMdRes.status} for template ${tmpl}`);
|
|
479
|
-
}
|
|
469
|
+
const templateParam = templates.join(",");
|
|
470
|
+
const res = await makeRequest(
|
|
471
|
+
`${DEFAULT_BASE_URL}/v1/storages/webs/claude-md?api_key=${encodeURIComponent(apiKey)}&template=${encodeURIComponent(templateParam)}&format=sections`,
|
|
472
|
+
"GET",
|
|
473
|
+
{}
|
|
474
|
+
);
|
|
475
|
+
if (res.status !== 200) {
|
|
476
|
+
throw new Error(`HTTP ${res.status}`);
|
|
480
477
|
}
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
478
|
+
const data = res.data;
|
|
479
|
+
let savedCount = 0;
|
|
480
|
+
for (const section of data.sections) {
|
|
481
|
+
const filePath = path.join(docsDir, section.filename);
|
|
482
|
+
fs.writeFileSync(filePath, section.content);
|
|
483
|
+
savedCount++;
|
|
484
|
+
}
|
|
485
|
+
fs.writeFileSync(claudeMdPath, data.index);
|
|
486
|
+
success(`.claude/CLAUDE.md \uC778\uB371\uC2A4 \uC0DD\uC131 \uC644\uB8CC`);
|
|
487
|
+
success(`.claude/docs/ \uC5D0 ${savedCount}\uAC1C \uC139\uC158 \uD30C\uC77C \uC800\uC7A5 \uC644\uB8CC`);
|
|
488
|
+
log(`${colors.dim}AI\uAC00 \uD544\uC694\uD55C \uC139\uC158\uB9CC \uC77D\uC5B4 \uD1A0\uD070\uC744 \uC808\uC57D\uD569\uB2C8\uB2E4${colors.reset}`);
|
|
484
489
|
} catch {
|
|
485
490
|
warn("SDK \uAC00\uC774\uB4DC \uB2E4\uC6B4\uB85C\uB4DC \uC2E4\uD328, \uAE30\uBCF8 CLAUDE.md\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4");
|
|
486
491
|
fs.writeFileSync(claudeMdPath, `# Connect Base SDK
|
|
@@ -491,9 +496,14 @@ ${colors.blue}?${colors.reset} \uC120\uD0DD (1): `) || "1";
|
|
|
491
496
|
`);
|
|
492
497
|
success(".claude/CLAUDE.md \uC0DD\uC131 \uC644\uB8CC (\uAE30\uBCF8)");
|
|
493
498
|
}
|
|
499
|
+
}
|
|
500
|
+
async function setupClaudeCode(apiKey) {
|
|
501
|
+
const mcpConfigPath = path.join(process.cwd(), ".mcp.json");
|
|
502
|
+
await downloadDocs(apiKey);
|
|
494
503
|
const mcpConfig = {
|
|
495
504
|
mcpServers: {
|
|
496
|
-
|
|
505
|
+
"connect-base": {
|
|
506
|
+
type: "http",
|
|
497
507
|
url: "https://mcp.connectbase.world/mcp",
|
|
498
508
|
headers: {
|
|
499
509
|
Authorization: "Bearer YOUR_SECRET_KEY_HERE"
|
|
@@ -858,6 +868,7 @@ ${colors.yellow}\uC0AC\uC6A9\uBC95:${colors.reset}
|
|
|
858
868
|
|
|
859
869
|
${colors.yellow}\uBA85\uB839\uC5B4:${colors.reset}
|
|
860
870
|
init \uD504\uB85C\uC81D\uD2B8 \uCD08\uAE30\uD654 (\uC124\uC815 \uD30C\uC77C \uC0DD\uC131)
|
|
871
|
+
docs SDK \uBB38\uC11C \uB2E4\uC6B4\uB85C\uB4DC/\uC5C5\uB370\uC774\uD2B8
|
|
861
872
|
deploy <directory> \uC6F9 \uC2A4\uD1A0\uB9AC\uC9C0\uC5D0 \uD30C\uC77C \uBC30\uD3EC
|
|
862
873
|
tunnel <port> \uB85C\uCEEC \uC11C\uBE44\uC2A4\uB97C \uC778\uD130\uB137\uC5D0 \uB178\uCD9C
|
|
863
874
|
|
|
@@ -874,14 +885,17 @@ ${colors.yellow}\uBE60\uB978 \uC2DC\uC791:${colors.reset}
|
|
|
874
885
|
${colors.dim}# 1. \uCD08\uAE30\uD654 (\uCD5C\uCD08 1\uD68C)${colors.reset}
|
|
875
886
|
npx connectbase-client init
|
|
876
887
|
|
|
877
|
-
${colors.dim}# 2. \
|
|
888
|
+
${colors.dim}# 2. SDK \uBB38\uC11C \uC5C5\uB370\uC774\uD2B8${colors.reset}
|
|
889
|
+
npx connectbase docs
|
|
890
|
+
|
|
891
|
+
${colors.dim}# 3. \uBC30\uD3EC${colors.reset}
|
|
878
892
|
npm run deploy
|
|
879
893
|
|
|
880
|
-
${colors.dim}#
|
|
881
|
-
npx connectbase
|
|
894
|
+
${colors.dim}# 4. \uD130\uB110 (\uAE30\uBCF8)${colors.reset}
|
|
895
|
+
npx connectbase tunnel 3000
|
|
882
896
|
|
|
883
|
-
${colors.dim}#
|
|
884
|
-
npx connectbase
|
|
897
|
+
${colors.dim}# 5. \uD130\uB110 (GPU \uC11C\uBC84 \uB4F1 \uAE34 \uC751\uB2F5 \uC2DC)${colors.reset}
|
|
898
|
+
npx connectbase tunnel 7860 --timeout 300 --max-body 50
|
|
885
899
|
|
|
886
900
|
${colors.yellow}\uD658\uACBD\uBCC0\uC218:${colors.reset}
|
|
887
901
|
CONNECTBASE_API_KEY API Key
|
|
@@ -947,6 +961,16 @@ async function main() {
|
|
|
947
961
|
};
|
|
948
962
|
if (parsed.command === "init") {
|
|
949
963
|
await init();
|
|
964
|
+
} else if (parsed.command === "docs") {
|
|
965
|
+
let docsApiKey = config.apiKey;
|
|
966
|
+
if (!docsApiKey) {
|
|
967
|
+
docsApiKey = await prompt(`${colors.blue}?${colors.reset} API Key: `);
|
|
968
|
+
if (!docsApiKey) {
|
|
969
|
+
error("API Key\uB294 \uD544\uC218\uC785\uB2C8\uB2E4");
|
|
970
|
+
process.exit(1);
|
|
971
|
+
}
|
|
972
|
+
}
|
|
973
|
+
await downloadDocs(docsApiKey);
|
|
950
974
|
} else if (parsed.command === "deploy") {
|
|
951
975
|
const directory = parsed.args[0] || fileConfig.deployDir || ".";
|
|
952
976
|
if (!config.apiKey) {
|