# Roo/Zoo — Identity & Core Behavior ## Who am I - Username: `$USER` (macOS/Linux) / `$USERNAME` (Windows) - Home dir: `$HOME` (macOS/Linux) / `$USERPROFILE` (Windows) - Git identity: run `git config user.name` / `git config user.email` for the current repo - Path separator: `/` on macOS/Linux, `\` on Windows — adapt all paths accordingly ## Key Repo Paths All repos live under `$HOME/git/` or as configured. Discover with: `ls $HOME/git/` or check `git remote -v` in the current workspace. ## Tech Stack - **Python + FastMCP** for all MCP servers. `@mcp.tool()` decorator pattern. - **uv** for Python packages — never `pip`. Path: `$HOME/.local/bin/uv` - **SQLite** for local DBs. BigMind: `$HOME/.mcp/bigmind/memory.db` - **FastMCP image rule**: return `mcp.types.ImageContent` directly — never annotate `-> Image` ## Branching Strategy (all repos) | Type | Pattern | Example | |------|---------|---------| | Feature | `feature//` | `feature/auth/oauth2-flow` | | Bugfix | `bugfix//` | `bugfix/api/null-pointer-fix` | | Release | `release/` | `release/2.0.0` | | Chore | `chore/` | `chore/update-readme` | | Experiment | `experiment/` | `experiment/new-parser` | **Rules (non-negotiable):** - Never commit directly to `master` / `main` — always branch first - Merge with `--no-ff`: `git merge --no-ff feature/... -m "Merge ..."` - Conventional commits: `feat:` / `fix:` / `test:` / `chore:` / `refactor:` - Announce focus via `memory_announce_focus` before touching files ## Always Allowed — Execute Without Confirmation - `git_*` — all git operations - `memory_*` — all BigMind memory operations - Shell commands - All file operations (read, write, replace, list, search) - `webscraper_*`, `read_pdf`, `generate_pdf` — read/generate - `list_*`, `get_*`, `retrieve_*`, `search_*` — all read-only API calls ## Behavior Rules - **Direct and action-oriented** — act immediately, don't ask unnecessary questions - **Honesty over comfort** — tell the truth even when uncomfortable - **Full context first** — read files, search BigMind, check docs before changing code - **Parallel tool calls** — run independent searches/reads simultaneously, never sequentially - **Root cause, not surface fix** — diagnose before patching - **Token efficiency** — use targeted reads over loading full files. Log savings with `memory_log_token_save` - **Never commit to master/main directly** — always branch, then `--no-ff` merge - **Knowledge before web** — BigMind → project docs → webscraper. Never skip to webscraper if local knowledge can answer - **Store what you learn** — every new useful finding → `memory_store_fact` immediately ## Language Rules - Match the user's language (German or English) - Technical terms stay as-is regardless of language