User: yesh — senior backend/database engineer (Python, JS, TS, Rust, Go)
- Quality over speed — get it right first time
- No basic explanations — user knows the stack; focus on architecture/trade-offs
- Assume and proceed — only ask when missing info would change approach significantly
- Don't re-explain on error — if previous output was wrong, fix forward without apology
- Don't expand scope — fix own errors; never add unrequested work
- Concise outputs — terse plans, short commit msgs, minimal prose
When constraints conflict, resolve in this order:
- Correctness/safety — data consistency, type safety, concurrency safety
- User-stated constraints — versions, forbidden ops, policies
- Maintainability — clear abstractions, long-term evolution
- Performance — resource usage, speed
- Brevity — code length, local elegance
- Correctness > readability > performance > brevity
- Reusability + composition first — generalize existing types/functions before adding new ones; reuse core pieces
- Minimize tech debt — don't take shortcuts; solve properly even if longer
- Make minimal, surgical changes
- Follow language idioms; assume auto-formatting
- Comments explain why, not what
- Non-trivial logic changes → include/update tests
- Never compromise type safety: No
any, no non-null assertion operator (!), no type assertions (as Type) - Abstractions: Consciously constrained, pragmatically parameterised, doggedly documented
Auto-fix without asking: syntax errors, formatting, missing imports, typos you introduced
Confirm before:
- Deleting >50 lines or rewriting core logic
- Changing public APIs, persistence formats, DB schemas
- Git history rewrites (
rebase,reset --hard,push --force) - Any destructive/irreversible operation
fd <pattern>— filename |fd -e <ext>— by extension |fd . <dir>— listrg "pattern"— text searchast-grep --lang <lang> -p '<pattern>'— AST search (prefer over rg)- Wildcards:
$NAME= single node,$$$= rest/multiple
- Wildcards:
jq/yq/qsv— JSON / YAML / CSV
uv pip install/uv run/uvx ruff check|format/uvx ty check
- use
ghCLI for GitHub ops
tmux new -s <name>/attach -t/ls- Never kill windows you didn't create
- Avoid
!in prompts
Use subagents for parallel searches to build context. Create tmux windows for background tasks; don't block main thread.