Aiglare

io.github.nugehsPublished by GitHub account nugehsv0.2.3Updated Oct 24, 2026

Audit AI/LLM features for governance guardrails: confidence, fallback, validation, human-in-loop.

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

Aiglare statically audits JS/TS repositories for AI/LLM surfaces lacking governance guardrails, exposing audit, CI-gate and provider-list tools to an assistant.

What you can do
Run a full AI-surface audit of a repository, optionally filtered by sink type or severity, returning the structured JSON report with compliance violations when requested. Get a CI-gate verdict for a repository, including whether it passes and how many blocking red side-effectful surfaces exist. List the inference providers and SDKs the scanner can detect. Findings classify each AI surface by sink (user-facing, side-effectful, internal) and score five guardrail dimensions.
When to use it
Useful when reviewing a JS/TS codebase for AI features that reach users or trigger irreversible actions such as payments, bookings, emails or database writes without confidence handling, fallback, validation or human review. Also suited to preparing compliance evidence for SOC 2, EU AI Act, NIST AI RMF or OWASP LLM Top 10.
Requirements
Runs locally over stdio via npx from the npm package @nugehs/aiglare, so Node.js and network access for the package are needed. Desktop MCP host only. No authentication, environment variables or headers are declared. Optional repoctx index improves fidelity.
Before you install
Static, advisory analysis only: it reports false positives and false negatives, so treat results as surfaces to review rather than confirmed violations. It reads repository source code on the local machine. The CI gate exits non-zero on red side-effectful surfaces, which can fail builds if wired in.

Installation

In SourceWeft

  1. Open Aiglare in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

aiglare

Lint your AI features for governance guardrails — where can the model do something you can't undo?

[npm] [CI] [license: MIT] [node]

Live site: nugehs.github.io/aiglare-web

[aiglare demo]

Point it at any JS/TS repo and it finds every place an LLM/AI output reaches a user or triggers a side-effect (payment, booking, email, database write) — then flags which of those have no confidence handling, no fallback, no output validation, and no human-in-the-loop.

Most AI incidents aren't model failures. They're governance failures: the model output flowed straight to a user or an irreversible action with nothing in between. This tool makes those paths visible, and lets you block them in CI.

npx @nugehs/aiglare                                        # audit current reponpx @nugehs/aiglare ./src --ci                             # fail the build on a red side-effectful surfacenpx @nugehs/aiglare --compliance all --format html         # HTML evidence report for auditorsnpx @nugehs/aiglare --compliance soc2,eu-ai-act --format lint --ci  # compliance linter in CI

What it reports

Each AI surface is classified by sink — where the output goes:

  • user-facing — returned from a route/controller, or rendered in a component
  • side-effectful — feeds a payment, booking, email, db/file write, or shell
  • internal — logged or cached only

…and scored on five guardrail dimensions: confidence handling, fallback/uncertain path, output validation, human-in-the-loop (for side-effects), and error isolation.

SeverityMeaning
🔴 redmodel output hits a user or a side-effect with no guardrails — review now
🟡 amberpartial coverage
🟢 greenguardrails present

The CI gate (--ci) fails only on red + side-effectful surfaces — the "AI auto-triggers an irreversible action with no confirmation" case — so it's safe to adopt without drowning a team in warnings.

Compliance reports

Pass --compliance to map every finding to specific regulatory controls, then pick your output format:

bash
# HTML evidence report — branded, collapsible per-framework sections, guardrail matrixaiglare --compliance all --format html > report.html
# ESLint-style linter — pipe into CI, editors, or reviewersaiglare --compliance soc2,eu-ai-act --format lint
# Markdown evidence doc — ready to hand to an auditoraiglare --compliance all --format markdown > AUDIT.md
# Guardrail linter (no framework) — rule IDs like guardrail/human-in-loopaiglare --format lint

Supported frameworks:

FrameworkControls mapped
soc2SOC 2 Trust Services Criteria — CC7.2, CC7.4, CC9.1, A1.2, PI1.2, PI1.3
eu-ai-actEU AI Act — Art. 9, 13, 14, 17
nistNIST AI RMF — GOVERN-1.2, MAP-2.3, MEASURE-2.5/2.6, MANAGE-1.3/2.2
owaspOWASP LLM Top 10 — LLM02, LLM04, LLM08, LLM09

Use all to include every framework. Each surface in --json output gains a violations[] array with the framework, control ID, description, and error/warning level.

Multi-repo: pass multiple paths for a single combined report:

bash
aiglare ./api ./web --compliance all --format html > report.html

Provider-agnostic

Detection is driven by a provider registry covering OpenAI, Anthropic, Google, Cohere, Mistral, Replicate, the Vercel AI SDK, LangChain/LangGraph, Ollama, AWS Bedrock, Cloudflare Workers AI, and Hugging Face — plus raw fetch/axios calls to known inference hosts. Adding a provider is a one-line PR.

Optional: repoctx acceleration

If a repoctx index (.dev-context/index.json) is present, the tool uses it automatically to prioritize likely AI files and sharpen sink classification via repoctx's kind/domain data (e.g. a file repoctx marks as a controller route is correctly treated as user-facing even when the native scanner can't see the call graph). Without it, a built-in TypeScript-compiler scanner does the same job at lower fidelity. Same tool, two fidelity levels — standalone for everyone, richer for repoctx users.

MCP server

aiglare ships a built-in Model Context Protocol server so agents can run audits directly:

bash
aiglare mcp        # stdio JSON-RPC server (no SDK dependency)

It exposes three tools:

ToolWhat it does
ai_surface_auditFull audit of a repo (path, optional sinks, severity) → the same structured report as --json
ai_surface_gateCI-gate verdict for a repo: passed + count of blocking red side-effectful surfaces
list_providersThe provider registry the scanner detects

Register it with an MCP host (Claude Desktop, Cursor, VS Code, …):

json
{  "mcpServers": {    "aiglare": {      "command": "npx",      "args": ["-y", "@nugehs/aiglare", "mcp"]    }  }}

aiglare vs alternatives

ApproachWhat it doesWhere aiglare differs
guardrails-ai / NeMo Guardrails / runtime validatorsValidate or correct each model output at runtime, per callaiglare is static analysis: it finds the AI surfaces that have no guardrail at all, before anything runs — then you add a runtime validator there
semgrep / custom lint rulesGeneral-purpose static rules you write and maintain yourselfaiglare ships the AI-specific knowledge out of the box: a provider registry, sink classification, and five guardrail dimensions — zero rule-writing
Manual AI-feature reviewCatches nuance a scanner cannotaiglare gives reviewers the complete inventory of AI surfaces and a severity triage, so review time goes where the risk is

These are complementary: aiglare tells you where a guardrail is missing; runtime validators are how you add one.

Run a 1-week pilot

Want to evaluate aiglare on a real codebase before adopting the CI gate? PILOT.md is a step-by-step one-week runbook: install, first audit on a backend and a frontend repo, reading the report, tuning --severity/--sinks, and deciding whether to turn on --ci.

Honest limitations

This is static, advisory analysis — a linter, not a verifier. It produces false positives (a guardrail two call-hops away can be missed) and false negatives (a confidence variable that doesn't actually gate anything reads as present). Treat output as surfaces to review, not violations. The single-file native scanner cannot follow the call graph; the repoctx adapter exists precisely to close that gap.

Options

aiglare [path...] [options]  --compliance <fw>   Map findings to compliance controls.                      Comma-separated: soc2, eu-ai-act, nist, owasp, or "all"  --format <fmt>      Output format: terminal (default), json, lint, markdown, html  --json              JSON output (alias for --format json)  --ci                Exit non-zero on a red side-effectful surface  --severity <lvl>    Show only red, or amber-and-worse  --sinks <list>      Filter: user-facing,side-effectful,internal
aiglare mcp           Start the MCP server (stdio)

The MCP tool ai_surface_audit accepts an optional compliance array — each surface in the response includes a violations[] array when set.

License

MIT


Part of the toolchain

aiglare is one of four tools that form a deterministic trust layer for AI-assisted development. Each answers a question people keep handing to an LLM — with static analysis instead.

  • repoctx — context: what does this change actually touch?
  • tieline — contracts: did the front end and back end quietly stop agreeing?
  • bouncer — compliance: could you defend this to Ofcom?
  • aiglare (this tool) — governance: where can the model do something you can't undo?

More at segunolumbe.com. static analysis, never the model.

Source: README.md at commit 7fd3ccb

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.3LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts