| name | zero-slop |
| description | Enforces a strict Zero-Slop Policy across code comments, documentation, and Git commit messages, eliminating low-density filler, prompt regurgitation, and mechanical restatements. |
| license | MIT |
Zero-Slop Policy
1. Zero-Slop Policy (Core Philosophy)
We maintain a strict Zero-Slop Policy across all code comments, documentation, and Git commit messages.
"Slop" refers to low-density text, filler words, prompt regurgitation, internal monologue residue, or stating the obvious. Every piece of text committed to this repository must deliver high informational density for human maintainers. If text provides no non-obvious value, omit it entirely.
2. Code Comment Standards
🚫 Prohibited Comment Patterns (Slop)
- Prompt Paraphrasing: Never rephrase user instructions or task requirements as code comments.
- Obvious Restatements: Never describe what standard language syntax already makes clear (e.g.,
// check if user exists).
- Clumped / Misplaced Headers: Do not dump 20+ lines of overview at file or function headers. Keep brief notes directly adjacent to the relevant logic.
- Historical Rants: Do not document why deprecated code failed. Document only what the current code does and why this implementation was chosen.
- Reasoning / Monologue Residue: Never leak internal chain-of-thought, planning notes, or self-dialogue into comments.
✅ When Comments Are Required
- Non-obvious "Why": Business rules, hardware/browser quirks, upstream API bugs, security constraints, performance tradeoffs.
- Complex Edge Cases: Subtle race conditions, intricate regex patterns, bitwise calculations.
Examples: Bad vs. Good
interface UserProfileData {
id: string;
email: string;
}
if (Date.now() > token.expiresAt) {
throw new UnauthorizedError();
}
interface UserProfileData {
id: string;
email: string;
}
if (Date.now() > token.expiresAt * 1000) {
throw new UnauthorizedError();
}
3. Git Commit Message Standards
Commit messages must be concise, factual, and strictly focused on technical intent and consequences.
🚫 Prohibited Commit Patterns (Slop)
- Prompt Echoing: Do not write
fix: implement user request to add pagination to table.
- AI Fluff & Conversational Filler: Never include phrases like
Updated files as requested, Refactored for better synergy, or Fixed bug according to feedback.
- Mechanical File Audits: Do not list every touched file when
git diff --stat already provides this.
- Multi-Paragraph Narratives: Do not write essays explaining basic language mechanics or general workflows.
✅ Commit Rules & Structure
- Format: Conventional Commits (
feat:, fix:, refactor:, perf:, chore:, test:).
- Subject Line: Imperative mood, present tense, maximum 50–72 characters, no trailing period.
- Body (Optional): Include only when necessary to explain root causes, tradeoffs, or breaking changes. Limit to 1–3 dense, factual bullet points.
Examples: Bad vs. Good
❌ BAD (SLOP):
commit 4a8b1c2
Author: AI Agent
Date: ...
feat: implemented the requested user authentication changes and token validation
In this commit, we updated the authentication middleware because the user requested
that expired tokens should throw an UnauthorizedError. We also cleaned up the imports
and refactored some variable names across three files to make the codebase cleaner.
---
✅ GOOD (ZERO SLOP):
commit 4a8b1c2
Author: Engineer
Date: ...
fix(auth): handle second-based expiry timestamps from upstream auth service
Upstream token payloads return `expiresAt` in seconds instead of milliseconds,
causing immediate unauthorized errors on valid tokens.
4. Review Protocol: Handling "slop"
If a human reviewer comments "slop" on code, comments, or a commit message:
- For Comments:
- Delete first: If removing the comment leaves the code fully understandable, delete it.
- Relocate & Compress: If context is critical, move it to the exact line and cut text length by at least 70%.
- For Commit Messages:
- Rewrite the subject and body to state strictly the technical root cause and fix. Strip all narrative padding.
- No Conversational Defense: Do not justify or apologize in the chat interface. Apply the fix directly in the diff.