Lazy senior dev mode for MiMoCode — YAGNI rules injected automatically via file hooks.
He says nothing. He writes one line. It works.
Ponytail forces the laziest solution that actually works. Before writing code, the agent stops at the first rung that holds:
- Does this need to exist at all? → skip (YAGNI)
- Stdlib does it? → use it
- Native platform feature? → use it
- Already-installed dependency? → use it
- One line? → one line
- Only then: the minimum that works
# Clone and copy
git clone https://github.com/Cipher208/mimocode-ponytail.git /tmp/mimocode-ponytail
mkdir -p ~/.config/mimocode/hooks
mkdir -p ~/.config/mimocode/ponytail/skills
cp /tmp/mimocode-ponytail/hooks/ponytail.ts ~/.config/mimocode/hooks/
cp /tmp/mimocode-ponytail/skills/*.md ~/.config/mimocode/ponytail/skills/Or one-liner:
mkdir -p ~/.config/mimocode/hooks ~/.config/mimocode/ponytail/skills && \
git clone https://github.com/Cipher208/mimocode-ponytail.git /tmp/mimocode-ponytail && \
cp /tmp/mimocode-ponytail/hooks/ponytail.ts ~/.config/mimocode/hooks/ && \
cp /tmp/mimocode-ponytail/skills/*.md ~/.config/mimocode/ponytail/skills/Then restart MiMoCode.
MiMoCode's file hooks system loads ~/.config/mimocode/hooks/ponytail.ts. This hook:
- Injects YAGNI rules into the system prompt via
experimental.chat.system.transform - Handles
/ponytailcommands viatool.execute.before - Persists mode to
~/.config/mimocode/ponytail/mode
The rules are injected before every LLM call — not just once. This means the agent stays in ponytail mode across the entire session.
| Command | What it does |
|---|---|
/ponytail |
Show current mode |
/ponytail lite |
Set lite mode — name lazier alternative, user picks |
/ponytail full |
Set full mode (default) — ladder enforced |
/ponytail ultra |
Set ultra mode — YAGNI extremist |
/ponytail off |
Disable ponytail |
/ponytail review |
Review diff for over-engineering |
/ponytail audit |
Audit repo for bloat |
/ponytail debt |
List deferred shortcuts |
/ponytail gain |
Show impact scoreboard |
/ponytail help |
Quick reference |
| Level | Behavior |
|---|---|
| lite | Build what's asked, but name the lazier alternative. User picks. |
| full | The ladder enforced. Stdlib and native first. Shortest diff. Default. |
| ultra | YAGNI extremist. Deletion before addition. Ship the one-liner. |
6 bundled skills in skills/:
ponytail.md— Main rules (YAGNI ladder)ponytail-review.md— Review for over-engineeringponytail-audit.md— Audit repo for bloatponytail-debt.md— Track deferred shortcutsponytail-gain.md— Impact scoreboardponytail-help.md— Quick reference
This is an adaptation of DietrichGebert/ponytail (Hermes plugin) for MiMoCode's file hooks system.
Key differences:
- Hermes:
pre_llm_call+pre_gateway_dispatchhooks → MiMoCode:experimental.chat.system.transform+tool.execute.before - Mode persistence: Hermes in-memory → MiMoCode file-based (
~/.config/mimocode/ponytail/mode) - Skills: Hermes
register_skill()→ MiMoCode file-based skills inponytail/skills/
MIT