aislop 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # aislop
2
2
 
3
- **The quality gate for agentic coding.**
3
+ **The engineering standards layer and quality gate for AI-written code.**
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/aislop.svg)](https://www.npmjs.com/package/aislop)
6
6
  [![npm downloads](https://img.shields.io/npm/dm/aislop.svg)](https://www.npmjs.com/package/aislop)
@@ -9,7 +9,19 @@
9
9
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
10
10
  [![Node >= 20](https://img.shields.io/badge/node-%3E%3D20-brightgreen.svg)](https://nodejs.org)
11
11
 
12
- `aislop` scans the code your agent wrote and gives you one score, 0–100. It rolls formatters, linters, complexity limits, dependency audits, and an AI-slop detector into a single command. It auto-fixes what's safely fixable and hands the rest to your coding agent with full context.
12
+ Define your standard once in `.aislop/config.yml` + `.aislop/rules.yml`. Every change your agent makes is held to it automatically. `aislop` catches the slop they leave behind (narrative comments, `as any`, swallowed errors, hallucinated imports, todo stubs), enforces the rules your team sets, and scores every change 0–100. 8+ languages. Deterministic no LLM at runtime.
13
+
14
+ ### The killer feature: the per-edit hook
15
+
16
+ Install once into your coding agent:
17
+
18
+ ```bash
19
+ npx aislop hook install --claude # also: --cursor, --codex, --gemini, --windsurf, --cline, --kilo, --antigravity, --copilot
20
+ ```
21
+
22
+ After every `Edit` / `Write` your agent makes, `aislop` runs and feeds the diagnostics back into the agent's next turn as structured `additionalContext` (envelope: `aislop.hook.v1` — score, counts, findings, regression flag, suggested next steps). **The agent sees the score regression on the same turn it wrote the code, before you prompt again.** No more PR-time surprises; the slop never leaves the keystroke that produced it.
23
+
24
+ CI is the second gate: `aislop ci` exits non-zero when score drops below your threshold, so the same standard is enforced on every PR.
13
25
 
14
26
  Every check is deterministic. Regex patterns, AST analysis, and standard tooling (Biome, oxlint, knip, ruff). Same code in, same score out. No API calls, no LLMs, no network dependency (except optional dependency audits). The name refers to what it *catches*.
15
27
 
@@ -47,7 +59,7 @@ Sample output:
47
59
  [!] Code Quality: done (2 warnings, 812ms)
48
60
  [!] AI Slop: done (4 warnings, 455ms)
49
61
  [ok] Security: done (0 issues, 1.3s)
50
- aislop 0.7.0 · the quality gate for agentic coding
62
+ aislop 0.8.0 · the quality gate for agentic coding
51
63
 
52
64
  scan · my-app · typescript · 142 files
53
65
 
@@ -225,6 +237,30 @@ aislop hook uninstall # remove every aislop entry, sentinel-ve
225
237
 
226
238
  Every install is sentinel-guarded (SHA-256 hash fence) for idempotent re-runs and exact uninstall. Full guide: [`/docs/hooks`](https://scanaislop.com/docs/hooks).
227
239
 
240
+ ### Use as an MCP server
241
+
242
+ aislop ships an MCP (Model Context Protocol) server so any agent that speaks MCP — Claude Desktop, Claude Code, Cursor, Codex — can call it as a tool.
243
+
244
+ ```jsonc
245
+ // ~/.cursor/mcp.json / Claude Desktop config / ~/.codex/config.toml equivalent
246
+ {
247
+ "mcpServers": {
248
+ "aislop": {
249
+ "command": "npx",
250
+ "args": ["-y", "aislop-mcp"]
251
+ }
252
+ }
253
+ }
254
+ ```
255
+
256
+ Tools exposed:
257
+ - `aislop_scan({ path? })` — score + counts + top findings
258
+ - `aislop_fix({ path?, force? })` — apply mechanical fixes; returns before/after delta
259
+ - `aislop_why({ rule_id })` — engine + docs link for a rule
260
+ - `aislop_baseline({ path? })` — read the per-edit-hook baseline (score, lastScanAt, fileCount)
261
+
262
+ Same engines as the CLI; calling these from inside an agent session lets the model self-check before claiming work is done.
263
+
228
264
  ### Use in CI pipelines
229
265
 
230
266
  ```bash