I used to take ferocious pride in my Vim skills. I knew all the hot keys, tricks and tips. I wrote macros, memorized register mappings and even dabbled in Vim script. My Vim-Fu was strong.
Nowadays, my Vim skills have mostly atrophied. I rarely open a text editor and my .vimrc is outdated and sad. Times have changed. Nobody writes code by hand anymore. Instead we practically will it into existence with AI.
Claude! (or more honestly Codex, we are a Codex household now) build me an Arabic Voice AI platform!
While this has made producing software much faster, it has made reading and reviewing software a nightmare. Good code review is careful, methodical and thoughtful. No one has (or should have!) the patience to carefully review thousands of lines of AI-generated code each day.
To help solve this problem we developed the Standards linting tool. The tool is three years of code reviews (as well as most of my software career's learnings) compressed into 100+ deterministic linting rules. The linter runs as part of our pre-commit process. Whenever an AI agent writes a line of code and tries to commit, the linter analyzes the code and automatically flags violations. The fixes are then made by the agent without the developer having to think about it.
Some of these rules are simple syntactic idioms. For example, in rule SARJ109 we enforce uuidv7 and prohibit uuidv4, as uuidv7 has desirable performance benefits. However, other rules like SARJ023 encapsulate more complicated / judgment-based concepts like the stepdown rule. (For reference the stepdown rule is a concept that promotes more readable code by mandating that public functions appear first in a source file.) New rules are constantly being created and pre-existing rules grow and expand over time.
My hope is that the tool will allow us to write high-quality / correct code while not losing the speed benefits that AI gives us. I don't know what the future of coding will look like. However, I am certain that guardrails, linters, verification layers, etc. will be more important than ever.
Standards is open source (MIT). I'm CTO at Sarj.ai.
Top comments (1)
Thanks for writing this, useful and practical. The point about keeping it simple is the one that resonates most with me. Have you found a setup that works well for you so far?