Releases: DataDave-Dev/becwright
Release list
v0.4.0 — commit-message rules & the advisory tier
becwright now enforces good practices end to end — the code, the commit message, and even judgment rules — so any rule you write in your CLAUDE.md gets the right treatment: a 100% guarantee if it's deterministic, honest best-effort if it isn't.
Highlights
Commit-message rules
Rules can now target the commit message, not just the files. becwright init installs a commit-msg hook alongside pre-commit.
target: commit-msgon a rule checks the message.becwright init --from-claude-mdmaps phrases like "conventional commits" and "no AI attribution" into ready-made message rules.
$ git commit -m "arreglé cosas" → BLOCKED (not Conventional Commits)
$ git commit -m "feat: … Co-Authored-By: Claude" → BLOCKED (AI attribution)
$ git commit -m "feat: add service" → allowed
Advisory tier — judgment rules, honestly
A new severity: advisory is the home for rules whose check isn't deterministic (e.g. an LLM reviewer). It reports — labelled ADVISORY (best-effort, not a guarantee) — but never blocks, so blocking/warning stay 100% guarantees and you always know which findings are guaranteed vs assisted. No LLM dependency in becwright — the reviewer is your own check command.
- id: readable-design
check: "./my-llm-review.sh" # your reviewer, your model
severity: advisory # reports, never blocksCode hygiene from a single phrase
- New
conflict_markerscheck (leftover<<<<<<</>>>>>>>/|||||||). - A broad "good practices" / "buenas prácticas" phrase in
--from-claude-mdexpands to the deterministic hygiene set (no secrets,eval, debug leftovers, or conflict markers), language-aware.
See the full changelog.
v0.3.0 — CLAUDE.md → BECs, new checks, agent tooling
becwright turns the deterministic parts of a CLAUDE.md into commit-blocking BECs — automatically, gradually, and with an AI agent — while judgment-based guidance stays as prose. CLAUDE.md asks an agent to behave; becwright verifies the result on every commit.
Highlights
CLAUDE.md → enforceable rules
becwright init --from-claude-mdreads yourCLAUDE.mdand turns the prohibitions it recognizes (secrets,eval,debugger,console.log, breakpoints, wildcard imports, a per-file line cap, …) into real rules, reporting which phrase matched each. It ignores what it can't verify (architecture, naming quality, function length) — that stays inCLAUDE.md.
Adopt on any codebase
becwright init --baselinestarts rules that already have violations aswarningand clean ones asblocking, so a legacy repo is guarded from day one without blocking commits on existing debt. Graduate each rule toblockingas you clean it.- Per-rule
exclude:globs carve files out of a rule (vendored/generated code, or the check's own implementation) — no more false positives forcing you to delete a useful rule.
New language-agnostic checks
require— a regex that must be present (e.g. a license header); the inverse offorbid.max_lines— a file-length cap (--max N).filename— file-name conventions (--forbid/--require).
AI agent / MCP authoring loop
The MCP server (becwright mcp) now lets an agent build rules from your CLAUDE.md, safely:
propose_rules_from_claude_md— the deterministic starting point.preview_rule— dry-run a candidate rule before writing it.add_rule— persist it behind a trust gate (previews unlessconfirm=true; built-in checks only).
The Claude Code skill/plugin teaches this whole flow.
Robustness & onboarding
- The pre-commit path checks staged content (matches exactly what the commit records).
- Checks have a timeout; a malformed
.bec/rules.yamlor a rule pointing at an unknown check now fails with a clear message instead of a confusing block. - Offline catalog:
becwright search/addinstall ready-made BECs with one command. - Plug into the pre-commit framework or Husky.
See the full changelog.
v0.2.2
Full cross-platform release: install with npm/pnpm (no Python) or pip/pipx.
- npm/pnpm: self-contained binary for linux x64/arm64, macOS (universal2: Intel + Apple Silicon) and win32 x64.
- pip/pipx: all platforms.
- Claude Code plugin: /plugin marketplace add DataDave-Dev/becwright
- MCP server (becwright mcp) and 'becwright check --json' for AI agents.
v0.2.1
First release with full npm coverage (no Python required) plus PyPI.
- npm/pnpm: self-contained binary for linux x64/arm64, macOS (universal2: Intel + Apple Silicon) and win32 x64.
- pip/pipx: all platforms.
- Claude Code plugin: /plugin marketplace add DataDave-Dev/becwright
- MCP server (becwright mcp) and 'becwright check --json' for AI agents.
v0.2.0
First release installable without Python.
- Install via npm/pnpm (self-contained binary, no Python) or pipx.
- Claude Code plugin: /plugin marketplace add DataDave-Dev/becwright
- MCP server (becwright mcp) and 'becwright check --json' for AI agents.
- Built-in checks invoked via 'becwright run'.
v0.1.0
First release of becwright.
- Deterministic enforcement of constraints (BECs) via a native git pre-commit hook.
- CLI: check / install / uninstall / export / import.
- Included checks: forbid (any language), no_token_in_logs, hardcoded_secrets, debug_remnants, dangerous_eval, wildcard_imports.
- Portable BECs: export/import a rule + its check between repos as a single .bec.yaml.
- Language-agnostic engine; catalog with Python and JS/TS BECs.
Install: pipx install becwright