# Project context

Read these on every session. Rules in them override defaults.

@ai/shared.md
@ai/backend-context.md
@ai/frontend-context.md

## Session start protocol

Before responding to the first user message in a session, you MUST:

1. Read `ai/shared.md`, `ai/backend-context.md`, `ai/frontend-context.md` in
   full. Do not skim. Do not skip on the assumption they were read in a
   prior session - context is not preserved.
2. Run `git status` and `git branch --show-current`. If on `master` or
   `main`, do NOT make any edits until a feature branch exists, even if
   the user's first message looks like a quick read-only question. Many
   "quick questions" turn into edits.
3. Confirm in your first response that the rules were read and the branch
   was checked. Do not narrate the contents - just acknowledge.

Skipping this protocol caused real bugs and rework in past sessions
(work landed on master, TDD order was lost, formatter not run, banned
constructs slipped in). Treat the protocol as non-negotiable.

## Command execution

When running commands that need the Nix devshell, set `login: false`.
The login shell resets `PATH` and can hide tools like `phpcs`, Cypress,
and the devshell Node version.
