gencow 0.1.13 → 0.1.14

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/bin/gencow.mjs CHANGED
@@ -479,13 +479,71 @@ function generateReadmeMd(config, apiObj) {
479
479
  md += `\n`;
480
480
  md += `위 API를 기반으로 Next.js + Tailwind CSS UI 컴포넌트를 만들어줘.\n`;
481
481
  md += `- TypeScript 타입을 최대한 활용하고, 로딩/에러 상태도 처리해줘.\n`;
482
+ md += `- ctx.ai.chat()을 사용해서 AI를 호출하고, OpenAI SDK를 직접 설치하지 마.\n`;
483
+ md += `- 배포는 \`npx gencow deploy\`로 해.\n`;
484
+ md += `- 환경변수는 \`npx gencow env set KEY=VALUE\`로 관리해.\n`;
485
+ md += `- .env 파일은 로컬 개발 전용이야. 서버에는 gencow env push로 올려.\n`;
482
486
  md += `\`\`\`\n\n`;
483
487
 
484
- // ── 4. Dev Tips ────────────────────────────────────────
488
+ // ── 4. AI 사용법 ────────────────────────────────────
489
+ md += `---\n\n## 🤖 AI 사용법 (ctx.ai)\n\n`;
490
+ md += `> Gencow는 OpenAI GPT-4o/4o-mini를 내장 지원합니다.\n`;
491
+ md += `> API 키 관리, 과금, 보안을 플랫폼이 자동 처리합니다.\n\n`;
492
+ md += `### 백엔드에서 AI 호출\n\n`;
493
+ md += `\`\`\`typescript\n`;
494
+ md += `// gencow/ai.ts\n`;
495
+ md += `import { mutation } from "@gencow/core";\n\n`;
496
+ md += `export const chat = mutation({\n`;
497
+ md += ` handler: async (ctx, { message }) => {\n`;
498
+ md += ` const result = await ctx.ai.chat({\n`;
499
+ md += ` model: "gpt-4o-mini", // 또는 "gpt-4o"\n`;
500
+ md += ` messages: [{ role: "user", content: message }],\n`;
501
+ md += ` });\n`;
502
+ md += ` return result.text;\n`;
503
+ md += ` },\n`;
504
+ md += `});\n`;
505
+ md += `\`\`\`\n\n`;
506
+ md += `### 로컬 개발 설정\n\n`;
507
+ md += `\`.env\` 파일에 OpenAI 키를 추가하면 로컬에서 바로 테스트 가능:\n\n`;
508
+ md += `\`\`\`\nOPENAI_API_KEY=sk-...\n\`\`\`\n\n`;
509
+ md += `> ⚠️ 배포 후에는 플랫폼 키가 자동 사용됩니다. .env의 키는 로컬 전용입니다.\n\n`;
510
+ md += `### ❌ 하지 마세요\n\n`;
511
+ md += `\`\`\`typescript\n`;
512
+ md += `// ❌ OpenAI SDK를 직접 설치하지 마세요\n`;
513
+ md += `import OpenAI from "openai";\n`;
514
+ md += `const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });\n\n`;
515
+ md += `// ✅ ctx.ai.chat()을 사용하세요 — 키 관리 + 과금 자동\n`;
516
+ md += `const result = await ctx.ai.chat({ model: "gpt-4o-mini", messages: [...] });\n`;
517
+ md += `\`\`\`\n\n`;
518
+
519
+ // ── 5. 배포 가이드 ───────────────────────────────────
520
+ md += `---\n\n## 🚀 배포\n\n`;
521
+ md += `### 클라우드 배포 (3단계)\n\n`;
522
+ md += `\`\`\`bash\n`;
523
+ md += `# 1. 로그인 (최초 1회)\n`;
524
+ md += `npx gencow login\n\n`;
525
+ md += `# 2. 배포\n`;
526
+ md += `npx gencow deploy\n\n`;
527
+ md += `# 3. 환경변수 설정 (필요 시)\n`;
528
+ md += `npx gencow env set DATABASE_URL=postgres://...\n`;
529
+ md += `npx gencow env list\n`;
530
+ md += `\`\`\`\n\n`;
531
+ md += `> 배포 후 앱은 \`https://{앱이름}.gencow.dev\`에서 접근 가능\n\n`;
532
+ md += `### 환경변수 관리\n\n`;
533
+ md += `| 명령어 | 설명 |\n`;
534
+ md += `| :--- | :--- |\n`;
535
+ md += `| \`gencow env list\` | 현재 환경변수 목록 |\n`;
536
+ md += `| \`gencow env set KEY=VALUE\` | 환경변수 추가/수정 |\n`;
537
+ md += `| \`gencow env unset KEY\` | 환경변수 삭제 |\n`;
538
+ md += `| \`gencow env push\` | 로컬 .env를 서버에 일괄 업로드 |\n\n`;
539
+
540
+ // ── 6. Dev Tips ────────────────────────────────────────
485
541
  md += `---\n\n## 💡 개발 팁\n\n`;
486
542
  md += `- \`gencow/\` 폴더 내 파일을 수정하면 \`api.ts\`와 이 README가 **자동으로 재생성**됩니다.\n`;
487
543
  md += `- 스키마 변경 후 \`gencow db:push\`를 실행하면 DB가 즉시 동기화됩니다.\n`;
488
544
  md += `- MCP 서버를 사용하면 AI가 이 구조를 자동으로 인식합니다.\n`;
545
+ md += `- 로컬 개발: \`gencow dev\` → \`http://localhost:5456\`\n`;
546
+ md += `- .env 파일은 로컬 전용. 서버에는 \`gencow env push\`로 올리세요.\n`;
489
547
 
490
548
  // ── 5. 기존 컴포넌트 섹션 보존 (gencow add로 추가된 부분) ──
491
549
  const COMP_START = "<!-- gencow-components-start -->";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gencow",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "Gencow — Backend OS for AI Agents",
5
5
  "type": "module",
6
6
  "bin": {