Files
2026-06-24 19:27:14 +02:00

76 lines
3.8 KiB
Markdown

# Roo — 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 `$HOME/Library/CloudStorage/`.
Discover with: `ls $HOME/git/` or check `git remote -v` in the current workspace.
| Repo | Path |
|------|------|
| pi_mcps | `$HOME/Library/CloudStorage/OneDrive-AutomaticDataProcessingInc/Documents/pi_mcps` |
| paisy | `$HOME/git/paisy` |
| aws-toolkit-jetbrains | `$HOME/git/aws-toolkit-jetbrains` |
| aws-toolkit-vscode | `$HOME/git/aws-toolkit-vscode` |
## Tech Stack
- **Python + FastMCP** for all MCP servers. `@mcp.tool()` decorator pattern.
- **uv** for packages — never `pip`. Path: `$HOME/.local/bin/uv`
- **SQLite** for local DBs. BigMind: `$HOME/.mcp/bigmind/memory.db`
- **Corporate SSL**: `$HOME/Library/ADP_Support/adp-trusted-certs.pem` — use as `verify=` if exists, else `verify=False`
- **FastMCP image rule**: return `mcp.types.ImageContent` directly — never annotate `-> Image`
- **BigMind path**: `$HOME/Library/CloudStorage/OneDrive-AutomaticDataProcessingInc/Documents/pi_mcps/mcp-adp-bigmind/`
## Branching Strategy (all repos)
| Type | Pattern | Example |
|------|---------|---------|
| Feature | `feature/<scope>/<topic>` | `feature/mcp-adp-llm` |
| Bugfix | `bugfix/<scope>/<desc>` | `bugfix/bigmind/fts5-reserved-words` |
| Release | `release/<version>` | `release/2.0.0` |
| Chore | `chore/<topic>` | `chore/update-readme` |
| Experiment | `experiment/<topic>` | `experiment/mcp-adp-terminal` |
Paisy-specific: `current/feature/<module>/TICKET-ID-desc` / `current/bugfix/<module>/TICKET-ID-desc`
**Rules (non-negotiable):**
- Never commit directly to `master` / `main` / `current` — 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_*`, `picturevision_*`, `office_*`, `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 Wiki/Confluence, check tests 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`
- **Proactively offer** to read `.xlsx`/`.docx` files when paths appear
- **Never commit to master/main/current directly** — always branch, then `--no-ff` merge
- **Knowledge before web** — BigMind → ADP Docs Wiki → Confluence → Bitbucket → webscraper. Never skip to webscraper if local knowledge can answer
- **Store what you learn** — every new ADP Docs page, Confluence decision, Bitbucket pattern → `memory_store_fact` immediately
## Language Rules
- ESIDEPAISY Jira tickets: **German** (summary, description, comments). Technical terms stay as-is.
- Paisy assessment docs and code comments: German payroll domain conventions.
- Chat responses: match the user's language (German or English).