One link for everything: tools, configs, workflows, multi-machine setup.
Updated: 2026-02-26
| Tool | Version | Role | Model | Cost | Config |
|---|
| Claude Code | Latest (Max) | Complex architecture, multi-file refactors, OSSA spec | Opus 4.6 / Sonnet 4.5 | $200/mo (Max sub) | ~/.claude/ |
| Aider | 0.86.2 | Daily coding, git-native, best token efficiency | GPT-4o (default), Ollama local | $0 extra | ~/.aider.conf.yml |
| Goose | Latest (brew) | MCP-native agent workflows, recipes | Claude via claude-code | $0 (Max sub) | ~/.config/goose/config.yaml |
| OpenCode | 1.2.6 | Multi-provider flexibility | Any | Varies | ~/.opencode/ |
| Continue.dev | VS Code ext | IDE autocomplete, inline chat | Ollama local (qwen2.5-coder:7b) | $0 | ~/.continue/config.json |
| Ollama | Local | Local model inference | 9 models installed | $0 | OLLAMA_HOST env var |
When to Use What
Complex architecture / multi-file / OSSA → Claude Code (Opus via Max)
Daily coding / bug fixes / single-file → Aider (GPT-4o) or Claude Code (Sonnet)
Bulk operations / boilerplate / docs → Aider (Ollama local) — $0
MCP experiments / workflow automation → Goose (recipes)
IDE autocomplete / quick inline → Continue.dev (Ollama local) — $0
Research / planning / white papers → Claude.ai (Max subscription)
Multi-Machine Development Setup
Three Locations, One Workflow
| Location | Machine | Bare Repos | Worktrees | Access Method |
|---|
| Home office | Mac M4 Pro | ~/Sites/blueflyio/__BARE_REPOS/ | ~/Sites/blueflyio/worktrees/ | Direct terminal, Claude Code, IDE |
| On the road | Mac M3 (GitLab corp) | /Volumes/AgentPlatform/applications/__BARE_REPOS/ | /Volumes/AgentPlatform/applications/WORKTREES/ | Mount NAS via Tailscale, code-server, or SSH |
| Phone/tablet | Any device | /volume1/AgentPlatform/applications/__BARE_REPOS/ | /volume1/AgentPlatform/applications/WORKTREES/ | SSH to NAS via Tailscale |
| Oracle (prod) | ARM64 VM | /opt/agent-platform/services/gkg/projects/ | N/A — quick edits only | SSH via Tailscale |
Bare Repo Structure (mirrored local ↔ NAS)
__BARE_REPOS/
├── agent-platform/ # GitLab group: blueflyio/agent-platform
│ ├── tools/
│ │ ├── agent-buildkit.git
│ │ ├── api-schema-registry.git
│ │ ├── gitlab_components.git
│ │ └── ide-supercharger.git
│ ├── services/
│ │ ├── agent-brain.git
│ │ ├── agent-mesh.git
│ │ ├── agent-protocol.git
│ │ ├── agent-router.git
│ │ ├── agent-tracer.git
│ │ └── ...
│ └── apps/
│ ├── agent-studio.git
│ └── studio-ui.git
├── ossa/
│ ├── openstandardagents.git
│ └── openstandardagents.org.git
├── collaborative-impact/
├── acquia-source/
└── assets/
Worktree Commands (same on every machine)
# Variables — set these based on your location
# Home: BARE=~/Sites/blueflyio/__BARE_REPOS WT=~/Sites/blueflyio/worktrees
# Road: BARE=/Volumes/AgentPlatform/applications/__BARE_REPOS WT=/Volumes/AgentPlatform/applications/WORKTREES
# Phone: BARE=/volume1/AgentPlatform/applications/__BARE_REPOS WT=/volume1/AgentPlatform/applications/WORKTREES
# Fetch latest
git --git-dir=$BARE/agent-platform/tools/agent-buildkit.git fetch origin
# Create worktree for an issue branch (GitLab created the branch)
git --git-dir=$BARE/agent-platform/tools/agent-buildkit.git \
worktree add $WT/agent-buildkit/123-issue-slug 123-issue-slug
# Work
cd $WT/agent-buildkit/123-issue-slug
# ... edit, test, commit, push ...
# Cleanup after merge
git --git-dir=$BARE/agent-platform/tools/agent-buildkit.git \
worktree remove $WT/agent-buildkit/123-issue-slug
Remote Access Options (On the Road / Phone)
| Method | URL | Best For |
|---|
| code-server | https://code.blueflyagents.com | Full VS Code in browser, NAS-hosted |
| SSH to NAS | ssh blueflynas.tailcf98b3.ts.net | Terminal, git, vim |
| SSH to Oracle | ssh ubuntu@oracle-platform.tailcf98b3.ts.net | Quick prod edits |
| Tailscale | All devices on mesh | Private access everywhere |
Streamlining tip: Add these to ~/.ssh/config on every machine:
Host nas
HostName blueflynas.tailcf98b3.ts.net
User your-user
Host oracle
HostName oracle-platform.tailcf98b3.ts.net
User ubuntu
Then: ssh nas, ssh oracle from anywhere on Tailscale.
Aider ([object Object])
# Default: GPT-4o (working, no extra cost)
# Switch to Sonnet: aider --model anthropic/claude-sonnet-4-5-20250929
model: openai/gpt-4o
editor-model: openai/gpt-4o-mini
# Git integration
auto-commits: true
dirty-commits: false
attribute-author: true
commit-prompt: "Use conventional commits format (feat:, fix:, refactor:, etc.)"
# Token efficiency
cache-prompts: true
map-tokens: 2048
map-refresh: auto
# Quality gates
lint-cmd: "npm run lint --silent"
auto-lint: true
test-cmd: "npm test"
gitignore: true
Quick commands:
# Daily coding (GPT-4o, default)
aider
# Use local model (free)
aider --model ollama_chat/qwen2.5-coder:7b-instruct
# Architecture work (if you add Anthropic API credits)
aider --model anthropic/claude-sonnet-4-5-20250929
Goose ([object Object])
- Provider:
claude-code (uses Max subscription)
- Model:
claude-opus-4-6
- Router enabled, telemetry disabled
- 5 recipes in
~/.config/goose/recipes/:
bluefly-platform.yaml — full platform access
drupal-dev.yaml — Drupal module development
mr-reviewer.yaml — MR code review
ossa-agent-builder.yaml — OSSA agent creation
test.yaml — testing
- MCP extensions: bluefly-mcp, bluefly-gkg, gitlab, github, filesystem, sequential-thinking
Continue.dev ([object Object])
{
"models": [
{"title": "Qwen 2.5 Coder 7B (Local)", "provider": "ollama", "model": "qwen2.5-coder:7b-instruct"},
{"title": "Qwen3 30B (Local)", "provider": "ollama", "model": "qwen3:30b-a3b"}
],
"tabAutocompleteModel": {
"title": "Qwen Coder 7B Autocomplete",
"provider": "ollama",
"model": "qwen2.5-coder:7b-instruct"
},
"embeddingsProvider": {
"provider": "ollama",
"model": "nomic-embed-text"
}
}
API Keys ([object Object])
# Loaded automatically from 1Password or ~/.tokens/ fallback
# 1Password: op read 'op://AgentPlatform/ANTHROPIC_API_KEY/credential'
# Fallback: ~/.tokens/anthropic.token, ~/.tokens/openai.token, ~/.tokens/gemini.token
Ollama Models (Local)
| Model | Size | Use |
|---|
| qwen2.5-coder:7b-instruct | 4.7 GB | Autocomplete, Aider local |
| qwen3:30b-a3b | 18 GB | Chat, complex local tasks |
| qwen2.5-coder:32b | 19 GB | Heavy local coding |
| nomic-embed-text | 274 MB | Embeddings for Continue.dev |
| codellama:7b | 3.8 GB | Alternative coding model |
Infrastructure Services
Oracle Cloud (Production) — 46 containers
NAS (Always-On)
Best Practice Workflow
Daily Development Flow
1. PICK ISSUE → GitLab issue board (never create new issues — 723+ open)
2. CLASSIFY → Architecture? → Claude Code
Daily coding? → Aider or Claude Code
Bulk/boilerplate? → Aider + Ollama (free)
MCP/agent work? → Goose recipe
3. WORKTREE → git worktree add from __BARE_REPOS
4. CODE → Use the right tool (see "When to Use What")
5. LOCAL GATE → npm run lint && npm run typecheck && npm test
6. PUSH → Only after local gate passes
7. MR → Already exists (created from GitLab issue)
8. CI → Runs on Oracle self-hosted runner (zero shared minutes)
9. REVIEW → Human reviews, merges
10. CLEANUP → Remove worktree
Token Budget (Monthly)
| Task | Tool | Cost |
|---|
| Architecture/OSSA | Claude Code (Max) | $0 extra |
| Daily coding | Aider (GPT-4o) | ~$23 (OpenAI credits already have balance) |
| Bulk/docs | Aider (Ollama local) | $0 |
| Agent workflows | Goose (claude-code provider) | $0 extra (Max) |
| Autocomplete | Continue.dev (Ollama) | $0 |
| Total extra | | ~$23/mo (just OpenAI usage) |
Streamlining Recommendations
Already Optimized
- Bare repos mirrored local ↔ NAS — same structure everywhere
- Tailscale mesh connects all devices — SSH from anywhere
- code-server on NAS — full VS Code from browser/phone
- Self-hosted GitLab runner — zero shared minutes burn
- GKG indexed — 25 projects, ~3,900 files searchable
Future Improvements
- Shell aliases for location-aware worktrees: detect if Mac or NAS and set
$BARE/$WT automatically
- Goose recipe for issue worker: automated issue→branch→code→test→push
- Pre-push hooks via lefthook: enforce lint+typecheck+test before any push
- Open WebUI + Ollama on NAS: team chat with RAG over research papers (NAS has 10GB+ RAM)
Quick Reference Card
# Aider (daily coding)
aider # GPT-4o, auto-commit
aider --model ollama_chat/qwen2.5-coder:7b-instruct # Free, local
# Goose (recipes)
goose session --recipe bluefly-platform # Full platform
goose session --recipe drupal-dev # Drupal work
# Claude Code (complex)
claude # Interactive
claude -p "fix the auth bug in src/..." # One-shot
# Worktree (from any machine)
git --git-dir=$BARE/<path>.git worktree add $WT/<project>/<branch> <branch>
# SSH shortcuts
ssh nas # NAS (add to ~/.ssh/config)
ssh oracle # Oracle prod
# GKG (knowledge graph)
curl https://gkg.bluefly.internal/mcp/sse # MCP endpoint
# Open WebUI
https://webui.blueflyagents.com # AI chat interface