docs GitHub

Project

Vyre: the agentic command center for AI-native teams

Our mission is to help every professional services team become AI-native.

In an AI-native team, people set the direction and make the calls, and agents do the work: they draft, track, follow up and keep every job moving. Vyre gives both one place to work together, on servers the team owns, where anything that leaves the team waits for a person's yes.

This file is the front door to how Vyre is built. Read the next two sections, then follow the table of contents to the page you need. If you are an AI agent, start at the last section.

What Vyre is

People and agents share one set of chats, records, tasks, files and automations (Flows). A server the team owns holds all of it. Where the outcome has to be exact, such as who may see a record, what a Flow does or what got sent, declared rules decide and a model does not. Anything that leaves the server, whether an email, a payment, a deletion or a published page, waits for a person to approve the exact words. A model sees a placeholder where a secret would be.

Three ideas shape the code: a small trusted core, a person who decides and proves it, and secrets that stay out of the model's reach. The architecture overview explains each. The core is kernel/. It decides who may do what, writes the event log and seals secrets, with almost no dependencies. Every feature is a module around it, and no module can invent a new kind of permission.

One program, vyred, runs on each machine: a Linux server, a Mac, or a computer that joins a server. The Vyre app, the vyre command line and outside AI tools all call it.

What makes Vyre strong

  • Records you shape. Define as many objects as the business has, and link them in whatever web the business needs. A token can reach through several links ({job.client.phone}). Give each object list, board, calendar, page or dashboard views. Mark a field sealed and no model ever reads it. See Records.
  • Flows that run the same way every time. A trigger (a person, a schedule, a record change or stage, a form, a watcher), then steps: find or create, update, wait for a date or an event, ask a person, assign, send, hand to an agent. Approvals, a run page with a timeline, and failure paths are in the engine. See Flows.
  • One group chat across providers. Claude, Codex, Grok and others, through the sign-ins and keys you add, answer in the same chat. Give agents different jobs: a team that does the work, one model that reviews, one that plans. See Sessions and models and MCP and the Engineer.
  • Playbooks. A project template holds stages, the tasks in each stage, and who does each task, whether a person or an agent. A business with several kinds of work runs each as its own Playbook and its own Flows, side by side, over shared records. See Tasks, Needs you and Playbooks.
  • A vault for people and agents. An agent uses a credential without seeing it. Each member has a vault of their own. Revealing a value or sending with it takes a person's yes. See Vault.
  • Sites. An agent builds a site, previews it at a private address and puts it live on one yes, on your own domain with the DNS record shown. Every version stays in the history. See Sites and publishing.
  • Documents. Vyre fills your own Word templates from a record and the records linked to it. A model never rewrites the document. See Documents and signing.
  • Signing. Send a document for signature from a record. The signer needs no account. The signed copy files back on the record, and the signature can start the next Flow. Same page as Documents.

Anything the business needs beyond this, a custom module or an Integration adds. A module is a folder with a manifest and an entry file, and an agent can write one on your own server. See How to extend Vyre.

The system on one page

flowchart TB
  subgraph Surfaces["Surfaces"]
    APP["Vyre app: web, iPhone, Android, Mac, Windows"]
    CLI["vyre command line"]
    OUT["Outside AI tools over MCP"]
  end
  RELAY["Relay: encrypted path to a server with no open port"]
  subgraph Daemon["vyred, one daemon per machine"]
    DOOR["Door: who is calling, what may they reach"]
    subgraph Modules["Modules in core/ and your own"]
      WORK["Work: chats, tasks, records, flows, agents, documents"]
      KEEP["Keep: files, vault, memory"]
      OUTW["Outward: gate, publish, connections"]
      RUN["Run: sessions, switchboard, providers"]
    end
    subgraph Kernel["kernel/"]
      ID["Identity and devices"]
      GR["Grants and roles"]
      EV["Event log"]
      FL["Flow runner"]
      SE["Sealing"]
    end
  end
  LOCAL["A person's own computer: sandboxed sessions, computer use"]
  WORLD["Outside services: mail, calendar, Drive, Dropbox, payments, DNS"]
  APP & CLI & OUT --> DOOR
  APP -. "away from home" .-> RELAY --> DOOR
  DOOR --> Modules --> Kernel
  RUN <--> LOCAL
  OUTW -- "only after a person's yes" --> WORLD

A call starts at the door, which works out who is calling (a person on a paired device, an agent acting for a person, a module, an outside tool) and builds that caller's chain. The module's tool runs. Every read or write of a record, grant or event goes through the kernel's gateway, which asks authorize for the action under that chain. A tool marked outward is held at the Gate until a person approves. The Vyre map, section 13 walks one request from start to finish.

Table of contents

Start here

PageWhat it gives you
Architecture overviewA ten-minute picture: layers, how a call flows, how an agent's turn runs, where data lives, the Gate.
The Vyre mapA 30-minute tour that lists every top-level folder, kernel folder and module. A test keeps it current.
Architecture indexThe short version and the decision records.
SpecificationThe source of truth for detail.
Map your business onto VyreA method an AI agent follows to turn a business into members, records, Flows, agents and Gate rules.
Start here, for AI agentsThe entry point for an agent: what Vyre is, a map of everything, the questions to ask, the mapping method and how to get started. The two-line prompt sends an agent there.
RoadmapWhat is next, by version, with a plan for each.

One page per feature

Each feature page has the same headings: What it is, What a person sees, How it works, Where the code lives, How agents use it, Extend it, Related.

FeaturePageMain code
Spaces and members: roles, member reach, invites, project seatsspaces-and-memberscore/spaces, core/roles, kernel/grants
Identity and devices: pairing, sign in by nameidentity-and-deviceskernel/identity, core/signin, core/names
Kernel: grants, authorize, event log, golden fileskernelkernel/
Chats with people and agents, @ and #chatscore/comms, core/mentions, core/switchboard
Agents: AGENTS.md, memory and lessons, waking on tasks, stuckagentscore/agents, core/daemon/agent-wake.js
Sessions and models: switchboard, provider CLIs, own computer or server, accountssessions-and-modelscore/sessions, core/switchboard, core/providers
Records: objects, fields, tokens, links, tags, views, import and exportrecordsrecords/, core/records-tools
Flows: triggers, steps, templates and dates, approvals, run pageflowskernel/flows, core/flows
Tasks, Needs you and Playbookstasks-and-needs-youkernel/tasks, core/approvals, core/work
The Gate: held outward actionsgatecore/gate, lib/one-yes.js
Vault: groups, items, member vaults, leasesvaultcore/vault, lib/vault-kinds
Files: Drive, Dropboxfilescore/files
Documents and signingdocuments-and-signingcore/documents, core/appmods
Sites and publishingsites-and-publishingcore/publish
MCP and the Engineer, agent teamsmcp-and-engineercore/mcp, core/team, harness/
Relay and networkingrelay-and-networkingrelay/, core/relay, core/network, wink/
Apps: Mac, Windows, phone, webappsapps/app, local/capsule

Concepts and reference

How to extend Vyre

When a business needs something that is not built in, add it as a module. A module is a folder with a module.json and an entry file. It registers tools, emits events and can add Flow steps, and the loader in core/modules checks it against the same contract as the built-in ones. It runs under the supervisor in kernel/modules, so it gets the kernel's checks and cannot add a new kind of permission.

  • The contract: module contract, writing a module, first module, the module list. Kernel types are in kernel/contracts/.
  • Integrations with popular applications are planned (roadmap item R052-01). An Integration wraps an outside app's API and ships its own Flow steps, triggers, connection and agent tools.
  • An agent can build a module or an Integration for the business on the business's own server. The agent brief is the place to start.

Repository layout

The map, section 14 lists every folder and a test keeps the list true. The ones you open first:

kernel/    the trusted core: identity, grants, event log, Flow runner, sealing
core/      services that run inside vyred, one folder each, each with a module.json
records/   the built-in record types and Kits
lib/       helpers shared across modules
harness/   the Claude Code plugin and the vyre MCP server
apps/app/  the Vyre app (Expo): web, iPhone, Android
local/     Mac and Windows shells, computer use
relay/     the relay that carries encrypted traffic to a server with no open port
docs/      all documentation

If you are an AI agent reading this

  1. Read the overview and the feature page for the thing you were asked about. Each page names real tool names and code paths. Check them in the code before you rely on them.
  2. If the question is "how would my business run on Vyre", follow Map your business onto Vyre step by step and finish with the one-page picture it describes.
  3. If the business needs something Vyre does not ship today, it is something Vyre extends: build it as a custom module on their server, or as an Integration (Next, 0.5.2; see the roadmap). Until then a connection plus a Flow step reaches an outside app.
  4. When the picture is done, offer to set Vyre up for them over Vyre's MCP: Start here, for AI agents says how.