Kamy
개발자를 위한 PDF 생성 API. 멋진 기본값으로 송장, 영수증, 계약서 및 보고서를 배포하세요.
설치
# SDK — in your app
npm i @kamydev/sdk
# CLI — globally for scripts, CI, previews
npm i -g @kamydev/cliimport Kamy from "@kamydev/sdk";
const kamy = new Kamy({ apiKey: process.env.KAMY_API_KEY! });
const pdf = await kamy.render({
template: "invoice",
data: { invoiceNumber: "INV-001", total: 1500, currency: "USD" },
});
console.log(pdf.url); // signed URL, valid 1 hour새로운 기능
날짜 | 변경 사항 | ||
2026년 4월 |
| ||
2026년 4월 | SDK가 이제 OpenAPI 생성 타입을 제공합니다. 라이브 사양에서 파생된 완벽한 타입의 요청/응답 형태를 위해 | ||
2026년 4월 | Ajv를 통한 렌더링 시점의 템플릿별 JSON 스키마 검증(포맷 활성화). 이전에는 | ||
2026년 4월 |
| ||
2026년 4월 | OpenAPI 3.0.3 사양이 이제 19개의 모든 | ||
2026년 4월 |
| ||
2026년 4월 |
| ||
2026년 4월 | `options.pdfA: "1b" | "2b" | "3b"` — 임베디드 sRGB ICC OutputIntent + XMP를 통한 최선의 PDF/A 아카이브 태깅. |
2026년 4월 |
| ||
2026년 4월 |
|
전체 릴리스별 세부 정보는 CHANGELOG.md에서 확인하세요.
아키텍처
Kamy는 다음을 포함하는 Turborepo 모노레포입니다:
패키지 | 설명 |
| Next.js 15 앱 — 랜딩 페이지, 대시보드, REST API |
| Cloudflare Worker — AI 코딩 에이전트를 위한 MCP 서버 |
| Nextra 문서 사이트 |
|
|
|
|
|
|
|
|
|
|
사전 요구 사항
Node.js 22+
pnpm 10+
Supabase CLI (
brew install supabase/tap/supabase)Wrangler CLI (
pnpm add -g wrangler) — MCP 서버용
로컬 개발
# 1. Install dependencies
pnpm install
# 2. Copy env file and fill in values
cp .env.example apps/web/.env.local
# 3. Start local Supabase (requires Docker)
supabase start
# 4. Apply database migrations
supabase db reset
# 5. Generate TypeScript types from schema
supabase gen types typescript --local > packages/shared/src/types/database.ts
# 6. Start all apps in dev mode
pnpm dev웹 앱은 https://kamy.dev에서 실행됩니다.
명령어
pnpm dev # Start all apps with Turbopack (hot reload)
pnpm build # Production build all apps
pnpm typecheck # TypeScript check across all packages
pnpm lint # Biome lint + format check
pnpm lint:fix # Biome auto-fix
pnpm test # Run all tests (Vitest unit + Playwright E2E)
pnpm test:unit # Vitest unit tests only
pnpm test:e2e # Playwright E2E tests only
pnpm clean # Remove all build artifacts데이터베이스
마이그레이션은 supabase/migrations/에 있습니다. 타임스탬프 순서대로 적용됩니다.
# Reset and reseed local DB
supabase db reset
# Create a new migration
supabase migration new <name>
# Push to remote Supabase project
supabase db push배포
웹 앱:
main브랜치 병합 시 Vercel에 배포MCP 서버:
wrangler deploy를 통해 Cloudflare Workers에 배포데이터베이스: Supabase Cloud에서 호스팅
환경 변수
설명이 포함된 모든 필수 변수는 .env.example을 참조하세요.
기술 스택
프레임워크: Next.js 15 (App Router, React Server Components, Turbopack)
언어: TypeScript 5.7+ strict
데이터베이스: Supabase (Postgres 16 + Auth + Storage)
스타일링: Tailwind CSS v4 (Oxide 엔진)
결제: Stripe (Meters API)
PDF 엔진: Browserless.io v2
이메일: Resend + React Email
관측 가능성: Sentry + PostHog + Axiom
테스트: Vitest + Playwright + MSW
오픈 플러그인
이 리포지토리는 Open Plugins 배포판을 제공하므로 AI 코딩 에이전트(Cursor, Claude Code 및 기타 Open-Plugins 호환 도구)가 Kamy를 단일 플러그인으로 설치하고 즉시 사용 가능한 PDF 파이프라인을 얻을 수 있습니다.
이 플러그인은 리포지토리 루트에 4개의 컴포넌트를 번들로 제공합니다:
경로 | 컴포넌트 | 목적 |
| 매니페스트 | 이름, 버전, 메타데이터, 선언된 컴포넌트 |
| 스킬 | 에이전트에게 PDF 렌더링 시기와 방법 교육 |
| 규칙 |
|
| 서브 에이전트 | 전문 템플릿 디자인 에이전트 (Handlebars + print CSS) |
| MCP 서버 | 렌더링 도구를 노출하는 |
지원되는 에이전트에 플러그인을 설치하려면 이 리포지토리(https://github.com/rakanalalami/kamy)를 가리키고 호스트의 플러그인 설치 흐름을 따르세요. 에이전트가 매니페스트를 읽고 컴포넌트를 자동으로 로드합니다.
전체 스키마는 Open Plugins 사양을 참조하세요.
This server cannot be deployed
Related MCP Connectors
Hosted MCP server: convert PDFs to clean, LLM-ready Markdown with tables, formulas and OCR.
MCP server for Api2Pdf — generate PDFs & images from HTML, URLs or office files; merge, barcodes.
Turn a description into a shareable, editable PDF — invoices, certificates, reports, resumes.
Hosted MCP server for Anvil — fill & generate PDFs and run Etch e-signature packets for AI agents.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables creative PDF generation with full design control including colors, shapes, emoji, and Unicode support. Supports everything from simple documents to artistic masterpieces using PDFKit's powerful API.51,421 npm2MIT