![Status: experimental](https://img.shields.io/badge/status-experimental-orange)

# Brunch

> This project is immature. We are not yet in a position to guarantee that future versions will be compatible with data generated by earlier versions. Please use for experimentation only.

Brunch is an AI-guided spec elicitation tool that turns a rough project idea into a structured specification through a multi-phase interview. It runs locally, keeps workspace state in a project-scoped SQLite database, and opens a browser UI for working through grounding, design, requirements, and acceptance criteria.

## Run Brunch

Brunch requires Node 22+ and an Anthropic API key.

Create a `.env` file in the project directory where you want to use Brunch:

```bash
echo "ANTHROPIC_API_KEY=sk-ant-..." > .env
```

Then launch it in that directory:

```bash
npx @hashintel/brunch
```

Brunch will create or reuse the local `.brunch/` workspace for that project, start the web UI, and open it in your browser.

If you prefer a global install:

```bash
npm install -g @hashintel/brunch
brunch
```

## Environment Variables

| Variable | Required | Description |
|---|---|---|
| `ANTHROPIC_API_KEY` | Yes | Anthropic API key |
| `ANTHROPIC_MODEL` | No | Interviewer model override |
| `OBSERVER_MODEL` | No | Observer model override |
| `BRUNCH_PORT` | No | Port for the local web server |

## Help

```bash
npx @hashintel/brunch --help
```

## For Contributors

Development setup, architecture notes, fixture workflows, release steps, and internal planning docs live in [CONTRIBUTING.md](https://github.com/hashintel/brunch/blob/main/CONTRIBUTING.md).
