Skip to content

fix(ci): make release-plz jobs independent#22

Merged
leonardomso merged 20 commits into
masterfrom
fix/release-plz-independent-jobs
May 4, 2026
Merged

fix(ci): make release-plz jobs independent#22
leonardomso merged 20 commits into
masterfrom
fix/release-plz-independent-jobs

Conversation

@leonardomso

Copy link
Copy Markdown
Owner

The release job had needs: release-pr, so when release-pr failed with a 403 (GitHub token can't create PRs on this repo), the release job was skipped entirely. No tag, no crates.io publish, no npm.

Fix: remove the dependency. Both jobs run independently. The release command will see that 0.1.0 is not yet tagged, create the tag, and publish to crates.io.

… fails

The release job depended on release-pr (needs: release-pr), so when
release-pr failed with 403 the release job was skipped entirely.
This prevented tagging and crates.io publishing.

Remove the dependency. Both jobs now run independently on every push
to master:
- release-pr: opens a version-bump PR (best-effort, may fail on
  repos with restricted GITHUB_TOKEN permissions)
- release: creates git tags and publishes to crates.io for any
  packages whose version changed since the last tag
fs4 1.0 dropped the fs_std submodule (FileExt now lives at the crate
root, gated by the default-on `sync` feature) and renamed
lock_exclusive to lock to mirror the now-stable std::fs::File::lock.
Use a fully-qualified FileExt::lock call to disambiguate from std's
inherent method.
Tighten the version comments next to pinned action SHAs (the SHAs were
already at the latest releases, only the labels were stale): setup-node
v6 -> v6.4.0, action-gh-release v3 -> v3.0.0, release-plz/action
v0.5 -> v0.5.128.

Bump Node.js used by the npm publish job and required by the published
package from v24.15.0 to v25.9.0.
Lead with a centered title, tagline, badge row (CI, crates.io, npm,
license, MSRV, cold-start), and link row. Replace the prose-heavy
"What betterhook does" section with a single capability table. Move
configuration deep-dives (template variables, isolation modes,
inheritance, builtins) into <details> sections so the page stays
short by default. Replace the numbered "How it works" walkthrough
with an ASCII flow diagram. Add a troubleshooting table. Tabs for
cargo / npm / Homebrew / source install. No content dropped.
README: add the .github/header.jpg banner above the title; insert a
Benchmarks section with reproducible numbers from `cargo xtask
bench-monorepo` (binary startup <10 ms, 10k-file pre-commit ~107 ms
warm vs lefthook 162 ms, 4.5 MB binary); add a Recipes section
linking the new drop-in configs; promote Migration into a top-level
section with per-tool importer commands and a callout block right
after the value-prop ribbon.

CONTRIBUTING: same header banner; lead with a "first PR in 5 minutes"
checklist; add a benchmarks block; collapse fuzzing and mutation
testing into <details>; add a do/don't table.

Recipes: new top-level recipes/ directory with five drop-in configs
(typescript, rust, python, go, polyglot) plus a recipes/README.md.
All five validated with `betterhook explain` against the current
schema.

AGENTS.md and CLAUDE.md: add the recipes/ entry to the repo-layout
section to keep them in sync.
Trim AI-isms in introduction/quickstart/why-betterhook, fold the duplicated
lefthook bug list out of introduction (it lives canonically in why-betterhook),
and update the example status output from 0.0.2 to the current 0.1.0.
Update min_betterhook example and verify-version output to 0.1.0, soften AI
phrasing in installation/isolation/templates.
Bump status.mdx example from 0.0.2 to 0.1.0 and trim AI-isms in explain,
fix, builtins, and migrate.
The flock fallback uses fs4::FileExt::lock (renamed from lock_exclusive in
fs4 1.x). Trim AI tells in overview.mdx and cache.mdx.
The migrate subcommand is deprecated; betterhook import is its replacement
and supports lefthook, husky, hk, and pre-commit.
Single entrypoint for LLM agents that need to load the docs at runtime.
Mirrors the docs.json navigation grouping and lists every published page
with a one-sentence summary. Served at https://betterhook.dev/llms.txt
once the Mintlify site is live.
The agents folder collected docs that already lived elsewhere:
- agents/ndjson moves to reference/ndjson — it's a wire format, not an
  agent-specific concept
- agents/self-correction was a longer version of commands/fix; commands/fix
  already documents the run-fix-run loop with example
- agents/conductor was a single env-var (BETTERHOOK_DAEMON_SOCK) wrapped
  in a page; the env-var doc covers it directly now
- agents/overview was a portal page; the cards repointed to where the
  underlying topics actually live

All cross-references updated; docs.json adds reference/ndjson and drops
the Agent integration group; llms.txt reflects the new layout.
Round of language polish across the docs:

- drop em-dashes in favor of periods or commas where they were stylistic,
  not technical
- remove every "actually" filler word
- replace Conductor-specific examples with generic ones in performance,
  daemon, and protocol pages
- update quickstart to use the published crates.io install
- drop dated phrasing like "the era of parallel AI coding agents" and
  "current state"
- enumerate the failures behind "things break" in the isolation lead
- simplify "first-class design constraint" and "structural rather than
  incremental" in why-betterhook
- flatten the bold-lead pattern in the daemon Design principles checklist
  and the capability-dag benefits list
- replace "Just Work" with plain prose in exit-codes
- swap em-dash parentheticals for periods, colons, or parentheses where
  they were stylistic rather than semantic
- promote crates.io to the recommended install path now that v0.1.0 is
  published; demote the source-build tab
- split the long "The problem" paragraph in introduction.mdx into two
- tighten the lead in architecture/cache.mdx
- drop more bold lead-ins in extends.mdx, install.mdx, and ndjson.mdx
- include KDL alongside TOML/YAML/JSON in the configuration lead so
  the schema reference matches the format support
@leonardomso leonardomso merged commit bce2723 into master May 4, 2026
5 checks passed
@leonardomso leonardomso deleted the fix/release-plz-independent-jobs branch May 4, 2026 14:02
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