Skip to content

Use Bwat

Instructions and memory

Give Bwat the repository knowledge that should survive every new session, and know which parts are shared with your team.

Two kinds of durable context

SourceWho writes itBest for
BWAT.mdYou or your teamCommands, architecture, conventions, and rules everyone should share
BWAT.local.mdYouPersonal instructions for this checkout that should stay out of version control
Project memoryBwatSmall facts learned while working with you on this project

Bwat loads BWAT.md and BWAT.local.md from the workspace root at the beginning of every run. These files are the reliable place for instructions that must survive a new conversation.

Create BWAT.md with /init

Run /init in the VS Code extension or CLI. Bwat reads the project, checks existing developer guidance such as AGENTS.md, CLAUDE.md, or a README, and proposes a BWAT.md tailored to the repository.

in a Bwat session
/init

Review the proposed file like any other change. Keep it concise and specific. A good instruction changes what Bwat would otherwise do; a generic instruction such as “write clean code” adds little.

What belongs in BWAT.md

  • Commands: the correct build, test, lint, and release checks, including the directory each runs from.
  • Architecture: boundaries or shared modules that are easy to miss from a single file.
  • Conventions: repository-specific rules that differ from normal language defaults.
  • Safety rules: production systems that are read-only, generated files that must not be edited, or actions that require explicit confirmation.
  • Known traps: setup details or failure modes that repeatedly waste time.
BWAT.md
# BWAT.md

## Commands
- Run `npm test` for unit tests.
- Run `npm run build` before reporting a code change complete.

## Architecture
- Put shared request logic in `lib/handlers/`; route files stay thin.

## Safety
- Production data is read-only unless the task explicitly requests a write.

Use BWAT.local.md for personal rules

Put instructions that apply only to your machine or working style in BWAT.local.md. Bwat loads it alongside the shared file. Add it to your .gitignore so a personal preference or local path does not become a team rule.

How project memory differs

Bwat also keeps a private notebook for each workspace on the current machine. It can remember durable facts such as a useful project command, a correction you made, or where an important subsystem lives. The notebook is stored under ~/.bwat/projects/ and never enters the repository.

Use BWAT.md for team truth and explicit rules. Let project memory handle small working facts that help Bwat pick up where it left off. If a remembered fact becomes important enough that every teammate needs it, move it into BWAT.md.

Do not put passwords, API keys, or other secrets in project instructions. Treat BWAT.md like any other tracked repository file.