Good morning from the east coast,
I've been architecting GuardRails for about a month if not longer now, finally checked in the code a week or so ago. Its a tool that lets you have your coding agent (I've been using it with Claude Code) use a ticketing system like Beads or for those unfamiliar, like Jira.
The reason I made a new tool as opposed to sticking to Beads is two primary reasons:
1) Beads is married to git, works with git hooks, needs them. I sometimes work with projects on other version control systems, on machines that don't even have git installed. This is not good for me, as much as I love Beads. The other related reason is that it bugs out sometimes.
2) In Beads the "bead" or task has no safetynet, or guard rail if you will to stop the AI agent from completing a task without validation.
In GuardRails I started from the bottom up. I designed it to be SQLite first, using Go, and I implemented a concept called gates. A gate is what prevents your AI model from completing a task. A gate can be as simple as "run unit tests" or "build the project to ensure no build issues are found" and even "ask the human for manual testing" whatever you want it to be, its just there to prevent your agent from just closing a task. Every task requires one gate. Gates can be re-used, and if you re-use one, this new copy must pass for your new task(s).
It is still early stages, and I'm still working out what features to add. I am definitely looking to add a web interface though I think as a separate tool so you can run it once and see the tasks and their statuses, as well as all your gates.
Another thing worth noting is currently it supports two-way synching for GitHub issues, so whether you want to pull down GitHub issues for your agent to work on, or sync up GitHub issues. Worth noting is that I implemented a "claim" system when you pull down a specific GitHub task, the agent will comment for you to signal to others that someone could potentially be working on a GitHub task. In the future I want to figure out a way to have the agent first check a project for its AI policies to ensure that it does not claim a task it shouldn't be working on (we all saw this happen on HN recently).
For those wondering, I definitely "vibe coded" this, though I hate that term because it takes away from all the work I put into designing and testing this tool. All of the tickets I have generated locally are up on the GitHub, you can see what's planned, what's been worked on, and what have you. I use it for all my personal projects, hoping to showcase those as well in the future.
I welcome any feedback.
Thanks, Giancarlos