Skip to content

AISlop

v0.6.1 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai ai-slop ai-slop-detection cli code-quality code-review
+13 more
developer-tools go javascript linter php pre-commit pull-request python quality-gate ruby rust static-analysis typescript

Summary

AI summary

Updates Numbers, aislop/config.yml exclude, and Self-scan across a mixed release.

Full changelog

Patch on top of 0.6.0. Hook UX fixes, three new deterministic rules, rule-coverage widenings, config-driven file exclusion, and internal refactors driven by the new rules.

Install

npx [email protected] scan .
# or globally:
npm i -g [email protected]

What shipped

Hook UX fixes surfaced on first contact with 0.6.0.

  • Per-agent flags on install / uninstall (--claude, --cursor --gemini, --copilot), matching the existing fix --claude pattern.
  • Positional agent args: aislop hook install claude cursor, aislop hook uninstall gemini.
  • Interactive multi-select picker when no agents are passed and stdin is a TTY.
  • TTY guard on the internal hook claude / cursor / gemini callbacks so interactive invocation prints a useful hint instead of silently no-op'ing.

Three new deterministic detection rules.

  • code-quality/repeated-chained-call — flags 5+ consecutive method calls on the same chain that differ only in string literals.
  • code-quality/duplicate-block — sliding 10-line window, ≥7 distinct lines, literal-only normalisation. Catches real copy-paste.
  • ai-slop/narrative-comment widened with a bare section label detector (// Subcommands, // Setup helpers) that correctly spares data-entry labels like // AWS inside arrays.

Rule coverage widening (gaps surfaced by running 0.6.1 on our own enterprise repo).

  • ai-slop/trivial-comment verb list gained Write, Run, Parse, Execute, Extract, Save, Load, Build, Start, Stop, Cleanup, Setup, Configure, Validate, Process, Queue, Fire, Emit, Dispatch, Log, Print, Render. Handles bare single-word imperatives (// Cleanup).
  • ai-slop/narrative-comment now flags 3+ line prose blocks inside function bodies (previously only caught preamble-before-declaration). Exempted when the prose contains WHY markers (because, since, otherwise, workaround, note:, bug, issue, in prod, must run, see issue).

New

Suppression mechanism. // aislop-ignore-file <rule> at the top of a file, or // aislop-ignore-next-block <rule> above a specific construct. Escape hatch for legitimate structural repetition (diagnostic-push tables, component libraries, static-asset generators).

Config-driven file exclusion (thanks @myke-awoniran for #38). exclude: key in .aislop/config.yml plus --exclude <pattern> on the CLI. Defaults: node_modules, .git, dist, build, coverage. CLI > config > defaults. Glob-supported via micromatch.

# .aislop/config.yml
exclude:
  - "**/*.test.ts"
  - src/generated
aislop scan --exclude "**/*.test.ts"
aislop scan --exclude node_modules,dist,logs

Internal

Refactors driven by the new rules catching real issues in aislop's own source:

  • doctor.ts — data-driven FORMAT_SPECS / LINT_SPECS / AUDIT_SPECS + systemToolDecision + firstMatching helpers replace six repeated plan-by-language branches.
  • source-masker.ts — extracted handleQuotesAndComments so the string/template/comment state machine exists in one place.
  • dead-patterns.tsslop() factory collapses 8 inline diagnostic-push copy-pastes.
  • cli.tsrunScan() shared between the top-level default action and the scan subcommand; FIX_AGENT_FLAGS table drives all 14 agent option registrations from a single loop; hook command wiring moved to src/cli/hook-command.ts.

Numbers

  • 614 tests passing (598 baseline + 16 new)
  • Self-scan: 100/100 Healthy, 0 findings
  • Packaged size: 138 kB (15 files)
  • No CLI contract changes. --agent <names> still works; it's one of four equivalent ways to select agents now.

Manage

npx aislop hook status              # which agents are installed
npx aislop hook install --dry-run   # preview without writing
npx aislop hook uninstall           # sentinel-verified, exact
npx aislop hook baseline            # re-capture baseline

Docs: https://scanaislop.com/docs/hooks

What's Changed

  • chore(ci): auto-sync main → develop after every squash merge by @heavykenny in https://github.com/scanaislop/aislop/pull/42
  • release: promote develop → main (v0.6.1 + exclude) by @heavykenny in https://github.com/scanaislop/aislop/pull/41

Full Changelog: https://github.com/scanaislop/aislop/compare/v0.6.0...v0.6.1

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track AISlop

Get notified when new releases ship.

Sign up free

About AISlop

All releases →

Related context

Beta — feedback welcome: [email protected]