# Contributing to MyBurn

Thanks for wanting to contribute! MyBurn is a local-first Claude Code dashboard.

## Running from source

```bash
git clone https://github.com/anthropics/myburn.git
cd myburn
pip install -e .
myburn
```

Or the legacy way:

```bash
python3 app.py
# Opens at http://localhost:7734
```

## Project structure

```
myburn/
  __init__.py     # Package version
  cli.py          # CLI entrypoint (argparse + uvicorn)
  server.py       # FastAPI backend (~2160 lines)
  static/         # Frontend files
    index.html    # Main dashboard (single-file)
    landing.html  # Landing page
    wrapped.html  # Wrapped experience
    changelog.html
app.py            # Backward-compatible shim
pyproject.toml    # Package config
```

## Where the code lives

- **Backend**: `myburn/server.py` — FastAPI app, SQLite, JSONL parser, all API endpoints
- **Dashboard**: `myburn/static/index.html` — single-file HTML with inline CSS/JS
- **CLI**: `myburn/cli.py` — argparse + uvicorn launcher

## Pull requests

1. Fork and create a branch
2. Make your changes
3. Test with `pip install -e .` then `myburn`
4. Open a PR with a clear description

## Data safety

MyBurn reads `~/.claude/projects/` JSONL files and extracts only aggregate metrics (token counts, costs, model names, timestamps). It never reads, logs, or transmits code, prompts, or file paths. Please maintain this boundary in all contributions.
