Skip to content

0.3.0

Latest

Choose a tag to compare

@Katta041 Katta041 released this 15 Oct 11:18
· 3 commits to main since this release

0.3.0 takes AsItIs out of the chat window and into CI.

New

  • An asitis command line tool. It outputs text, JSON, SARIF and GitHub annotations, uses exit codes 0 to 3 and supports --fail-on: npx -y -p @asitis/mcp@0.3.0 asitis lint
  • A GitHub Action (Katta041/asitis-agent-tools@v0.3.0) and a pre-commit hook (asitis-lint). Setup for GitHub, pre-commit, lefthook, husky and GitLab is in docs/ci.md.
  • .asitisrc.json config, inline <!-- asitis-disable-next-line rule -- reason --> comments and baselines, so you can adopt it on a big repo without fixing everything first.
  • Drift checks:
    • flags an AGENTS.md that Claude Code never reads because a CLAUDE.md shadows it
    • flags mirrored files that have drifted apart, and rules that contradict each other across tools
    • checks the Codex 32 KiB budget, which is shared down the folder chain
  • An opt-in security scan of skill folders (include: skills). It looks for downloaded code piped into a shell, encoded payloads, data sent off the machine, unscoped allowed-tools, binaries posing as text, and skill arguments that reach a shell.
  • An opt-in audit of .claude/settings.json and .mcp.json (include: config). It looks for bypassPermissions, Bash(*), hooks that download and run code, unpinned npx -y servers, the vulnerable mcp-remote versions and inline secrets. It never reads ~/.claude.json.
  • Fix suggestions as diffs, through the new suggest_fixes tool, /asitis:md-fix and --fix-preview. The server still never writes. You see each change and decide.
  • A page for every rule, with bad and good examples and the vendor doc it rests on: docs/rules.

Default severities
Planted invisible or bidirectional characters, and hidden comments that tell the agent to ignore instructions, hide something, run a command or reach for secrets, are now errors. That means a default CI run fails on them. Comments that only address the agent stay warnings.

How it was tested

  • Before release I ran it across 71 public repos and labelled every error and warning by hand. 98% were worth a contributor's time, up from 59% in the first release candidate. Every real finding is still caught.
  • A security review checked that the tool doesn't print secrets, and that a repo's own config can't quietly hide security findings.
  • The labelled set of 233 cases scores 100% on precision and recall.
  • 1,722 tests run on macOS, Linux and Windows.

Known gaps for 0.3.x

  • The skill scan doesn't yet catch some heavily disguised download-and-run commands, and it doesn't read Makefiles or YAML inside skill folders.
  • A stray <!--> marker can give a false hidden-instruction warning.
  • Fix diffs show the lines they change, so a secret already in that line appears in the diff.

Update

claude plugin marketplace update asitis
claude plugin update asitis@asitis