Skip to content

docs: adoption fixes — recipes page, honest Windows status, 90s quickstart#77

Merged
DataDave-Dev merged 1 commit into
mainfrom
docs/external-adoption
Jul 3, 2026
Merged

docs: adoption fixes — recipes page, honest Windows status, 90s quickstart#77
DataDave-Dev merged 1 commit into
mainfrom
docs/external-adoption

Conversation

@DataDave-Dev

@DataDave-Dev DataDave-Dev commented Jul 3, 2026

Copy link
Copy Markdown
Owner

What

External-adoption audit follow-ups (docs only), the P0 tier of the audit:

  • New documentation/recipes.md (+ .es) — copy-paste rules for the jobs people actually search for: gitleaks / ruff / semgrep as the check (with the staged-snapshot caveat: use gitleaks detect --no-git, not protect), frozen critical paths via filename --forbid '.*', architecture boundaries, conventional commits, plus complete CI / pre-commit / Husky / package.json / MCP configs. Closes the doc half of Provide a CI integration recipe (enforce BECs beyond the local hook) #28.
  • README (+es): the "point a rule at any tool you already trust" claim is now demonstrated with inline YAML (gitleaks + ruff), not just stated; a 90-second violate → block → fix quickstart; uvx alongside npx/pipx run; an explicit note on which install to pick (-g to try, --save-dev for teams).
  • Honest Windows status everywhere: beta, gaps tracked in Tests fail on Windows: POSIX inline env-var syntax (PYTHONPATH=...) not portable #31, first-class in v1.3 (README FAQ + new Platform support section in stability.md). The old copy sounded more confident than the CI evidence supports.
  • usage.md (+es): new Performance and limits section — one subprocess per rule, BECWRIGHT_CHECK_TIMEOUT, one rules.yaml per repo (monorepo scoping via globs), checks judge the staged snapshot.
  • CONTRIBUTING: map of the code (module → responsibility) + how to watch becwright police itself locally.

Test plan

  • Docs only — no engine changes; pytest green locally (253 passed)
  • Dogfood hook passed on commit
  • EN/ES pages mirror each other; all new cross-links relative

Summary by CodeRabbit

  • Documentation
    • Expanded getting-started guides with clearer install options, including additional runner and package-manager alternatives.
    • Added a new “recipes” section with copy-paste rule examples for common checks, CI, pre-commit, and automation workflows.
    • Documented performance and usage limits, including timeouts, staged-snapshot behavior, and repository layout expectations.
    • Clarified platform support, noting Linux/macOS support and Windows as beta via Git Bash.

…start

- New documentation/recipes.md (+es): copy-paste rules for the common jobs —
  gitleaks/ruff/semgrep as the check (with the staged-snapshot caveat), frozen
  paths via filename --forbid, architecture boundaries, conventional commits,
  CI/pre-commit/Husky/package.json/MCP configs.
- README (+es): tool-as-check example inline (the 'point it at a tool you
  trust' claim is now demonstrated, not just stated), a 90-second
  violate->block->fix quickstart, uvx alongside npx/pipx, and a note on which
  install to pick (-g to try, --save-dev for teams).
- Windows status made honest everywhere: beta, tracked in #31, first-class in
  v1.3 (README FAQ + stability.md get a Platform support section).
- usage.md (+es): new 'Performance and limits' section — one process per rule,
  BECWRIGHT_CHECK_TIMEOUT, single rules.yaml per repo (monorepo scoping via
  globs), checks judge the staged snapshot.
- CONTRIBUTING: map of the code + how to watch becwright police itself.
@coderabbitai

coderabbitai Bot commented Jul 3, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR updates documentation across the repository: CONTRIBUTING.md gains a code map, README.md/README.es.md expand install/demo guidance and add a blocking-rule walkthrough, new recipes.md/recipes.es.md pages document reusable rule examples and integrations, and stability/usage docs add platform support and performance notes.

Changes

Documentation updates

Layer / File(s) Summary
Contributor code map
CONTRIBUTING.md
Adds a "Map of the code" section describing module layout under src/becwright/ and referencing self-check via .bec/rules.yaml.
README install and demo guidance
README.md, README.es.md
Expands install options (uv, uvx, pipx), adds "Which install?" guidance, and introduces a scripted "block in 90 seconds" walkthrough.
Included checks example and doc links
README.md, README.es.md
Adds YAML rule examples for gitleaks/ruff checks, links to new recipes docs, and rewrites the Windows FAQ entry as beta/best-effort.
Recipes documentation index entries
documentation/README.md, documentation/README.es.md
Adds "Recipes" bullet links pointing to the new recipes pages.
New recipes.md content
documentation/recipes.md
Introduces a full recipes page with rule examples (secrets, ruff, semgrep, JS/TS restrictions, migration freeze, architecture boundary, commit messages) and CI/pre-commit/Husky/MCP integration guidance.
New recipes.es.md content
documentation/recipes.es.md
Introduces the Spanish equivalent recipes page with matching rule examples and integrations.
Platform support and performance/limits docs
documentation/stability.md, documentation/stability.es.md, documentation/usage.md, documentation/usage.es.md
Adds Platform support sections (Windows beta status, issue #31, v1.3 milestone) and Performance/limits sections describing timeout, subprocess-per-rule, and staged-snapshot behavior.

Estimated code review effort: 2 (Simple) | ~12 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately summarizes the main docs-focused adoption fixes: recipes, Windows status, and the 90-second quickstart.
Description check ✅ Passed The description is detailed and covers the main What and test plan, but it does not fully follow the template because the Why section is missing.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/external-adoption

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@DataDave-Dev DataDave-Dev merged commit b24a58b into main Jul 3, 2026
4 of 5 checks passed
@DataDave-Dev DataDave-Dev deleted the docs/external-adoption branch July 3, 2026 02:10

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
README.es.md (1)

90-98: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Untranslated CLI-output lines inside otherwise Spanish walkthrough.

Lines "Why it matters: un secreto..." mixes Spanish narration with # >>> Commit BLOCKED: a blocking rule was broken. left in English, whereas the English README uses the same string as literal tool output. If this is meant to represent actual CLI output (not localized), it's fine and consistent with source; otherwise the Spanish variant should localize this line to stay true to the guideline that README.es.md is the Spanish counterpart of README.md.

As per coding guidelines, "Maintain the Spanish README variant as the Spanish counterpart to the main README."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.es.md` around lines 90 - 98, The Spanish walkthrough in README.es.md
still contains an English CLI-output line, so update the example around the
blocking-rule output to keep the entire narrative localized and consistent with
README.md’s Spanish counterpart. Specifically, adjust the quoted tool-output
text in the demo section so the BLOCK / Commit BLOCKED message is presented in
Spanish while preserving the same meaning and formatting style used by the rest
of the walkthrough.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@documentation/usage.es.md`:
- Around line 240-242: Update the timeout documentation in
documentation/usage.es.md so it matches the behavior in src/becwright/engine.py:
the BECWRIGHT_CHECK_TIMEOUT setting disables the limit for any non-positive
value, not only 0. Adjust the wording around the check timeout description to
say that values <= 0 disable the cap, keeping the rest of the guidance about
seconds and slow full-repo runs unchanged.

In `@documentation/usage.md`:
- Around line 237-239: Clarify the timeout documentation to match runtime
behavior in src/becwright/engine.py: the check timeout cap is disabled for any
non-positive BECWRIGHT_CHECK_TIMEOUT value, not only 0. Update the usage text
near the hung check timeout note so it states “<= 0 disables the cap” (or
equivalent), keeping the wording aligned with the behavior implemented in the
timeout handling logic.

---

Nitpick comments:
In `@README.es.md`:
- Around line 90-98: The Spanish walkthrough in README.es.md still contains an
English CLI-output line, so update the example around the blocking-rule output
to keep the entire narrative localized and consistent with README.md’s Spanish
counterpart. Specifically, adjust the quoted tool-output text in the demo
section so the BLOCK / Commit BLOCKED message is presented in Spanish while
preserving the same meaning and formatting style used by the rest of the
walkthrough.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 402904c1-b63c-4dd4-844f-422bd334c4f3

📥 Commits

Reviewing files that changed from the base of the PR and between 18a5fa8 and 1f11f9c.

📒 Files selected for processing (11)
  • CONTRIBUTING.md
  • README.es.md
  • README.md
  • documentation/README.es.md
  • documentation/README.md
  • documentation/recipes.es.md
  • documentation/recipes.md
  • documentation/stability.es.md
  • documentation/stability.md
  • documentation/usage.es.md
  • documentation/usage.md

Comment thread documentation/usage.es.md
Comment on lines +240 to +242
- **Un check colgado no puede congelar tu commit.** Cada check tiene un tope de
30 segundos; se ajusta con la variable de entorno `BECWRIGHT_CHECK_TIMEOUT`
(segundos; `0` desactiva el tope) para corridas lentas sobre todo el repo.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Aclarar el umbral que desactiva el timeout.

src/becwright/engine.py trata cualquier valor no positivo de BECWRIGHT_CHECK_TIMEOUT como desactivación del tope, no solo 0, así que conviene decir <= 0 para que la doc coincida con el comportamiento real.

♻️ Propuesta de fix
-  segundos; se ajusta con la variable de entorno `BECWRIGHT_CHECK_TIMEOUT`
-  (segundos; `0` desactiva el tope) para corridas lentas sobre todo el repo.
+  segundos; se ajusta con la variable de entorno `BECWRIGHT_CHECK_TIMEOUT`
+  (segundos; `<= 0` desactiva el tope) para corridas lentas sobre todo el repo.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- **Un check colgado no puede congelar tu commit.** Cada check tiene un tope de
30 segundos; se ajusta con la variable de entorno `BECWRIGHT_CHECK_TIMEOUT`
(segundos; `0` desactiva el tope) para corridas lentas sobre todo el repo.
- **Un check colgado no puede congelar tu commit.** Cada check tiene un tope de
30 segundos; se ajusta con la variable de entorno `BECWRIGHT_CHECK_TIMEOUT`
(segundos; `<= 0` desactiva el tope) para corridas lentas sobre todo el repo.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@documentation/usage.es.md` around lines 240 - 242, Update the timeout
documentation in documentation/usage.es.md so it matches the behavior in
src/becwright/engine.py: the BECWRIGHT_CHECK_TIMEOUT setting disables the limit
for any non-positive value, not only 0. Adjust the wording around the check
timeout description to say that values <= 0 disable the cap, keeping the rest of
the guidance about seconds and slow full-repo runs unchanged.

Comment thread documentation/usage.md
Comment on lines +237 to +239
- **A hung check cannot freeze your commit.** Every check is capped at 30
seconds; override with the `BECWRIGHT_CHECK_TIMEOUT` environment variable
(seconds; `0` disables the cap) for slow whole-repo runs.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Clarify the timeout disable threshold.

src/becwright/engine.py treats any non-positive BECWRIGHT_CHECK_TIMEOUT value as disabling the cap, not just 0, so this should say <= 0 to match runtime behavior.

♻️ Proposed fix
-  seconds; override with the `BECWRIGHT_CHECK_TIMEOUT` environment variable
-  (seconds; `0` disables the cap) for slow whole-repo runs.
+  seconds; override with the `BECWRIGHT_CHECK_TIMEOUT` environment variable
+  (seconds; `<= 0` disables the cap) for slow whole-repo runs.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- **A hung check cannot freeze your commit.** Every check is capped at 30
seconds; override with the `BECWRIGHT_CHECK_TIMEOUT` environment variable
(seconds; `0` disables the cap) for slow whole-repo runs.
- **A hung check cannot freeze your commit.** Every check is capped at 30
seconds; override with the `BECWRIGHT_CHECK_TIMEOUT` environment variable
(seconds; `<= 0` disables the cap) for slow whole-repo runs.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@documentation/usage.md` around lines 237 - 239, Clarify the timeout
documentation to match runtime behavior in src/becwright/engine.py: the check
timeout cap is disabled for any non-positive BECWRIGHT_CHECK_TIMEOUT value, not
only 0. Update the usage text near the hung check timeout note so it states “<=
0 disables the cap” (or equivalent), keeping the wording aligned with the
behavior implemented in the timeout handling logic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant