Synthetic code only — this is a portfolio demo, not a connected org.
All linting runs on pre-loaded sample code, in your browser. No live model, no real org, no invented benchmarks. The determinism is the point.
Your agent wrote Apex at 2am. Who reviewed it?
Apexlint catches the specific, reproducible mistakes AI agents make in Salesforce Apex,
Flow JSON, and n8n DSL — deterministically, in milliseconds, with no model call and no data leaving your browser.
16 deterministic rules
No model call, by design
Sub-50ms, in-browser
Zero data egress
OpportunityEnrichmentTrigger.cls·Agent-generated trigger: enrich each Opportunity on update
Loading…
Sort:
Loading…
How it works — and why deterministic rules, not an LLM
Determinism
Same input, byte-identical output
You don't put a non-deterministic black box on the production gate. Rules produce the same findings every run — CI-gateable, postmortem-citable.
Latency
Sub-50ms, zero network
No model call, no spinner. The rule engine runs in your tab. Source code never leaves the browser. Nothing to leak.
Auditability
Every finding cites a rule ID
AP-001 — not "the model said so." Each rule has a fixture pair (passing + failing) in the public repo. The claim is checkable.
Positioning
LLM for the fuzzy; rules for the gate
Reserve the LLM for explaining a finding, not deciding it. Knowing when not to use an AI is the architectural signal.
LLM reviewer vs. deterministic rules
Concern
LLM-as-reviewer
Apexlint (deterministic)
Determinism
Same input, different findings run to run. Can't gate CI on it.
Same input → byte-identical findings, every time. CI-gateable.
Latency
1–5s per review, network round-trip.
Sub-50ms, in-browser, no network.
Secrets / data egress
Source code leaves the building to a third party.
Code never leaves the tab. Nothing to leak.
Auditability
"The model said so" — no rule to cite in a postmortem.
Every finding cites a rule ID + fixture; reviewable in a public repo.
Cost
Per-token, scales with codebase.
Zero marginal cost.
Bounded rule pack, by design
PMD's Apex ruleset has hundreds of rules. Apexlint ships 16 — the most common agent-generated failure modes.
A tight, auditable pack you can reason about beats a sprawling one nobody trusts.
Heuristic, not full AST. Rules use comment-strip + brace-depth + regex. Demonstrates the architecture, not production-grade coverage.
No execution-time analysis. Real governor consumption needs to run the code.
Scope and honesty
n8n DSL version-pinned to the v1.x workflow schema. Newer versions may rename fields.
No production integration. The Metadata-API / n8n-REST connection layer needs a server-side OAuth flow — out of scope for a no-backend demo.
Synthetic samples only. Every rule and its fixture pair is in the public apexlint-rules repo — the claim is checkable, not asserted.