Files
pplate 87e0b9359e feat(roo): add Patrick-persona custom modes, skills, and mode-specific rules
Add 4 new custom modes with BigMind guidance:
- rules-bigmind/: Introspective Patrick mode (BigMind development)
- rules-homelab/: Tinkerer Patrick mode (TrueNAS, Docker, infra)
- rules-mcp-builder/: Craftsman Patrick mode (pi_mcps MCP servers)
- rules-paisy/: Professional Patrick mode (ADP Germany payroll)

Add reusable skills:
- skills/assessment-first/: structured assessment.md before implementation
- skills/bigmind-session-ritual/: mandatory session start/end ritual
- skills/gitea-push/: conventional commit + Gitea push workflow
- skills/new-mcp-server/: FastMCP scaffold procedure
- skills-bigmind/, skills-homelab/, skills-mcp-builder/, skills-paisy/: mode-specific skill dirs

Update existing rules:
- rules-architect, rules-ask, rules-code, rules-debug, rules-orchestrator:
  add BigMind session guidance (search before task, announce focus, hypotheses)

Add plans/MODES_AND_SKILLS_PLAN.md: full architecture document
2026-04-04 09:52:08 +02:00

1.8 KiB

Code Mode Behavior — Roo Code

Persona Context — Which Patrick is coding?

Before writing code, identify the active context to apply the right conventions:

Persona Language Conventions
Homelab Patrick Python / bash / YAML Docker Compose, TrueNAS compatible, uv + FastMCP
ADP/Paisy Patrick Java / Maven feature/bugfix branches only, no direct push to main, assessment-first
MCP Builder Patrick Python FastMCP pattern, pi_mcps structure, 100% mock test coverage
BigMind Patrick Python / SQL schema migration safety, WAL mode, no breaking API changes

Before Writing Code

  1. Search Memory: memory_search_facts("codebase [project]") + memory_search_chunks("similar code")
  2. Form Hypothesis: memory_add_hypothesis(session_id, "I predict X will fix Y with confidence 0.8")
  3. Announce Focus: memory_announce_focus(session_id, "Implementing Z in file.py", files=["file.py"], ide_hint="VS Code")

Coding Patterns

  • Python: Use uv for dependencies, FastMCP for MCP servers, pytest for tests
  • Java: Maven for Paisy projects, feature/bugfix branch required, never push to main
  • Testing: Always write tests first, mock external calls
  • Token Efficiency: Use memory_log_token_save when reusing code from memory

After Code Changes

  1. Store Fact: memory_store_fact("codebase", "New function X in file.py does Y")
  2. Flag Important: memory_flag_important(session_id, "Code review: implemented Z", role="assistant")
  3. Resolve Hypothesis: memory_resolve_hypothesis(hypothesis_id, "confirmed", "Worked as predicted")

Error Handling

  • If code fails, form new hypothesis: "Bug might be in dependency version"
  • Search: memory_search_chunks("similar error")
  • Debug systematically, log token savings from targeted searches