# Buff Code

> A development environment for engineers who write code themselves: a console and an app on your organisation’s models, knowledge and connections.

**Buff Code** is a development environment for engineers who write code themselves. It is a program in
the terminal (`buff`) and an app for Linux, macOS and Windows. The organisation’s administrator chooses
the model the engineer works with; the knowledge, repositories and connections are the same as in the
rest of the platform; usage is charged to the organisation’s plan; every turn is recorded and visible in
the workspace.

This is the second way to work with Buff. In the web app the platform runs the task: it writes the code
itself, checks it and brings it for acceptance. In Buff Code the engineer writes the code, and the model
helps them in their folder and terminal — with the same knowledge about the company.

_Illustration: A developer asked how the team makes and ships changes. The model opened the rule in the organisation’s knowledge base and answered from it._

## How it works

```
Buff Code  ──▶  company connector  ──▶  Buff
(developer’s     (your network,          (models, knowledge,
 machine)         developer gateway)      billing, records)
```

- **Buff Code reaches Buff only through your company’s connector.** The [connector](/en/docs/connector) sits in
  your network; the administrator turns on its [developer gateway](/en/docs/buff-code/gateway).
  For the organisation’s models the developer’s machine has no provider keys, no model settings
  and no direct route to Buff. A developer can connect their own provider or a local model
  themselves, see [Own providers and local models](/en/docs/buff-code/own-providers).
- **Sign-in with a code from the workspace.** The developer enters the connector’s address, confirms the code in
  the workspace and chooses the organisation and project. In detail: [Sign-in and working context](/en/docs/buff-code/sign-in).
- **The models are the organisation’s.** The administrator decides which model answers; usage goes into
  billing labelled “Buff Code · device”. See [Models and usage](/en/docs/buff-code/models).
- **Tools, knowledge and code are shared.** The model in Buff Code reads and calls everything
  connected to the connector ([Connection tools](/en/docs/buff-code/tools)), reads and proposes
  entries for the [knowledge base](/en/docs/buff-code/knowledge) and searches the [project’s repositories](/en/docs/buff-code/repositories)
  without a clone on the machine.
- **Every turn is recorded.** The request to the model and the answer are stored in full in the organisation’s data.
  A developer sees their own sessions, the owner sees all of them, and you can
  [ask questions](/en/docs/buff-code/sessions/ask) about the records. See [Development sessions](/en/docs/buff-code/sessions).

## Where to start

| Who | What to do | Where it is described |
| --- | --- | --- |
| Administrator | Turn on the developer gateway on the connector and give the team its address | [Developer gateway](/en/docs/buff-code/gateway) |
| Administrator | Choose the model for “Task development” — Buff Code gets the same one | [Models and usage](/en/docs/buff-code/models) |
| Developer | Install the console with one command, or the app from the “Download” page | [Installation](/en/docs/buff-code/install) |
| Developer | On first launch, enter the connector’s address, confirm the code, choose a project | [Sign-in and working context](/en/docs/buff-code/sign-in) |
| Developer | Work with the agent: set a task, check and undo changes, keep a plan and a goal, run tasks on a schedule | [Working in Buff Code](/en/docs/buff-code/work) |
| Team lead | Look at the work records and ask questions about them | [Development sessions](/en/docs/buff-code/sessions) |

## What you need

- A [connector](/en/docs/connector/install) **v0.17.0** or newer with the developer gateway turned on.
  Older versions give part of the features: sign-in, models and connection tools — from v0.13.0,
  the knowledge base — from v0.14.0, the project’s repositories — from v0.15.0, the plan name instead of the model — from v0.16.0,
  Buff Code recording the development session itself and the charge under each answer in the workspace — from v0.17.0,
  the balance and usage right in Buff Code — from v0.18.0.
- A Buff account and membership in the organisation the connector is bound to.
- There is no separate plan: Buff Code works within the [organisation’s plan](/en/docs/tariffs).

## Pages in this section

| Page | About |
| --- | --- |
| [Installation](/en/docs/buff-code/install) | The console with one command, the app as a package, release signatures, updates, mass rollout |
| [Developer gateway](/en/docs/buff-code/gateway) | For the administrator: connector configuration, certificate, who it lets in |
| [Sign-in and working context](/en/docs/buff-code/sign-in) | The sign-in code, choosing the organisation and project, per-folder memory, devices and revoking them |
| [Commands](/en/docs/buff-code/commands) | Reference for the console and the commands inside Buff Code |
| [Working in Buff Code](/en/docs/buff-code/work) | The window and the console every day: session, modes, changes and undo, plan and goal, side conversation, Git, automations, workflows, extensions, settings |
| [Models and usage](/en/docs/buff-code/models) | Where the model comes from, how usage is counted and where it is shown |
| [Connection tools](/en/docs/buff-code/tools) | Trackers, documents, your own MCP servers; writing tools; the call log |
| [Knowledge base](/en/docs/buff-code/knowledge) | What the model reads, how it proposes a new entry and why an entry needs confirmation |
| [Project repositories](/en/docs/buff-code/repositories) | Searching and reading the project’s code without a clone on the machine |
| [Development sessions](/en/docs/buff-code/sessions) | What is recorded, where to look, questions about records, export, the audit log |
| [If something does not work](/en/docs/buff-code/troubleshooting) | Buff Code and connector messages: what they mean and what to do |
