{
  "markdown": "<p align=\"center\">\n  <img src=\"./assets/readme/hero.svg\" width=\"100%\" alt=\"Yaver — an open-source, self-hostable MCP server. Your coding agent builds a full-stack app on your own machine, it hot-reloads on your real phone, and you keep fixing it from inside the running app.\">\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/yaver-io/yaver.io/actions/workflows/test-suite.yml\"><img src=\"https://github.com/yaver-io/yaver.io/actions/workflows/test-suite.yml/badge.svg\" alt=\"Tests\"></a>\n  <a href=\"https://www.npmjs.com/package/yaver-cli\"><img src=\"https://img.shields.io/npm/v/yaver-cli?color=34D399&labelColor=101010&label=yaver-cli\" alt=\"yaver-cli on npm\"></a>\n  <a href=\"docs/planning/LICENSING.md\"><img src=\"https://img.shields.io/badge/license-FSL--1.1--Apache--2.0-7C66FF?labelColor=101010\" alt=\"License: FSL-1.1-Apache-2.0\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/yaver-io/yaver.io/releases/download/yaver-hosting-demo-v1/yaver-hosting-demo.mp4\">\n    <img src=\"demo-videos/yaver-hosting-demo.gif\" alt=\"Demo: a task sent from a phone runs on the desktop agent and the app reloads live on the device\" width=\"820\">\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/yaver-io/yaver.io/releases/download/yaver-hosting-demo-v1/yaver-hosting-demo.mp4\"><sub>Watch the full demo →</sub></a>\n</p>\n\n## What Yaver is\n\nAI writes the code in seconds. The loop around it — build, install, reproduce, describe what's wrong, get back to the agent — still takes hours. Yaver closes that loop.\n\nThe `yaver` agent runs on hardware you already own: a Mac, a Linux box, a WSL machine, a Pi, or a VPS. Your coding agent works there, against your real repo. Every other surface — phone, watch, TV, car, AR/VR, browser — is a remote control and a preview target for that one machine.\n\n**It runs on the AI subscription you already pay for — no token markup, and your code never leaves your machine.**\n\niOS and Android are the deepest path today. Watch, TV, car, and AR/VR surfaces live in this repo and share the same core.\n\n## Quick start\n\n```bash\nnpm install -g yaver-cli\nyaver auth\nyaver serve\n```\n\nOn a headless box (Pi, VPS, SSH-only), `yaver auth --headless` prints a short code and a URL you can open from any browser.\n\n`npm` is the only supported install path, on macOS (Apple Silicon + Intel), Linux (x64 + arm64), and Windows via WSL2. It downloads a signed, notarized agent binary for your platform.\n\nThen grab the app and pair it with that machine:\n\n<p align=\"center\">\n  <a href=\"https://apps.apple.com/us/app/yaver-io/id6760467669\"><img src=\"https://img.shields.io/badge/App_Store-iPhone_%26_iPad-F5F5F5?logo=apple&logoColor=F5F5F5&labelColor=101010\" alt=\"Download Yaver on the App Store\"></a>\n  <a href=\"https://play.google.com/store/apps/details?id=io.yaver.mobile\"><img src=\"https://img.shields.io/badge/Google_Play-Android-F5F5F5?logo=googleplay&logoColor=F5F5F5&labelColor=101010\" alt=\"Get Yaver on Google Play\"></a>\n</p>\n\nOpen Yaver, pick a project from your dev box, preview it on your phone, shake to vibe-code — fix a bug, ship a small feature, or tweak a style — and a fresh bundle lands in seconds. One screen, real device, no extra hardware.\n\n## Install or use it from your coding agent\n\nInstall the CLI directly, or register Yaver as an MCP server so Claude Code, Codex, or opencode can drive your machine from chat. MCP does not need a global install first — `npx` pulls the server on first run.\n\n```bash\n# direct CLI\nnpm install -g yaver-cli\nyaver auth\n\n# or as MCP\n# Claude Code\nclaude mcp add --scope user yaver -- npx -y yaver-cli yaver-mcp\n\n# Codex\ncodex mcp add yaver -- npx -y yaver-cli yaver-mcp\n\n# opencode\nnpx -y -p yaver-cli yaver mcp setup opencode\n\n# then, in the agent chat:\ncall yaver_lazy_setup\n```\n\nTo add Yaver to an **existing Expo app**, give the agent the app directory and\nask it to call `yaver_sdk_integrate`. The direct deterministic equivalent is:\n\n```bash\nnpx -y yaver-cli integrate --dir /path/to/app --framework expo --verify quick\n```\n\nThis installs compatible dependencies, mounts the in-app Yaver surface, wires\nthe Expo plugin, and verifies the project. It does not choose a bundle ID,\nconfigure your app's own authentication, deploy, or publish anything.\n\nFor a Yaver-generated Expo + Convex starter that needs AI, the agent can then\ncall `yaver_openrouter_integrate` at the monorepo root. It adds an authenticated,\ncost-bounded HTTP/SSE seam and React Native stream helper while keeping the\nOpenRouter key server-side—no polling and no database write per token.\n\nAlready installed globally? `yaver mcp setup claude-code` (or `codex` / `opencode`) writes the same entry, and `yaver auth` auto-registers every installed runner on first sign-in. Yaver is published to the official MCP registry as `io.github.yaver-io/yaver`. Codex Desktop can also load the repo-local plugin in [`plugins/yaver`](plugins/yaver).\n\nFull tool list and HTTP/remote setup: **[MCP guide](https://yaver.io/docs/mcp)**.\n\n## How it works\n\n<p align=\"center\">\n  <img src=\"./assets/readme/architecture.svg\" width=\"100%\" alt=\"The yaver agent runs on your own machine and holds your repo, tasks, vault and builds. Surfaces connect directly over a LAN beacon and QUIC, falling back to Yaver Relay. A thin hosted plane carries identity and device discovery only.\">\n</p>\n\n1. Start `yaver serve` on your own machine.\n2. Pair a surface — the mobile app, the web dashboard, or another Yaver client.\n3. Send a task to your coding agent from whichever surface is nearest.\n4. Watch terminal, build, and reload progress stream back live.\n5. Push the fix to a real device, or deploy from your own machine when it's ready.\n\nThe CLI, agent, relay, and backend are all self-hostable. Client apps currently reach you through a thin hosted coordination plane for identity and device discovery; full client self-host is on the way.\n\nFor remote access, Yaver Relay is the default path. The free shared relay is for\nlight personal use and has fair limits; the relay implementation is open source\nif you want to run your own.\n\n## What works today\n\n- Drive Claude Code, Codex, OpenCode, Aider, Goose, or another terminal agent from the Yaver agent.\n- Push React Native / Expo bundles to a paired phone through the native Hermes path.\n- Capture dev-build feedback with screenshots, logs, and replay context.\n- Stream task, build, and reload progress to mobile or the web dashboard.\n- Keep peer discovery, relay, and vault flows local-first.\n- Build against SDKs and examples for React Native, Flutter, web, Unity, Go, Python, and JS/TS.\n\n## What it costs\n\n**A solo developer can start with the open-source stack at $0.**\n\n| Component | Runs on | Cost |\n|---|---|---|\n| Yaver CLI + agent | Your dev machine | $0 |\n| Yaver surface apps | iOS / Android / watch / TV / car / AR/VR | $0 |\n| Web dashboard | Browser | $0 |\n| Backend on your own machine | Your Mac / Linux / WSL / VPS | $0 + your hardware |\n| Yaver shared relay | Yaver-hosted, fair-use limited | $0 |\n| AI models (Ollama) | Your GPU or CPU | $0 |\n\nThe open-source stack includes the mobile app, CLI, agent, web dashboard, SDKs,\nand relay implementation. Yaver's shared relay is available with fair limits for\ngetting started. Your coding agent brings its own login or subscription — Yaver\nnever resells tokens.\n\nV1 is focused on your own devices and self-hosted machines. Managed paid\nproducts and machine-sharing surfaces are not part of the launch surface.\n\n## Repository map\n\n| Path | Purpose |\n|---|---|\n| `desktop/agent/` | Go agent, CLI surfaces, local API, relay/P2P/runtime integrations |\n| `mobile/` | React Native mobile app and native preview container |\n| `watch/`, `wear/`, `tvos/` | Apple Watch, Wear OS, and Apple TV client surfaces |\n| `web/` | Next.js marketing site and dashboard |\n| `backend/convex/` | Hosted identity, session, and device-discovery metadata |\n| `relay/` | QUIC relay service |\n| `sdk/` | Public SDKs and feedback clients |\n| `demo/` | Small fixture apps used to test SDK and push flows |\n| `demo-videos/` | Source notes for the landing/demo clips |\n| `docs/` | Architecture notes, setup guides, audits, handoffs, and planning material |\n\n## Deploying Yaver\n\nUse exactly one local entrypoint:\n\n```bash\n./deploy/deploy.sh <target> [options]\n```\n\nTargets are `all`, `backend`, `cloudflare`, `ios`, `android`, `npm`, and `mcp`\nwith aliases listed by `./deploy/deploy.sh --help`. The entrypoint delegates to\nthe maintained vault-aware scripts and `yaver deploy` commands, but gives\nhumans, agents, and MCP one path so deploys do not drift.\n\nDeploys are owner-only. The script refuses group/other-writable repo or script\npaths before touching Convex, Cloudflare, App Store Connect, Play Console, npm,\nor MCP registry credentials.\n\n## This repo is the monorepo\n\n**Yaver is one monorepo — this one.** Agent, CLI, mobile, watch, TV, car,\nAR/VR, web, relay, backend, and SDKs all live here and ship together. Splitting\nthem would only buy version skew between surfaces that have to agree.\n\nEverything else in the [`yaver-io`](https://github.com/yaver-io) org is a\n**validation / use-case app** — something whose only job is to exercise Yaver\nfrom the outside. Those are separate repos precisely because they must be\nclonable, buildable, and breakable on their own, exactly as a user's project\nis. If they lived in here they'd inherit this repo's tooling and stop being an\nhonest test.\n\nThe rule: **product code goes in this repo; anything that tests the product\nfrom outside gets its own repo.**\n\n## Validation apps\n\nThe apps that prove Yaver works live in their own repos, not in this one. They\nare **local-only** todo apps — no backend, no accounts, no network — and they\nare deliberately boring, because they are the control.\n\nThe same todo app is built five ways. Yaver reaches each one differently, so\nwhen the loop feels different across stacks, it is the transport that differs\nand not the app:\n\n| Repo | Stack | How Yaver reaches it |\n|---|---|---|\n| [yaver-todo-rn](https://github.com/yaver-io/yaver-todo-rn) | Expo / React Native | **Hermes** — the agent compiles an HBC bundle and the container swaps it in place |\n| [yaver-todo-kt](https://github.com/yaver-io/yaver-todo-kt) | Native Android (Kotlin) | **native-webrtc** — runs on a build host, H.264 streamed to the phone, taps sent back |\n| [yaver-todo-swift](https://github.com/yaver-io/yaver-todo-swift) | Native iOS (SwiftUI) | **native-webrtc** — same, macOS build host only |\n| [yaver-todo-flutter](https://github.com/yaver-io/yaver-todo-flutter) | Flutter / Dart | **native-webrtc** — Dart has no Hermes equivalent |\n| [yaver-todo-web](https://github.com/yaver-io/yaver-todo-web) | Next.js | **dev server** — HMR through Yaver's relay path |\n\nHermes is React-Native-only: native and Flutter apps compile to real binaries\nand can never be loaded into the Yaver container. That is why three of the five\nexist — they are the only honest way to exercise the streaming path.\n\nThey are separate repos so they can be cloned, built, and broken without\ntouching this one. Each README states what works and what doesn't per stack,\nincluding where a feedback SDK does not exist yet.\n\n## Documentation\n\n[Docs index](docs/README.md) · [Setup](docs/setup/SETUP.md) · [Contributing](docs/setup/CONTRIBUTING.md) · [Runtime architecture](docs/architecture/AI_ARCH.md) · [Protocol](docs/yaver-protocol.md) · [Feedback SDK](docs/mobile/FEEDBACK_SDK.md) · [Security](docs/security/SECURITY.md) · [License](docs/planning/LICENSING.md)\n\nIf an AI coding agent is setting Yaver up for you, point it at the canonical machine guide first:\n\n```bash\ncurl -s https://yaver.io/llms.txt\n```\n\n> Markdown in this repo is context, not source of truth. If a doc and the code disagree, trust the code and fix the doc in the same change.\n\n## Development\n\n```bash\n# Web dashboard / landing\ncd web && npm install && npm run dev\n\n# Go agent tests\ncd desktop/agent && go test ./...\n```\n\nRun the narrower package tests for the area you change — the repo spans Go, Node, React Native, Swift, Kotlin, Flutter, Unity, and embedded C.\n\n## License\n\nThe repo uses a split license: the core is **FSL-1.1**, which auto-converts to Apache-2.0 after two years, and the client SDKs are **Apache-2.0** so you can embed them in closed-source apps. See [docs/planning/LICENSING.md](docs/planning/LICENSING.md).\n\nIf your legal team needs the core under different terms, a commercial license is available — email kivanc.cakmak@simkab.com.\n",
  "bytes": 12462,
  "sha": "aac5bbfddba1ee736facac3a13341d8f850547660e3b5fb8a495781da57bbdf8",
  "repo_slug": "kivanccakmak/yaver.io",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_kivanccakmak_yaver_be04f05c/readme"
}