connectbase-client 0.6.1 → 0.6.2

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.
Files changed (2) hide show
  1. package/dist/cli.js +37 -126
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -451,135 +451,46 @@ async function setupClaudeCode(apiKey) {
451
451
  if (!fs.existsSync(claudeDir)) {
452
452
  fs.mkdirSync(claudeDir, { recursive: true });
453
453
  }
454
- const claudeMdContent = `# CLAUDE.md
455
-
456
- This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
457
-
458
- ## Connect Base SDK
454
+ log(`
455
+ ${colors.dim}SDK \uAC00\uC774\uB4DC \uD15C\uD50C\uB9BF:${colors.reset}`);
456
+ log(` ${colors.cyan}1${colors.reset}) \uAE30\uBCF8 SDK (Database, Auth, Realtime, Storage, Payment, Push, Ads)`);
457
+ log(` ${colors.cyan}2${colors.reset}) \uAE30\uBCF8 SDK + \uAC8C\uC784 \uC11C\uBC84 (\uBA40\uD2F0\uD50C\uB808\uC774\uC5B4)`);
458
+ log(` ${colors.cyan}3${colors.reset}) \uAE30\uBCF8 SDK + \uBE44\uB514\uC624 \uC11C\uBC84 (\uB3D9\uC601\uC0C1 \uD50C\uB7AB\uD3FC)`);
459
+ log(` ${colors.cyan}4${colors.reset}) \uAE30\uBCF8 SDK + \uAC8C\uC784 \uC11C\uBC84 + \uBE44\uB514\uC624 \uC11C\uBC84`);
460
+ const templateChoice = await prompt(`
461
+ ${colors.blue}?${colors.reset} \uC120\uD0DD (1): `) || "1";
462
+ const templates = ["fullstack"];
463
+ if (templateChoice === "2" || templateChoice === "4") templates.push("game-server");
464
+ if (templateChoice === "3" || templateChoice === "4") templates.push("video-server");
465
+ info("SDK \uAC1C\uBC1C \uAC00\uC774\uB4DC \uB2E4\uC6B4\uB85C\uB4DC \uC911...");
466
+ try {
467
+ let claudeMdContent = "";
468
+ for (const tmpl of templates) {
469
+ const claudeMdRes = await makeRequest(
470
+ `${DEFAULT_BASE_URL}/v1/storages/webs/claude-md?api_key=${encodeURIComponent(apiKey)}&template=${tmpl}`,
471
+ "GET",
472
+ {}
473
+ );
474
+ if (claudeMdRes.status === 200 && typeof claudeMdRes.data === "string") {
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
+ }
480
+ }
481
+ fs.writeFileSync(claudeMdPath, claudeMdContent);
482
+ const tmplNames = templates.join(" + ");
483
+ success(`.claude/CLAUDE.md \uC0DD\uC131 \uC644\uB8CC (${tmplNames})`);
484
+ } catch {
485
+ warn("SDK \uAC00\uC774\uB4DC \uB2E4\uC6B4\uB85C\uB4DC \uC2E4\uD328, \uAE30\uBCF8 CLAUDE.md\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4");
486
+ fs.writeFileSync(claudeMdPath, `# Connect Base SDK
459
487
 
460
488
  \uC774 \uD504\uB85C\uC81D\uD2B8\uB294 Connect Base SDK\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4.
461
489
 
462
- ### \uC124\uCE58
463
-
464
- \`\`\`bash
465
- npm install connectbase-client
466
- \`\`\`
467
-
468
- ### \uAE30\uBCF8 \uC0AC\uC6A9\uBC95
469
-
470
- \`\`\`typescript
471
- import ConnectBase from 'connectbase-client'
472
-
473
- const cb = new ConnectBase({
474
- apiKey: 'YOUR_API_KEY'
475
- })
476
- \`\`\`
477
-
478
- ### Database API
479
-
480
- \`\`\`typescript
481
- // \uB370\uC774\uD130 \uC870\uD68C
482
- const { data, total } = await cb.database.getData('table-id', {
483
- limit: 20,
484
- offset: 0,
485
- select: ['id', 'name', 'thumbnail'], // \uD2B9\uC815 \uD544\uB4DC\uB9CC \uC870\uD68C
486
- exclude: ['html_content'] // \uD2B9\uC815 \uD544\uB4DC \uC81C\uC678
487
- })
488
-
489
- // \uC870\uAC74\uBD80 \uCFFC\uB9AC
490
- const result = await cb.database.queryData('table-id', {
491
- where: { field: 'status', operator: 'eq', value: 'active' },
492
- orderBy: 'created_at',
493
- orderDirection: 'desc'
494
- })
495
-
496
- // \uB370\uC774\uD130 \uC0DD\uC131
497
- const newItem = await cb.database.createData('table-id', {
498
- data: { name: 'John', email: 'john@example.com' }
499
- })
500
-
501
- // \uB370\uC774\uD130 \uC218\uC815
502
- await cb.database.updateData('table-id', 'data-id', {
503
- data: { name: 'Jane' }
504
- })
505
-
506
- // \uB370\uC774\uD130 \uC0AD\uC81C
507
- await cb.database.deleteData('table-id', 'data-id')
508
- \`\`\`
509
-
510
- ### Storage API
511
-
512
- \`\`\`typescript
513
- // \uD30C\uC77C \uC5C5\uB85C\uB4DC
514
- const result = await cb.storage.uploadFile(file)
515
-
516
- // \uD30C\uC77C \uBAA9\uB85D \uC870\uD68C
517
- const files = await cb.storage.listFiles()
518
- \`\`\`
519
-
520
- ### Auth API
521
-
522
- \`\`\`typescript
523
- // \uD68C\uC6D0\uAC00\uC785
524
- await cb.auth.signUp({ email, password })
525
-
526
- // \uB85C\uADF8\uC778
527
- const { member, tokens } = await cb.auth.signIn({ email, password })
528
-
529
- // \uB85C\uADF8\uC544\uC6C3
530
- await cb.auth.signOut()
531
- \`\`\`
532
-
533
- ### Functions API
534
-
535
- \`\`\`typescript
536
- // Serverless \uD568\uC218 \uD638\uCD9C
537
- const result = await cb.functions.invoke('function-name', {
538
- param1: 'value1'
539
- })
540
- \`\`\`
541
-
542
- ### Realtime API
543
-
544
- \`\`\`typescript
545
- // WebSocket \uC5F0\uACB0
546
- cb.realtime.connect()
547
-
548
- // \uCC44\uB110 \uAD6C\uB3C5
549
- cb.realtime.subscribe('channel-name', (message) => {
550
- console.log('\uBC1B\uC740 \uBA54\uC2DC\uC9C0:', message)
551
- })
552
-
553
- // \uBA54\uC2DC\uC9C0 \uC804\uC1A1
554
- cb.realtime.send('channel-name', { text: 'Hello!' })
555
- \`\`\`
556
-
557
- ## Where \uC5F0\uC0B0\uC790
558
-
559
- | \uC5F0\uC0B0\uC790 | \uC124\uBA85 |
560
- |--------|------|
561
- | \`eq\` | \uAC19\uC74C (=) |
562
- | \`neq\` | \uAC19\uC9C0 \uC54A\uC74C (!=) |
563
- | \`gt\` | \uD07C (>) |
564
- | \`gte\` | \uD06C\uAC70\uB098 \uAC19\uC74C (>=) |
565
- | \`lt\` | \uC791\uC74C (<) |
566
- | \`lte\` | \uC791\uAC70\uB098 \uAC19\uC74C (<=) |
567
- | \`like\` | \uBD80\uBD84 \uC77C\uCE58 |
568
- | \`in\` | \uBC30\uC5F4\uC5D0 \uD3EC\uD568 |
569
- | \`nin\` | \uBC30\uC5F4\uC5D0 \uBBF8\uD3EC\uD568 |
570
- | \`between\` | \uBC94\uC704 \uB0B4 |
571
- | \`is_null\` | NULL \uCCB4\uD06C |
572
- | \`regex\` | \uC815\uADDC\uC2DD \uB9E4\uCE6D |
573
- | \`array_contains\` | \uBC30\uC5F4 \uD544\uB4DC\uC5D0 \uAC12 \uD3EC\uD568 |
574
-
575
- ## \uBC30\uD3EC
576
-
577
- \`\`\`bash
578
- npm run deploy
579
- \`\`\`
580
- `;
581
- fs.writeFileSync(claudeMdPath, claudeMdContent);
582
- success(".claude/CLAUDE.md \uC0DD\uC131 \uC644\uB8CC");
490
+ \uC790\uC138\uD55C \uAC00\uC774\uB4DC: https://connectbase.world
491
+ `);
492
+ success(".claude/CLAUDE.md \uC0DD\uC131 \uC644\uB8CC (\uAE30\uBCF8)");
493
+ }
583
494
  const mcpConfig = {
584
495
  mcpServers: {
585
496
  connectbase: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "connectbase-client",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Connect Base JavaScript/TypeScript SDK for browser and Node.js",
5
5
  "repository": {
6
6
  "type": "git",