build-gate

by Vincent Lauriat · ★ 0 · updated yesterday

BandsGuardsCommandsPromptvalidates

0

Band above the prompt when a turn changed source code without running a matching build or type-check

install build-gate

Install

git clone https://github.com/vincentlauriat/ModsTools
claude --plugin-dir ./ModsTools/mods/build-gate

Then run /reload-plugins or start a new session. Requires Claude Code 2.1.287+.

View source on GitHub

What it hooks into

From an automated scan with claude plugin validate, not a security review. Mods run with your permissions; read the code before installing.

Events
session.startcommand.runprompt.submittool.callturn.completeui.render
API calls
$.command.register$.state.get$.state.set$.ui.resolve
Draws
AbovePrompt
Can see
every promptevery tool call
Reach
level 1 of 3 other: $.state.getother: $.state.setdraws

Origin

How it got here
Automated scan of public GitHub repos, via the CC0 dataset awesome-claude-code-mods (scan of ).
Repository
github.com/vincentlauriat/ModsTools
Path in repo
mods/build-gate
Source commit
8c2da67 the exact code the scan read
Author
Vincent Lauriat @vincentlauriat
License
MIT
First published
Last pushed
First listed here

Name and description come from the mod's own manifest. We link to the code; we don't host it, and it stays under its author's license.

More from vincentlauriat/ModsTools

achievement

vincentlauriat/ModsTools

Playful badges unlocked once ever from real events (tool calls, turns, subagents, tests, git); /achievements lists them

★ 0ToastsGuardsCommands

agent-tracker

vincentlauriat/ModsTools

A pane listing the subagents launched this session with their status and duration

★ 0PanesCommands

ascii-weather

vincentlauriat/ModsTools

Weather from wttr.in in the status line (refreshed at most once an hour); /weather shows the one-line forecast

★ 0Status lineCommands

auto-context

vincentlauriat/ModsTools

Adds git branch, dirty count, last commit and next TODOS to the session's system prompt

★ 0CommandsPromptAutomation

branch-guard

vincentlauriat/ModsTools

Asks the user before Edit/Write/NotebookEdit changes a file of a git repo whose current branch is main or master (once per repo and session)

★ 0Status lineGuardsCommands

changed-files

vincentlauriat/ModsTools

A pane listing the files Claude modified during the session

★ 0PanesGuardsCommands

ci-watch

vincentlauriat/ModsTools

Follows the GitHub Actions runs of a commit after git push: status line while they run, toast with the failed workflows and their link when they end

★ 0Status lineGuardsCommands

command-history

vincentlauriat/ModsTools

A pane listing the Bash commands run this session with exit status and duration

★ 0PanesGuardsCommands

commit-lint

vincentlauriat/ModsTools

Refuses git commit commands whose message subject is not a Conventional Commit (type(scope)!: subject, header within a length limit)

★ 0Status lineGuardsCommands

commit-size-guard

vincentlauriat/ModsTools

Asks before a git commit or git add includes large files, big binaries or build/release artifacts (dmg, zip, app, ipa, xcarchive, DerivedData, node_modules, .build, release/)

★ 0Status lineGuardsCommands

compact-advisor

vincentlauriat/ModsTools

Toasts once when the context crosses a threshold; /compact-advisor prints a ready-to-paste /compact line with branch, edited files, open tasks and the last goal

★ 0ToastsGuardsCommands

context-gauge

vincentlauriat/ModsTools

A band above the prompt that appears when the context window is at least 70% full

★ 0Bands