Skip to content

Releases: DataDave-Dev/becwright

v0.4.0 — commit-message rules & the advisory tier

Choose a tag to compare

@DataDave-Dev DataDave-Dev released this 01 Jul 20:02
02a97da

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-msg on a rule checks the message.
  • becwright init --from-claude-md maps 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 blocks

Code hygiene from a single phrase

  • New conflict_markers check (leftover <<<<<<< / >>>>>>> / |||||||).
  • A broad "good practices" / "buenas prácticas" phrase in --from-claude-md expands 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

Choose a tag to compare

@DataDave-Dev DataDave-Dev released this 01 Jul 17:32
beae056

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-md reads your CLAUDE.md and 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 in CLAUDE.md.

Adopt on any codebase

  • becwright init --baseline starts rules that already have violations as warning and clean ones as blocking, so a legacy repo is guarded from day one without blocking commits on existing debt. Graduate each rule to blocking as 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 of forbid.
  • 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 unless confirm=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.yaml or a rule pointing at an unknown check now fails with a clear message instead of a confusing block.
  • Offline catalog: becwright search / add install ready-made BECs with one command.
  • Plug into the pre-commit framework or Husky.

See the full changelog.

v0.2.2

Choose a tag to compare

@DataDave-Dev DataDave-Dev released this 30 Jun 18:20
dd99a64

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

Choose a tag to compare

@DataDave-Dev DataDave-Dev released this 30 Jun 18:08
736edfc

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

Choose a tag to compare

@DataDave-Dev DataDave-Dev released this 30 Jun 16:59
5544eea

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

Choose a tag to compare

@DataDave-Dev DataDave-Dev released this 30 Jun 05:47
2b87164

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