63 lines
2.8 KiB
Markdown
63 lines
2.8 KiB
Markdown
# 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/<scope>/<topic>` | `feature/auth/oauth2-flow` |
|
|
| Bugfix | `bugfix/<scope>/<desc>` | `bugfix/api/null-pointer-fix` |
|
|
| Release | `release/<version>` | `release/2.0.0` |
|
|
| Chore | `chore/<topic>` | `chore/update-readme` |
|
|
| Experiment | `experiment/<topic>` | `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
|