# Blueprints

Blueprints are step-by-step guides for extending Dave. They cover common setup tasks, integrations, and infrastructure patterns that your PA can follow to configure your environment.


## Two tiers

### Blueprints (in named directories)

Proven, tested, ready to follow. Each blueprint directory contains a `blueprint.md` with clear prerequisites, steps, and verification instructions.

- **scheduled-distillation** -- Set up automated knowledge distillation on a cron schedule
- **tool-integration** -- Connect external tools via MCP servers (GitHub, Slack, Jira, etc.)
- **git-identity** -- Give your PA its own SSH key and git identity for clean audit trails
- **docker-services** -- Run a local Docker services cluster (PostgreSQL, Redis, etc.)

### Ideas (in `ideas/`)

Concepts that have not been fleshed out into full blueprints yet. Each is a short description of the idea and what it would involve. If you want to turn an idea into a blueprint, start by creating a directory and writing a `blueprint.md`.

- **work-personal-separation** -- Separating work and personal knowledge domains
- **knowledge-domain-patterns** -- Common domain structures (recipes, project notes, meeting notes)
- **office-integration** -- Calendar, email, and document integrations
- **team-scaling** -- Running multiple PA instances for a team
- **custom-workspace-views** -- Building custom dashboard pages


## How to use

1. Browse the blueprints above or in the workspace UI
2. Read the `blueprint.md` in the directory you want
3. Follow the steps -- your PA can help execute them
4. Adapt the examples to your specific environment


## How to contribute

1. Create a new directory under `core/blueprints/`
2. Write a `blueprint.md` with clear sections: what it does, prerequisites, steps, verification
3. Keep steps concrete and copy-pasteable where possible
4. Test the steps on a clean setup before marking it as proven

Custom blueprints can also go in `operator/extensions/blueprints/`. The PA checks extension blueprints before core blueprints, so you can override or extend any core blueprint.

See `CONTRIBUTING.md` for guidelines on contributing blueprints back to the project.
