code-convention

A code-style checker for projects using ESLint, especially TypeScript and React. It checks naming, type usage, documentation, hooks, and other code-quality rules.

In plain words
What is it for?
Use it to run linting, check naming conventions, detect unnecessary use of `any`, find missing documentation, review React hook dependencies, and inspect possible performance issues.
Why use it?
It finds inconsistent or risky code patterns that a project's usual lint command may miss. It also gives remediation steps and a quality score.

Cursor rule

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/adonai-labs/agent-runway/code-convention
Clone the repo
git clone --depth 1 https://github.com/adonai-labs/agent-runway
Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 2,866 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.02866
Opus 5 $0.00000 $0.01433
Sonnet 5 $0.00000 $0.00573
Haiku 4.5 $0.00000 $0.00287

Measured 2d ago against content hash 916a35cba8d3, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

code-convention scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

src/stacks/dotnet/code-convention.mdc · 299 lines

How it starts

The opening of the file, as written. The whole thing — 299 lines — stays where its author put it; the contents beside it link to each section on GitHub.

When I ask "code convention" (or similar), do all of the following:

  1. Run existing lint command first
npm run lint

This uses your existing ESLint v9+ configuration with flat config.

  1. Run focused code convention analysis

Since your existing lint command may not cover all convention rules, run additional checks:

# Check for naming convention violations
npx eslint --format json . --rule '@typescript-eslint/naming-convention: ["error", {"selector": "variable", "format": ["camelCase"]}, {"selector": "variable", "modifiers": ["const"], "format": ["UPPER_CASE"]}, {"selector": "enum", "format": ["PascalCase"]}, {"selector": "function", "format": ["camelCase"]}, {"selector": ["class", "interface"], "format": ["PascalCase"]}]'

# Check for any usage
npx eslint --format json . --rule '@typescript-eslint/no-explicit-any: error'

# Check for missing JSDoc on complex functions
npx eslint --format json . --rule 'require-jsdoc: ["error", {"require": {"FunctionDeclaration": true, "ClassDeclaration": true}}]'

# Check for React hooks violations
npx eslint --format json . --rule 'react-hooks/exhaustive-deps: error'

# Check for performance issues
npx eslint --format json . --rule 'react-hooks/rules-of-hooks: error'
  1. Analyze results and classify violations

For each reported message, tag it as:

Tag ESLint rule Weight Rule Source
naming @typescript-eslint/naming-convention -1 point @react.mdc, @typescript.mdc
any @typescript-eslint/no-explicit-any -2 points @typescript.mdc
missing-comment require-jsdoc -1 point @typescript.mdc
react-hooks react-hooks/* -1 point @react.mdc
react-refresh react-refresh/* -1 point @react.mdc
performance Performance-related -0.5 point @performance.mdc
architecture SOLID principles -1 point @solid-principles.mdc
  1. Calculate enhanced score (optimized for React + TypeScript)
Start at 10
-2  for each use of `any` (Critical)
-1  for each naming violation (Major)
-1  for each missing-comment violation (Major)
-1  for each React hooks violation (Major)
-1  for each React refresh violation (Major)
-1  for each architecture violation (Major)
-0.5 for each performance issue (Minor)
-0.1 for each style violation (Info)
+0.5 for excellent JSDoc documentation (Bonus)
+0.5 for advanced TypeScript patterns (Bonus)
+0.5 for performance optimizations (Bonus)
+0.5 for accessibility compliance (Bonus)
Floor at 1, cap at 10
  1. Output enhanced Markdown report

Read the full file on GitHub · 299 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 299 lines · 0 tokens per session scan A 916a35cba8d3

Subscribe to this mod's changes

code-convention is a cursor rule published in the GitHub repository adonai-labs/agent-runway (2 stars, last pushed 12d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,866 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.