alint CLI
An ESLint-style linter whose rules are judged by a model: it finds in agent-written code what syntax checks miss and sets a verdict for CI
- 137 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The contents of checked files are sent to the chosen model, and with a cloud provider they leave the machine
- Every rule calls a model and spends tokens, and agent rules can read other project files
- The Codex plugin adds a Stop hook that runs the check automatically at the end of a turn
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/alintDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The contents of checked files are sent to the chosen model, and with a cloud provider they leave the machine
- Every rule calls a model and spends tokens, and agent rules can read other project files
- The Codex plugin adds a Stop hook that runs the check automatically at the end of a turn
This is third-party code. Review the repository files before installing.
What it does
alint is a command line tool for analyzing agent-generated code. It resembles ESLint: you select files, apply named rules, print diagnostics in a familiar format, and CI understands the exit code. The difference is that a rule reaches its verdict through a model call or through an agent with tools when a syntax check alone is not enough. The approach applies to JavaScript and TypeScript, documents, generated files and any content a plugin can read. The model connects to any OpenAI-compatible endpoint, for example Ollama, LM Studio, OpenRouter or OpenAI, or through ACP agents for Claude Code, Codex, Gemini CLI, Kimi Code CLI and OpenCode. Setup runs with `alint setup -N`, the `.alint/config.toml` file lives in the project and `alint.config.ts` describes the rules. `alint src` checks a directory, `alint --dirty` takes only files changed against `HEAD`, and `--format json` gives a machine report for `alint output inspect`. There is an `alint lsp` language server for editors and an optional Codex plugin with a Stop hook that runs `alint --dirty` before the agent ends a turn. Releases include standalone binaries, so Python, Go and Rust projects manage without Node.js.
Who it is for. Teams where agents write code, and reviewers who need checkable rules for intent and style, not just syntax.
Good fit when
- Agent code passes ESLint but drifts from the intent, and you want to catch that automatically
- Rules from AGENTS.md and skills are moved into checkable rules that run in CI
- A Codex agent has to check the files changed during a session before it ends a turn
- The check runs on a local model through Ollama or LM Studio so run costs stay predictable
- The result of one run is saved as JSON and reviewed later without spending tokens again
Not a fit when
- You need deterministic syntax and formatting checks: plain ESLint and Prettier fit that
- There is no model: rules are decided by model calls and without a provider the run will not start
- You need a check without sending sources to a provider: with a cloud model the file contents go to it
- You need an editor with a ready Marketplace extension: the VS Code extension still runs from source
Example request
Run alint --dirty and show diagnostics for the files I changed, then fix the error-level findingsLimitations
Running rules spends tokens: every rule calls a model, so a large directory gets expensive on cloud providers. For structured output alint forces a tool call, and models such as DeepSeek V4 reject that in reasoning mode, so `thinking` has to be disabled in settings. The `alint lsp` server never calls a model by itself, so with an empty cache it shows no diagnostics. The last commit dates from September 2026, and the repository also points to the moeru-ai organization.
How to disable. Uninstall the package with `npm uninstall -g @alint-js/cli` and delete the project's `.alint/` folder. Remove the Codex plugin with Codex's own tools.
FAQ
How do I install alint?
Run `npm install -g @alint-js/cli`, or add the package to a project with `npm install -D @alint-js/cli` and run `npx alint src`. Without Node.js, a standalone binary from the GitHub releases works.
Which models work with alint?
Any OpenAI-compatible endpoint: Ollama, LM Studio, OpenRouter, OpenAI. The author recommends local models for frequent runs because of the predictable cost. Claude Code and Codex agents connect as models through ACP.
What do the exit codes mean?
Code 0 means there are no errors, even if there are warnings. Code 1 means at least one error in the diagnostics, and code 2 says the run could not finish because of configuration, input or a failure.
How do I check only changed files?
Run `alint --dirty`. The command takes files that differ from `HEAD`, untracked ones included, and skips ignored and deleted files. A clean repository finishes successfully with no output.
How do I connect alint to Codex?
Add the source with `codex plugin marketplace add moeru-ai/alint --sparse .agents/plugins --sparse plugins/codex-plugin-alint` and run `codex plugin add alint@alint`. Then enable the check for a repository with `alint config integrations stop-gate enable`.
Discussion
No questions or reviews yet.
Related
CLI toolsA static linter for agent instructions: finds ambiguous tool descriptions and schema gaps before a run, with no model or network
A local debugger for TypeScript agents: run step trees, CI trajectory checks and portable evidence bundles, with no account.
Corrections you give your agent turn into rule files in the repository and run with taskless check locally and in CI.
Reviews the git diff and the conversation with the agent: catches bugs and gaps between your request and the agent's result. CLI, skill, GitHub Action
Validates Agent Skills packages: structure, links, token weight and instruction quality, with optional LLM-as-judge scoring
A Playwright and TypeScript project template with rules and 17 skills so Claude Code, Codex and Cursor write tests to a standard
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| alint (this card) | no | 137 | |
| brooks-lint | no | 1,564 | code review from classic books as a skill, with no standalone CLI and exit codes |
| code-review-skill | no | 2,204 | a review instruction skill for many languages, with no standalone linter |
README in short
The README presents alint as a check for agent-written code and gives installation, model provider setup and run examples with flags. It then describes inspecting configuration and saved output, the editor server, the Codex plugin with a Stop hook and two configuration systems: provider setup in TOML and the rule policy in `alint.config.ts`. Monorepo packages and a status section follow.