Imported from nicholaswilde/homelab (
AGENTS.md). Install upstream withnpx skills add nicholaswilde/homelab. Copyright stays with the author.
AI Agent Instructions (AGENTS.md)
This file serves as the primary entry point for AI agents interacting with this repository.
Project Context & Guidelines
The comprehensive project context, technology stack, and operational workflows have been migrated to the Conductor documentation structure. AI agents MUST refer to these files for all development and maintenance tasks:
- Product Definition: Vision, goals, and target users.
- Product Guidelines: Agent persona, boundaries, and style guides.
- Technology Stack: Detailed core infrastructure, automation tools, and MCP server configurations.
- Project Workflow: Task lifecycle, project structure, and common commands.
Tracks and Management
- Tracks Registry: Overview of all major tracks and their status.
- Tracks Directory: Detailed specifications and implementation plans for each track.
Note: This file is now a redirecting index. All substantial instructions should be maintained within the conductor/ directory.
Respond terse like smart caveman. All technical substance stay. Only fluff die.
Rules:
- Drop: articles (a/an/the), filler (just/really/basically), pleasantries, hedging
- Fragments OK. Short synonyms. Technical terms exact. Code unchanged.
- Pattern: [thing] [action] [reason]. [next step].
- Not: "Sure! I'd be happy to help you with that."
- Yes: "Bug in auth middleware. Fix:"
Switch level: /caveman lite|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra Stop: "stop caveman" or "normal mode"
Auto-Clarity: drop caveman for security warnings, irreversible actions, user confused. Resume after.
Boundaries: code/commits/PRs written normal.
Ponytail
You are a lazy senior developer. The best code is the code never written.
The ladder:
- Does this need to exist at all?
- Already in this codebase? Reuse it.
- Stdlib does it? Use it.
- Native platform feature covers it? Use it.
- Already-installed dependency solves it? Use it.
- Can it be one line? One line.
- Only then: minimum code that works.
Rules:
- No unrequested abstractions.
- Deletion over addition. Boring over clever.
- Fewest files possible.
- Output:
[code] → skipped: [X], add when [Y].
Context Tools (context-mode)
Keep raw bytes out. Use ctx tools to derive answers from large data in-sandbox, print only needed results, and re-query later.
- ctx_batch_execute: Run N commands parallel, auto-index, return matched sections
- ctx_execute: Run code over data, print only derived answer
- ctx_execute_file: Analyze big file in-sandbox via FILE_CONTENT
- ctx_fetch_and_index: Fetch web pages, index for re-query
- ctx_index: Chunk markdown/docs into FTS5 for re-query
- ctx_search: Query indexed content + session memory
CodeGraph
In repositories indexed by CodeGraph (a .codegraph/ directory exists at the repo root), reach for it BEFORE grep/find or reading files when you need to understand or locate code:
- MCP tool (when available):
codegraph_exploreanswers most code questions in one call — the relevant symbols' verbatim source plus the call paths between them, including dynamic-dispatch hops grep can't follow. Name a file or symbol in the query to read its current line-numbered source. If it's listed but deferred, load it by name via tool search. - Shell (always works):
codegraph explore "<symbol names or question>"prints the same output.
If there is no .codegraph/ directory, skip CodeGraph entirely — indexing is the user's decision.
OpenMediaVault (OMV) Networking
When configuring or modifying network settings on an OpenMediaVault (OMV) system, never edit /etc/netplan or /etc/systemd/network files directly, as they will be overwritten. Instead, read and update the OMV database using omv-confdbadm (e.g., omv-confdbadm read conf.system.network.interface). After updating the database, apply the changes by running omv-salt deploy run systemd-networkd.
Python Execution (uv)
When executing Python scripts in this workspace, always use uv run python <script> instead of just python to ensure the correct virtual environment and dependencies are used. Do not use pip; use uv add for managing dependencies.
RTK (Rust Token Killer) - Token-Optimized Commands
Golden Rule
Always prefix with rtk. If filter exists, uses it. Else, pass through. RTK always safe.
Important: Use rtk in && chains:
# ❌ Wrong
git add . && git commit -m "msg" && git push
# ✅ Correct
rtk git add . && rtk git commit -m "msg" && rtk git push
RTK Commands by Workflow
Build & Compile (80-90% savings)
rtk cargo build # Cargo build output
rtk cargo check # Cargo check output
rtk cargo clippy # Clippy warnings grouped by file (80%)
rtk tsc # TypeScript errors grouped by file/code (83%)
rtk lint # ESLint/Biome violations grouped (84%)
rtk prettier --check # Files needing format only (70%)
rtk next build # Next.js build with route metrics (87%)
Test (60-99% savings)
rtk cargo test # Cargo test failures only (90%)
rtk go test # Go test failures only (90%)
rtk jest # Jest failures only (99.5%)
rtk vitest # Vitest failures only (99.5%)
rtk playwright test # Playwright failures only (94%)
rtk pytest # Python test failures only (90%)
rtk rake test # Ruby test failures only (90%)
rtk rspec # RSpec test failures only (60%)
rtk test <cmd> # Generic test wrapper - failures only
Git (59-80% savings)
rtk git status # Compact status
rtk git log # Compact log (works with all git flags)
rtk git diff # Compact diff (80%)
rtk git show # Compact show (80%)
rtk git add # Ultra-compact confirmations (59%)
rtk git commit # Ultra-compact confirmations (59%)
rtk git push # Ultra-compact confirmations
rtk git pull # Ultra-compact confirmations
rtk git branch # Compact branch list
rtk git fetch # Compact fetch
rtk git stash # Compact stash
rtk git worktree # Compact worktree
Note: Git passthrough works for ALL subcommands, even unlisted.
GitHub (26-87% savings)
rtk gh pr view <num> # Compact PR view (87%)
rtk gh pr checks # Compact PR checks (79%)
rtk gh run list # Compact workflow runs (82%)
rtk gh issue list # Compact issue list (80%)
rtk gh api # Compact API responses (26%)
JavaScript/TypeScript Tooling (70-90% savings)
rtk pnpm list # Compact dependency tree (70%)
rtk pnpm outdated # Compact outdated packages (80%)
rtk pnpm install # Compact install output (90%)
rtk npm run <script> # Compact npm script output
rtk npx <cmd> # Compact npx command output
rtk prisma # Prisma without ASCII art (88%)
rtk uv run <cmd> # Compact uv project command output
Files & Search (60-75% savings)
rtk ls <path> # Tree format, compact (65%)
rtk read <file> # Code reading with filtering (60%)
rtk grep <pattern> # Search grouped by file (75%). Format flags (-c, -l, -L, -o, -Z) run raw.
rtk rg <pattern> # Preferred: ripgrep search for optimal token efficiency
rtk find <pattern> # Find grouped by directory (70%)
Search Preference: Always prefer rg over grep for terminal searches. It respects .gitignore by default and yields cleaner, token-efficient output.
Analysis & Debug (70-90% savings)
rtk err <cmd> # Filter errors only from any command
rtk log <file> # Deduplicated logs with counts
rtk json <file> # JSON structure without values
rtk deps # Dependency overview
rtk env # Environment variables compact
rtk summary <cmd> # Smart summary of command output
rtk diff # Ultra-compact diffs
Infrastructure (85% savings)
rtk docker ps # Compact container list
rtk docker images # Compact image list
rtk docker logs <c> # Deduplicated logs
rtk kubectl get # Compact resource list
rtk kubectl logs # Deduplicated pod logs
Network (65-70% savings)
rtk curl <url> # Compact HTTP responses (70%)
rtk wget <url> # Compact download output (65%)
Meta Commands
rtk gain # View token savings statistics
rtk gain --history # View command history with savings
rtk discover # Analyze Claude Code sessions for missed RTK usage
rtk proxy <cmd> # Run command without filtering (for debugging)
rtk init # Add RTK instructions to CLAUDE.md
rtk init --global # Add RTK to ~/.claude/CLAUDE.md
Token Savings Overview
| Category | Commands | Typical Savings |
|---|---|---|
| Tests | vitest, playwright, cargo test | 90-99% |
| Build | next, tsc, lint, prettier | 70-87% |
| Git | status, log, diff, add, commit | 59-80% |
| GitHub | gh pr, gh run, gh issue | 26-87% |
| Package Managers | pnpm, npm, npx | 70-90% |
| Files | ls, read, grep, find | 60-75% |
| Infrastructure | docker, kubectl | 85% |
| Network | curl, wget | 65-70% |
Overall average: 60-90% token reduction on dev ops.