Most “is this site agent-ready?” tools ask a model. Agentlint asks the site.
It is a deterministic-first scanner for whether agents can find, understand, and use a website. HTTP and Playwright first. Reasoning only when a question actually needs semantic judgment. Every conclusion comes with evidence. Think Lighthouse for agents, designed around a ledger rather than a vibe score.
The CLI never needs an OpenAI, Anthropic, or Google API key. If a check requires judgment, Agentlint hands a structured reasoning task back to the coding agent that invoked it. That agent is the reasoner. Agentlint is the observer.
Observe first.
Reason only when necessary.
Test actual tasks.
Score only what applies.
Show your work.
What a scan actually does
npx @timbenniks/agentlint https://example.com crawls same-origin pages, checks crawler access, content negotiation, OpenAPI discovery, and in-browser surfaces. Default depth is 2, default cap is 20 pages. No form submission, no mutations, no authentication. Private and localhost targets stay blocked unless you pass --allow-private.
Reports land in .agentlint/ as JSON, Markdown, and a self-contained HTML ledger. JSON is canonical. HTML has no hosted runtime, so you can open it locally or upload it as a CI artifact.
--missions goes further than artifacts. It creates evidence-only missions: retrieve a primary-source resource, draft a read-only OpenAPI tool plan, separate site guidance from untrusted page content, recover from a missing resource without inventing a replacement. Mission answers must match a JSON Schema and cite sources that were actually in the evidence.
The loop I run on this site
This repository uses Agentlint. npm run agentlint scans the deployed site. When reasoning is required, the agent runs agentlint task get, answers from the evidence only, and resolves with task resolve. Then agentlint fix writes .agentlint/fix-prompt.md: failed and warning checks, priorities, safety constraints, and a repeat-until-clean loop. Agentlint never edits, deploys, or authenticates to the target.
Scores only count applicable checks. A brochure site is not punished for missing an SDK. Emerging checks never reduce the score. agentlint baseline save and baseline compare keep CI from treating unresolved judgment as a regression.
What 0.1 is not
No model APIs. No hosted accounts. No live mutating journeys. No plugin marketplace. I am using it on this site because that is the only way to find out whether “Lighthouse for agents” is a real category or a slogan.
More projects
Contentstack Platform SDK
One TypeScript surface for Contentstack (CMA, OAuth, webhooks, image transforms, and generative AI) so you stop stitching four libraries together before you write the actual product.
Active · @timbenniks/contentstack-platform-sdk
MCP · Agent skillsContentstack MCP Hub
A hub of agent skills with RBAC, so an agent acting for a user can only reach what that user is allowed to touch, and product managers can propose the next skill without writing it.
Active · Internal + open contributions
TUI · Agent orchestrationDex
Local-first AI engineering orchestration for the terminal. Agents write the code. Dex runs the rest of the loop: ticket, worktree, tests, PR, review, and the human gate before merge.
Active · local-first · Bun