Backend and hosting for sites your AI agent builds

The agent declares entities, gets a ready CRUD REST API and uploads a static build — the site goes live at {project}.vibemd.ru with the backend already wired in and HTTPS on. No server of your own, no dashboard, no DevOps.

The bot opens an account from a single message and hands you a token. Then you give the token to your agent — Claude Code, Cursor, Codex, anything that has curl. The bot and the agent guide are in Russian for now; agents read it just fine.

How it works

Four steps from an empty folder to a working site with a database. All of them are plain HTTP requests.

  1. You get a token

    @vibemd_bot in Telegram: /start, then your email — and you get a personal account token back. It stays with you and never reaches a browser.

  2. The agent creates a project

    A project is a separate tenant: its own data, its own keys, its own subdomain. The response carries an admin key, a public key and the site address.

    # the account token
    curl -X POST https://api.vibemd.ru/v1/projects \
      -H "Authorization: Bearer $ACCOUNT" \
      -d '{"name":"My landing"}'
  3. Declares the data

    An entity is a list of fields — and it immediately gets CRUD with filters, sorting and pagination. Records are checked against the schema before they reach the database.

    curl -X POST https://api.vibemd.ru/v1/entities \
      -H "Authorization: Bearer $ADMIN" \
      -d '{"name":"lead","public_access":"append",
           "fields":[{"name":"name","type":"string","required":true},
                     {"name":"phone","type":"string","required":true}]}'
  4. Uploads the build

    The archive goes up in one request and becomes the live version right away. The API address and the public key are injected into the HTML as it is served, so the build contains neither and rotating the key needs no redeploy.

    tar czf - -C ./dist . | curl -X POST https://api.vibemd.ru/v1/deployments \
      -H "Authorization: Bearer $ADMIN" --data-binary @-
    # → https://my-landing.vibemd.ru

What's included

Exactly what the backend of a small site is usually made of — and nothing beyond it.

Schemas and validation

Five field types: string, number, boolean, date, JSON. A record that fails the schema never reaches the database — the agent gets back the list of exact fields at fault.

CRUD REST API

Read, create, replace, patch, delete. Filters eq, ne, gt, gte, lt, lte, contains, in, sorting and pagination in the query string.

Two key tiers

Admin stays with the agent, public goes to the browser. Each entity sets on its own what the public key may do: nothing, read, append only, or full access.

Sign-in for visitors

A site can have its own users with a password and a session token. The owner sees everything — that is how a static site gets an admin area without a backend of its own.

Versions and instant rollback

Every deploy is a new version. Rolling back repoints to an older one and takes effect on the next request: nothing is rebuilt or re-uploaded.

Domain and HTTPS out of the box

The subdomain comes with the project, the certificate is issued on the very first request. No DNS to configure, no certificates to renew.

Errors you can fix from

Every error carries a code, the fields at fault and a hint for the next step: missing index.html in build root, not “500”. The agent corrects itself without a human.

Isolation and limits

Project data is separated at the database query level; limits on records, storage and request rate are set per project.

For agents

You can skip this page: the same thing sits next to it in machine-readable form. There is one entry point — the base URL; from there the service describes itself.

agent.vibemd.ru/agent.md

The full guide: the order of steps, curl examples, common mistakes and a pre-handoff checklist. Served as text/markdown, written in Russian.

api.vibemd.ru/v1/

A machine-readable description of the API: every method, field type, filter operator, the error format and the deploy rules — in one JSON.

/llms.txt

A short summary for models: what the service is, how to get access and where everything else lives.

# where to start if all you have is the domain
curl -s https://api.vibemd.ru/v1/ | jq .
curl -s https://agent.vibemd.ru/agent.md

So your agent remembers vibemd

Every agent session starts from a blank slate. Add this block to your project's AGENTS.md or CLAUDE.md — it holds no keys, so it is safe to commit.

## Backend and hosting — vibemd
This site's data, API and hosting are on vibemd. Before any work on them,
read https://agent.vibemd.ru/agent.md and follow it.
Project keys are in .vibemd.json (it is in .gitignore). Ask the user for the
vmd_u_... account token and never write it to files.

For Claude Code there is a skill: once installed, the agent recalls vibemd on its own whenever a site needs a backend or publishing — in any project.

mkdir -p ~/.claude/skills/vibemd
curl -so ~/.claude/skills/vibemd/SKILL.md https://agent.vibemd.ru/SKILL.md

Project limits

The defaults. They can be raised for a particular project — limits are stored on the project itself.

Projects per account5
Entities per project25
Records per project50,000
Storage256 MB
Build size100 MB
Requests per minute600

FAQ

What is vibemd?

A backend as a service (BaaS) for sites written by an AI agent: a database with a REST API, visitor sign-in and static hosting on your own subdomain. The primary user is the agent, so everything is reachable over HTTP and described in text rather than buttons in a dashboard.

Do I need my own server or database?

No. A project is created with one request, the data is stored by the service, and the static files are served over HTTPS. All you bring is the built frontend.

How do I get access?

Message @vibemd_bot in Telegram: the /start command, then your email. The bot opens an account and gives you a token — pass it to your agent together with the link to the guide. The token is shown once; a lost one is replaced with /token. The bot speaks Russian for now.

Is there a dashboard?

No, and that is deliberate: everything the service can do is done through API requests, which is what makes it available to an agent. What the human gets is the site itself: the owner signs in on it with a login and password and reads the data right on the page.

Can I use my own domain?

For now a site lives on a subdomain like {project}.vibemd.ru, with the certificate issued automatically. Custom domains are not part of the current version.

What happens to the data if a deploy breaks the site?

Nothing: the data lives apart from the build. Every deploy is a separate version, going back to the previous one takes a single request, and it takes effect on the next visit to the site.

Where is it hosted?

On servers in Russia. No foreign cloud services are involved.

Get started

The token comes from Telegram; your agent does the rest.