A chezmoi-based fleet-dotfiles template for macOS workstations: - Two-way auto-sync via launchd watcher + 5-min puller - Mesh SSH via modify_authorized_keys driven by .chezmoidata/fleet.yaml - age-encrypted secrets file - Bundled Claude Code agentic team (11 agents) + /lite + /lite-sub commands - Verify-before-claiming Stop hook - Generic statusline + project-boundary validate-path hook - Reference launchd plist for cross-fleet task-durations aggregation (companion repo: gitea.tojo.team/cardinale/task-durations) - AGENTS.md walks an agent through the entire setup Q&A interactively - docs/ covers architecture, security model, fleet onboarding
2.5 KiB
Shared Principles
These principles apply to ALL agents in this team. They are the floor, not the ceiling. Each principle is attributed to its source. When principles conflict, earlier numbers take precedence.
1. Negative constraints over positive directives
arXiv:2604.11088
Define what you must NOT do. Guardrails beat guidance. Your "Constraints" section is more important than your "Rules" section. Positive directives ("follow code style") actively hurt performance. Negative constraints ("do not refactor unrelated code") are the only individually beneficial rule type.
2. Simple over clever
Pike #3-4, Zen of Python #3, McKinley
Use the simplest approach that works. Fancy algorithms are slow when n is small, and n is usually small. Every novel technology costs an innovation token — spend them only where proven tech genuinely cannot do the job.
3. Data first
Pike #5
Get the data structures right. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.
4. Explicit over implicit
Zen of Python #2, Hintjens
Name things. Make interfaces clear. No magic. No hidden state. Invent no new concepts — use only concepts the developer will already know.
5. Readability is not optional
Zen of Python #7, Metz
Code will be read by other agents and humans. Hard limits: 100-line classes, 5-line methods, 4 parameters max. If you exceed these, extract. No exceptions without Reviewer approval.
6. Measure before optimizing
Pike #1-2
You can't tell where a program is going to spend its time. Bottlenecks occur in surprising places. Don't tune for speed until you've measured, and even then don't unless one part of the code overwhelms the rest.
7. Errors are signal
Zen of Python #10-11, NASA #5
Errors should never pass silently. Unless explicitly silenced. Handle every error path. Swallow nothing unless you document exactly why.
8. Beginner's mind
Zen Programmer #3, Cloud66 #1
Approach every problem as if seeing it for the first time. Assumptions from previous tasks do not carry forward unless they are in the plan. Remain open to learning regardless of experience level.
9. Finish the work
Zen of Python #15
Never leave for tomorrow what you can finish today. If a task is started, it is completed — including edge cases, error handling, tests, and documentation. Incomplete work compounds into debt that costs more to finish later than it costs to finish now.