Skip to main content
Glama

PDF-Generierungs-API für Entwickler. Versenden Sie Rechnungen, Quittungen, Verträge und Berichte mit wunderschönen Standardeinstellungen.

Installation

# SDK — in your app
npm i @kamydev/sdk

# CLI — globally for scripts, CI, previews
npm i -g @kamydev/cli
import 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

Was ist neu

Datum

Änderung

Apr 2026

GET /v1/renders gibt jetzt eine cost pro Rendering (in Hauptwährungseinheiten) plus eine currency: "usd" auf oberster Ebene zurück. Die Denormalisierung erfolgt zum Zeitpunkt des Einfügens über einen Postgres-Trigger, der users.plan liest, sodass die Kosten Ihren Plan zum Zeitpunkt des Renderings widerspiegeln. Im SDK 0.2.3 als RenderSummary.cost / RendersListResult.currency verfügbar.

Apr 2026

Das SDK liefert jetzt OpenAPI-generierte Typen aus — import type { paths, components } from "@kamydev/sdk/openapi" für vollständig typisierte Request/Response-Strukturen, die aus der Live-Spezifikation abgeleitet sind. Die rohe openapi.json wird ebenfalls mitgeliefert.

Apr 2026

JSON-Schema-Validierung pro Vorlage zum Zeitpunkt des Renderings via Ajv (Formate aktiviert). Zuvor wurde nur required geprüft – die vollständige Durchsetzung von Typ/Format/Enum/oneOf ist jetzt live.

Apr 2026

options.encrypt — AES-256-Passwortschutz + Berechtigungs-Flags (Drucken, Kopieren, Ändern, Kommentieren, Formularausfüllen, Barrierefreiheit, Zusammenstellen).

Apr 2026

Die OpenAPI 3.0.3-Spezifikation deckt jetzt alle 19 /v1/*-Routen mit vollständigen Request/Response-Schemas ab — https://kamy.dev/api/openapi.json

Apr 2026

kamy push <file> CLI + client.pushTemplate() SDK + idempotentes PUT /v1/templates Upsert. Führen Sie dies bei jedem Commit aus, um Vorlagen aus dem Repository zu synchronisieren.

Apr 2026

options.validateOnly: true — Testlauf für jedes Rendering, um die Payload zu validieren, ohne das Kontingent zu verbrauchen.

Apr 2026

`options.pdfA: "1b"

"2b"

"3b"` — Best-Effort PDF/A-Archivierungs-Tagging via eingebettetem sRGB ICC OutputIntent + XMP.

Apr 2026

options.metadata (Info-Dict) + options.watermark (pdf-lib Stempel, unterscheidet sich von theme.watermark).

Apr 2026

options.inlineImages + options.compressImages — serverseitige Bildhärtung, schützt vor ablaufenden signierten URLs.

Ausführliche Details zu jedem Release finden Sie im CHANGELOG.md.

Architektur

Kamy ist ein Turborepo-Monorepo, das Folgendes enthält:

Paket

Beschreibung

apps/web

Next.js 15 App — Landingpage, Dashboard, REST-API

apps/mcp

Cloudflare Worker — MCP-Server für KI-Coding-Agenten

apps/docs

Nextra-Dokumentationsseite

packages/sdk

@kamydev/sdk — veröffentlichbares TypeScript-SDK

packages/templates

@kamy/templates — PDF-Vorlagen HTML/CSS + Zod-Schemas

packages/ui

@kamy/ui — geteilte shadcn/Radix UI-Komponenten

packages/shared

@kamy/shared — Typen, Utils, Observability, E-Mail

packages/tsconfig

@kamy/tsconfig — geteilte TypeScript-Konfigurationen

Voraussetzungen

  • Node.js 22+

  • pnpm 10+

  • Supabase CLI (brew install supabase/tap/supabase)

  • Wrangler CLI (pnpm add -g wrangler) — für MCP-Server

Lokale Entwicklung

# 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

Die Web-App läuft unter https://kamy.dev

Befehle

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

Datenbank

Migrationen befinden sich in supabase/migrations/. Sie werden in der Reihenfolge ihres Zeitstempels angewendet.

# Reset and reseed local DB
supabase db reset

# Create a new migration
supabase migration new <name>

# Push to remote Supabase project
supabase db push

Bereitstellung

  • Web-App: Bereitstellung auf Vercel beim Merge in main

  • MCP-Server: Bereitstellung auf Cloudflare Workers via wrangler deploy

  • Datenbank: Gehostet auf Supabase Cloud

Umgebungsvariablen

Siehe .env.example für alle erforderlichen Variablen mit Beschreibungen.

Tech-Stack

  • Framework: Next.js 15 (App Router, React Server Components, Turbopack)

  • Sprache: TypeScript 5.7+ strict

  • Datenbank: Supabase (Postgres 16 + Auth + Storage)

  • Styling: Tailwind CSS v4 (Oxide-Engine)

  • Zahlungen: Stripe (Meters API)

  • PDF-Engine: Browserless.io v2

  • E-Mail: Resend + React Email

  • Observability: Sentry + PostHog + Axiom

  • Tests: Vitest + Playwright + MSW

Open Plugins

Dieses Repository liefert eine Open Plugins-Distribution aus, damit KI-Coding-Agenten (Cursor, Claude Code und jedes andere Open-Plugins-kompatible Tool) Kamy als einzelnes Plugin installieren und eine sofort einsatzbereite PDF-Pipeline erhalten können.

Das Plugin bündelt vier Komponenten im Repository-Root:

Pfad

Komponente

Zweck

.plugin/plugin.json

Manifest

Name, Version, Metadaten, deklarierte Komponenten

skills/kamy/SKILL.md

Skill

Bringt dem Agenten bei, wann und wie PDFs gerendert werden

rules/kamy-sdk.mdc

Regel

Coding-Konventionen für @kamydev/sdk und die REST-API

agents/pdf-template-author.md

Sub-Agent

Spezialisierter Vorlagendesign-Agent (Handlebars + Print-CSS)

.mcp.json

MCP-Server

Gehostetes MCP unter mcp.kamy.dev, das Rendering-Tools bereitstellt

Um das Plugin in einem unterstützten Agenten zu installieren, verweisen Sie ihn auf dieses Repository (https://github.com/rakanalalami/kamy) und folgen Sie dem Plugin-Installationsablauf des Hosts. Der Agent liest das Manifest und lädt die Komponenten automatisch.

Siehe die Open Plugins-Spezifikation für das vollständige Schema.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    5
    1,421 npm
    2
    MIT