# Byggde repots kontrollmotor — 268 registrerade commit‑kontroller, 277 lintregler och 15 egna ESLint‑regler — plus 146 tester av själva kontrollerna, så att det är bygget som håller standarden, inte granskningen.

2025

**Situation.** Standarder som står nedskrivna i en bidragsguide är förslag. Alla håller med om dem, och sedan är det fredag, ändringen är liten och guiden förlorar. Kravet på noll varningar kunde bara hålla om något annat än god vilja höll uppe det — och de lintverktyg som följer med varje språk stannar långt före de projektspecifika regler som faktiskt spelar roll, de som handlar om hur just den här kodbasen är tänkt att fungera.

**Uppgift.** De regler som projektet brydde sig om måste gå att köra, så att ett brott mot en av dem stoppade committen i stället för att man fick vänta på en granskare med både tid och minne att fånga det.

**Handling.** Ur det växte en vaktmotor fram. Den har 274 kontrollskript, varav 268 är registrerade i commit‑hookarna, tillsammans med 277 lintverktyg för JavaScript samt 96 skalvaliderare och 17 Python‑validerare som täcker sådant som färdiga verktyg inte har någon åsikt om — att en migrering går att rulla tillbaka, att en översättningsnyckel finns i båda språkversionerna, att en registrerad route finns med i OpenAPI‑beskrivningen, att ingen i tysthet har lagt in en undertryckning av en varning direkt i koden. Femton egna ESLint‑regler upprätthåller projektets etablerade mönster i TypeScript. En regel förtjänar att nämnas för sig: varje commit med prefixet fix: måste innehålla ett test som fallerar utan ändringen, så att en bugg som är rättad förblir rättad. Och eftersom en trasig vakt är värre än ingen vakt alls — den släpper igenom allt och ingen märker det — har vakterna 146 egna tester.

**Resultat.** Tiden i kodgranskningen flyttades från mekanik till design, eftersom de mekaniska invändningarna redan hade gjorts av en maskin innan grenen pushades. Avvägningen är verklig och värd att säga rakt ut: det går långsamt att committa, och en dåligt skriven vakt är verkligen enerverande att ta sig runt. De 146 testerna finns för att det har hänt.

---

- Roll: Utvecklingschef
- Kategorier: [DevOps](https://engineer.company/sv/categories/devops/), [Automatisering och CI/CD](https://engineer.company/sv/categories/automation/), [Test och kvalitetssäkring](https://engineer.company/sv/categories/testing/), [Tekniskt ledarskap](https://engineer.company/sv/categories/technical-leadership/), [Dokumentation](https://engineer.company/sv/categories/documentation/)
- Tjänster: [DevOps och CI/CD‑automatisering](https://engineer.company/sv/services/devops-cicd/), [Tekniskt ledarskap och rådgivning](https://engineer.company/sv/services/technical-leadership/), [Teknisk dokumentation](https://engineer.company/sv/services/technical-documentation/)

<https://engineer.company/sv/portfolio/built-the-repository-s-guard-engine-of-268-checks-95/>
