# bohr > bohr deploys a GitHub repository as a Cloudflare Worker and lets an AI agent change it by conversation (in the web panel or on Telegram). Every change goes to a preview first, and reaches production only when someone approves it. bohr is open source and self-hosted, or run for you as bohr.io Cloud (app.bohr.io). Projects run in their owner's Cloudflare account; the code stays in their GitHub repository. The `bohr` CLI (npm `bohr`) deploys from a terminal, scripts, CI and AI coding agents; `bohr-io/deploy-action@v1` deploys from GitHub Actions. Each link below is the Markdown copy of a page. The whole documentation in one file: https://docs.bohr.io/llms-full.txt. Brazilian Portuguese: https://docs.bohr.io/pt-br/llms.txt. ## Introduction - [How it works](https://docs.bohr.io/introduction/how-it-works.md): From a GitHub repository to production, through the agent, the preview and an approval. - [bohr.io Cloud or self-hosted](https://docs.bohr.io/introduction/cloud-and-self-hosted.md): The two ways to run bohr, what each one includes, and what you pay for. - [What you need](https://docs.bohr.io/introduction/requirements.md): The accounts and plans each person needs to use bohr. ## Getting started - [Sign in](https://docs.bohr.io/getting-started/sign-in.md): Sign in to bohr with GitHub or with a code sent by email, then follow the Get started wizard. - [Connect Cloudflare](https://docs.bohr.io/getting-started/connect-cloudflare.md): Create the Cloudflare API token bohr needs, with the right permissions, and connect your account. - [Install the GitHub App](https://docs.bohr.io/getting-started/install-github-app.md): Give bohr access to the repositories it may use, through its GitHub App. - [Create a project from a repository](https://docs.bohr.io/getting-started/create-project.md): Turn one of your GitHub repositories into a bohr project. - [Start from a template](https://docs.bohr.io/getting-started/templates.md): Create a project from one of bohr's ready-made sites, with its own repository and D1 database. - [First deploy](https://docs.bohr.io/getting-started/first-deploy.md): How the agent prepares your repository and how your site reaches production the first time. - [Your first request](https://docs.bohr.io/getting-started/first-request.md): Ask the agent for a change, review it on the preview and publish it. ## The agent - [Chat in the panel](https://docs.bohr.io/agent/chat.md): Talk to the agent in the project's Agent page or beside the site view, follow its work and answer its questions. - [Telegram](https://docs.bohr.io/agent/telegram.md): Talk to the agent and approve releases from the project's Telegram bot, and the commands it understands. - [The preview (homologação)](https://docs.bohr.io/agent/previews.md): Review the agent's changes on the preview, then approve them to production or discard them. - [Versions and rollback](https://docs.bohr.io/agent/versions-and-rollback.md): Every release bohr published, and how to return production to the previous version. - [Model providers](https://docs.bohr.io/agent/providers.md): Power the agent with an Anthropic API key, an Anthropic-compatible endpoint, or your Claude Pro/Max subscription. - [What the agent can and cannot do](https://docs.bohr.io/agent/capabilities.md): The agent's tools, its sandbox, and the limits bohr puts around it. - [Costs and limits](https://docs.bohr.io/agent/costs-and-limits.md): What each request costs, the budget and turn limits, and how to change them. - [Tips for good requests](https://docs.bohr.io/agent/tips.md): How to ask so the agent gets it right the first time. ## Projects - [The project page](https://docs.bohr.io/projects/overview.md): The project list, the project's menu and its overview. - [Builds](https://docs.bohr.io/projects/builds.md): The GitHub Actions runs of the project's repository, with their jobs and logs. - [Members and roles](https://docs.bohr.io/projects/members.md): Invite people to a project with single-use codes, and manage who has access. - [Project settings](https://docs.bohr.io/projects/settings.md): The General, Agent and Hosting pages of a project's settings. - [Environment variables](https://docs.bohr.io/projects/variables.md): Site variables for the production Worker, and build variables for the GitHub Actions build, including secrets. - [Password protection](https://docs.bohr.io/projects/password-protection.md): Ask visitors for a username and password (Basic Auth) before they open the site. - [Custom domains](https://docs.bohr.io/projects/domains.md): Attach domains of your Cloudflare account to the production site. - [Delete a project](https://docs.bohr.io/projects/delete.md): Remove a project and everything bohr created for it, keeping or deleting the published site. ## Deploys - [How deploys work](https://docs.bohr.io/deploys/how-deploys-work.md): How a bohr project builds and publishes to Cloudflare, and the files that describe it. - [The deploy workflow](https://docs.bohr.io/deploys/deploy-workflow.md): The GitHub Actions workflow bohr writes from .bohr/deploy.json, step by step. - [.bohr/deploy.json](https://docs.bohr.io/deploys/deploy-json.md): Reference of the file that describes how bohr builds and deploys production. - [.bohr/preview.json](https://docs.bohr.io/deploys/preview-json.md): Reference of the file that tells bohr how to run the preview's dev server in the agent's sandbox. - [Wrangler config and bindings](https://docs.bohr.io/deploys/wrangler-config.md): The wrangler config bohr deploys, the bindings each kind of project supports, and what is ignored. - [D1 databases and migrations](https://docs.bohr.io/deploys/d1-databases.md): Use Cloudflare D1 in a bohr project, and how migrations run on each deploy. - [Monorepos and working directories](https://docs.bohr.io/deploys/monorepos.md): Deploy a project that lives in a subfolder of its repository. ## CLI - [Install the CLI](https://docs.bohr.io/cli/install.md): Install the bohr CLI (npm package bohr) or run it with npx. - [Authentication](https://docs.bohr.io/cli/authentication.md): Sign the CLI in with bohr login, use a token from the panel with BOHR_TOKEN, or GitHub OIDC in Actions. - [bohr deploy](https://docs.bohr.io/cli/deploy.md): Build and deploy a folder as a preview of a branch, or as production with --prod. - [Commands](https://docs.bohr.io/cli/commands.md): Every bohr CLI command with its options and examples. - [JSON output](https://docs.bohr.io/cli/json-output.md): The --json output of every command, for scripts and AI agents. - [Exit codes and errors](https://docs.bohr.io/cli/exit-codes.md): What each exit code and error code of the bohr CLI means, and what to do. - [CI usage](https://docs.bohr.io/cli/ci.md): Run bohr deploy in GitHub Actions and other CI systems. - [Environment variables](https://docs.bohr.io/cli/environment-variables.md): The environment variables the bohr CLI reads. ## GitHub Action - [bohr-io/deploy-action reference](https://docs.bohr.io/github-action/reference.md): Inputs, outputs and modes of the bohr-io/deploy-action@v1 GitHub Action. - [Examples](https://docs.bohr.io/github-action/examples.md): Workflows that use bohr-io/deploy-action@v1. ## For AI agents - [Deploying from AI coding agents](https://docs.bohr.io/ai-agents/overview.md): How Claude Code, Cursor, Codex and other coding agents deploy bohr projects with the CLI. - [Set up a token for an agent](https://docs.bohr.io/ai-agents/setup.md): Create a scoped bohr token and give it to an AI agent without exposing it. - [The deploy loop](https://docs.bohr.io/ai-agents/deploy-loop.md): How an AI agent should call the CLI, parse its JSON, react to exit codes, and when (not) to deploy production. - [AGENTS.md / CLAUDE.md snippet](https://docs.bohr.io/ai-agents/agents-md.md): Copy-paste instructions that teach a coding agent to deploy your project with the bohr CLI. - [SKILL.md for agents](https://docs.bohr.io/ai-agents/skill.md): A skill file in the Claude Code skill format with everything an AI agent needs to deploy bohr projects. ## Organizations - [Organizations](https://docs.bohr.io/organizations/overview.md): Work as a team in a bohr organization, which mirrors a GitHub organization. - [Organization members and roles](https://docs.bohr.io/organizations/members.md): How organization members mirror GitHub, their roles, and how to change or remove access. - [Organization settings and billing](https://docs.bohr.io/organizations/settings-and-billing.md): An organization's Cloudflare account, agent, subscription, and how to delete it. ## Account - [Your account and connections](https://docs.bohr.io/account/connections.md): Profile, language, ways to sign in, and disconnecting GitHub, Telegram, Cloudflare and the agent. - [Tokens](https://docs.bohr.io/account/tokens.md): Create, scope and revoke tokens for the bohr CLI, scripts and AI agents. - [Delete your account](https://docs.bohr.io/account/delete-account.md): Remove your bohr account and everything bohr created for it. ## Billing - [Subscription](https://docs.bohr.io/billing/subscription.md): The bohr.io Cloud subscription, what it includes, and how to manage it. ## Self-hosting - [Self-hosting overview](https://docs.bohr.io/self-hosting/overview.md): Run your own bohr instance on your Cloudflare account, and what it costs. - [Deploy the instance](https://docs.bohr.io/self-hosting/deploy-instance.md): Install a bohr instance with the Deploy to Cloudflare button or with wrangler. - [The instance's GitHub App](https://docs.bohr.io/self-hosting/github-app.md): Create the GitHub App your instance uses, and the permissions it asks for. - [Configuration reference](https://docs.bohr.io/self-hosting/configuration.md): The secrets, variables and bindings a self-hosted bohr instance reads. - [Optional features](https://docs.bohr.io/self-hosting/optional-features.md): The Telegram platform bot, sign-in by email, the dedicated sign-in container and your own agent image. - [Administration](https://docs.bohr.io/self-hosting/administration.md): Instance administrators, the Admin area of the panel, and the admin API. - [Updates and backups](https://docs.bohr.io/self-hosting/updates-and-backups.md): Update your instance and the project runtimes, back up its database, and rotate the master key. - [Telemetry](https://docs.bohr.io/self-hosting/telemetry.md): The anonymous, opt-in telemetry of self-hosted instances, what it sends and how to keep it off. ## Migrating from bohr v1 - [bohr v1 projects in bohr v2](https://docs.bohr.io/migrating-from-v1/overview.md): What happened to bohr v1 projects, and what you can do now. - [What changes for a v1 project](https://docs.bohr.io/migrating-from-v1/what-changes.md): How a migrated project builds, deploys and is served while bohr hosts it. - [Move to your Cloudflare account](https://docs.bohr.io/migrating-from-v1/move-to-your-cloudflare.md): Move a project bohr hosts to your own Cloudflare account, with its secrets and domains. - [Migration FAQ](https://docs.bohr.io/migrating-from-v1/faq.md): Common questions from bohr v1 customers. ## Reference - [Glossary](https://docs.bohr.io/reference/glossary.md): The words bohr uses, in English and in the Portuguese panel. - [Troubleshooting](https://docs.bohr.io/reference/troubleshooting.md): Common errors, with the exact messages bohr shows, and how to fix them. - [Limits](https://docs.bohr.io/reference/limits.md): Every size, time and count limit in bohr, in one place. - [Security model](https://docs.bohr.io/reference/security.md): What bohr can access, how credentials are stored, and why the agent cannot publish or leak your keys. ## Downloads for AI agents - [AGENTS.md](https://docs.bohr.io/downloads/AGENTS.md): AGENTS.md / CLAUDE.md snippet that tells a coding agent how to deploy with the bohr CLI - [SKILL.md](https://docs.bohr.io/downloads/bohr-deploy/SKILL.md): SKILL.md: instructions an AI agent loads to deploy bohr projects (Claude Code skill format) ## Optional - [bohr documentation](https://docs.bohr.io/index.md): bohr deploys your GitHub repository to Cloudflare and lets an AI agent change it by conversation, with a preview you approve before anything reaches production. - [Changelog](https://docs.bohr.io/changelog.md): What changed in bohr, version by version, starting with bohr v2.