io.github.OtaKit/otakit

السجل الرسمي أخرى

Inspect, upload, release, monitor, and revert OtaKit Capacitor OTA updates.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

Remote (streamable-http)
Claude Code
claude mcp add --transport http otakit 'https://console.otakit.app/mcp'
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "otakit": {
            "type": "http",
            "url": "https://console.otakit.app/mcp"
        }
    }
}
NPM package @otakit/cli
Claude Code
claude mcp add otakit -- npx -y @otakit/cli@1.10.0 mcp
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "otakit": {
            "command": "npx",
            "args": [
                "-y",
                "@otakit/cli@1.10.0",
                "mcp"
            ]
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. OtaKit
  2. Self-hosting
  3. How it works
  4. MCP & Agent Skills
  5. Core concepts
  6. Packages
  7. Package docs
  8. Local development
  9. License

OtaKit

Fully open-source, self-hostable over-the-air update framework for Capacitor apps. Release updates directly to your Capacitor app without app store reviews.

Try it for free: OtaKit.app

Self-hosting

OtaKit is hosted-first — the managed service at otakit.app runs everything for you — but the entire platform is in this repo and can run on your own infrastructure. The minimal stack is the console (a standard Next.js app), Postgres, and an S3-compatible bucket behind a CDN.

Full step-by-step guide: otakit.app/docs/self-host

How it works

  1. Create an app in the dashboard.
  2. Copy its appId into capacitor.config.*.
  3. Build the app's web assets.
  4. Run otakit upload --release to upload the bundle and publish a release.
  5. The server writes the bundle and manifest to object storage behind the CDN.
  6. On the next app launch or resume, the plugin fetches the manifest from the CDN, compares it to the current bundle, and downloads the new version if available.
  7. If notifyAppReady() is called within the timeout, the new bundle is confirmed. Otherwise the plugin rolls back to the previous bundle automatically.

MCP & Agent Skills

Ask Claude Code, Codex, or VS Code to ship an update and it reads your Capacitor project, checks whether the change is safe to send over the air, uploads the build, and stops for your approval before anything reaches a device.

One command from your project directory:

npx -y @otakit/cli@latest connect

It detects your client, signs you in if needed, and prints the console, organization, project, and app it resolved — plus the exact file it will write — before writing anything. --dry-run shows the plan and writes nothing.

Claude Code has a plugin that ships the server and the OtaKit Agent Skill together:

npx -y @otakit/cli@latest login

claude plugin marketplace add OtaKit/otakit
claude plugin install otakit@otakit

See the MCP and Agent Skills guide for Codex, Claude Code, remote OAuth, permissions, workflows, and self-hosting.

Core concepts

  • App — the Capacitor app identified by its appId
  • Bundle — one uploaded web build zip with a version, hash, and size
  • Release — a promotion of a bundle to a channel, which publishes a manifest to the CDN
  • Channel — an optional release track such as staging
  • Runtime version — an optional native compatibility lane configured in the plugin

Packages

  • packages/capacitor-plugin — the runtime that lives inside the mobile app
  • packages/cli — CLI for uploading bundles and creating releases
  • packages/mcp-core — shared MCP contracts, tool catalog, and server registration
  • packages/site — public site, docs, contact, legal pages
  • packages/console — dashboard, API, auth, billing, and Prisma schema
  • packages/ingest — Cloudflare Worker for device event ingestion
  • tinybird/ — Tinybird datasources and pipes for event analytics
packages/
  capacitor-plugin/   Capacitor OTA plugin
  cli/                Upload + release CLI
  mcp-core/           Shared MCP contracts and tool catalog
  ingest/             Cloudflare Worker event ingest service
  site/               Next.js public site + docs
  console/            Next.js dashboard + API + auth + billing
tinybird/             Tinybird event analytics project
examples/
  demo-app/           Demo Capacitor app wired to the local plugin

Package docs

Local development

  • Node.js 20.9+, pnpm 9+
  • The console app (packages/console) requires Postgres and R2-compatible storage. See packages/console/.env.example.
  • Device event analytics optionally require the ingest service (packages/ingest) and a Tinybird workspace.
  • See each package README for setup details.
pnpm install
pnpm dev        # starts the console app in dev mode

License

MIT

الأسئلة الشائعة

ما هو io.github.OtaKit/otakit؟

Inspect, upload, release, monitor, and revert OtaKit Capacitor OTA updates.

كيف أثبّت io.github.OtaKit/otakit؟

يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http otakit 'https://console.otakit.app/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج io.github.OtaKit/otakit إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل io.github.OtaKit/otakit مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون io.github.OtaKit/otakit؟

ينشره OtaKit. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.