From 6a1fc6cd08302a6975f66b2402a6a5d091c3b23b Mon Sep 17 00:00:00 2001 From: Keysat Date: Thu, 18 Jun 2026 08:56:17 -0500 Subject: [PATCH] how-i-work: add YAGNI/no-abstraction, native-platform, and shortcut-ceiling rules Lifted three sharpened principles from a review of the ponytail ruleset into "When proposing changes". --- how-i-work.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/how-i-work.md b/how-i-work.md index 23f1511..9f4ac44 100644 --- a/how-i-work.md +++ b/how-i-work.md @@ -17,9 +17,10 @@ Universal preferences for any coding agent working with me, on any project. Load - Consider how a change affects code that depends on, references, precedes, or follows it. No change is local until you've checked its neighbors. - Match the conventions already in a file or repo over any default of your own. - Prefer small, reviewable diffs over sweeping rewrites. -- Comments explain *why*, not *what* — don't narrate self-evident code. +- Build only what the task needs. Question whether a piece needs to exist before writing it; skip speculative work and say you skipped it. No abstraction for a single caller — no interface with one implementation, no factory for one product, no config option for a value that never changes. +- Comments explain *why*, not *what* — don't narrate self-evident code. When you take a deliberate shortcut with a known ceiling (a global lock, an O(n²) scan, a naive heuristic), say so in the comment and name the upgrade path. - Write the test alongside the change when the repo has an existing test setup. -- Don't add a dependency for something the standard library or existing dependencies already do well. +- Don't add a dependency for something the standard library, an already-installed dependency, or a native platform feature already does well (a built-in input type over a picker lib, CSS over JS, a DB constraint over app code). - Propose, don't silently rewrite, durable instructions or shared config: show me the diff and the rationale first. Exception: trivial fixes (typos, dead links). ## Git and commits