Architecture linters that do not call a model

Last updated 12 September 2026

Staff engineers have watched an agent import data access from a UI file and call it done. A model-based review will sometimes notice. It will also sometimes invent a layer, miss the import, or lecture about style. Hexum’s architecture check does not guess. It reads a rules file. If the import is forbidden, the turn fails.

architecture.hexum
skill full

layer ui
  match src/ui/**
  match src/pages/**

layer services
  match src/services/**

layer data
  match src/data/**

rule no_ui_to_data
  from ui
  cannot use data
  severity high
  message UI must not import data access directly.
  hint Call services instead.

Put the file in the repo. Folders become layers. A rule says a layer cannot use another. hexum_check maps files to layers and reports violations. No model in that check. Copy-paste templates: hexum-examples (Next.js, Rails, Python services).

Full field table: architecture.hexum in the docs. Check: hexum_check. Team path without MCP: Review on the pull request.

FAQ

What is the rules file?

A file in the repo (usually architecture.hexum) that groups folders into layers and says which layer cannot import another. Guide: /architecture-hexum.

Does the architecture check use an AI?

No. It reads a rules file in your repo and reports forbidden imports. It does not call a model, so it does not guess.

What is Hexum?

Hexum is a developer ecosystem for coding agents in Cursor, Claude Code, and the rest. One API key. Five products and twelve tools today: spend less on each prompt, block bad imports, review pull requests, stop the agent looping, and only keep building when checks pass. We do not keep your code.