{"slug": "vim-fu", "title": "Vim-Fu", "summary": "Sarj.ai's CTO developed Standards, an open-source linting tool that encodes three years of code reviews into 100+ deterministic rules to enforce code quality in AI-generated code. The tool runs in pre-commit, automatically flagging violations that AI agents then fix, addressing the challenge of reviewing AI-written code at scale.", "body_md": "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.\n\nNowadays, 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.\n\n`Claude! (or more honestly Codex, we are a Codex household now) build me an Arabic Voice AI platform!`\n\nWhile 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.\n\nTo help solve this problem we developed the [Standards](https://code-standards.sarj.ai/) 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.\n\nSome of these rules are simple syntactic idioms. For example, in rule [SARJ109](https://code-standards.sarj.ai/rules/sql/prefer-uuidv7-default/) we enforce `uuidv7`\n\nand prohibit `uuidv4`\n\n, as `uuidv7`\n\nhas desirable performance benefits. However, other rules like [SARJ023](https://code-standards.sarj.ai/rules/python/stepdown/) encapsulate more complicated / judgment-based concepts like the stepdown rule. (For reference the [stepdown](https://dzone.com/articles/the-stepdown-rule) 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.\n\nMy 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.\n\n*Standards is open source (MIT). I'm CTO at Sarj.ai.*", "url": "https://wpnews.pro/news/vim-fu", "canonical_source": "https://dev.to/nasr_maswood/vim-fu-3h5p", "published_at": "2026-08-13 19:39:40+00:00", "updated_at": "2026-08-13 19:48:28.215307+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "ai-agents"], "entities": ["Sarj.ai", "Standards", "Codex", "Claude"], "alternates": {"html": "https://wpnews.pro/news/vim-fu", "markdown": "https://wpnews.pro/news/vim-fu.md", "text": "https://wpnews.pro/news/vim-fu.txt", "jsonld": "https://wpnews.pro/news/vim-fu.jsonld"}}