We took the parts of an AI coding agent that usually go wrong — the polling, the runtime, the side-effects, the audit, the trust — and made each one boring on purpose. Here’s a tour of what’s inside.
Syntaxis polls GitHub Projects v2 for items assigned to its bot and matching your status rules. No screen-scraping. No dashboards to babysit. No copy-paste of Jira tickets at 2 a.m.
Someone has to watch the board, decide which tickets the agent should attempt, and feed them in one by one. That someone is always you.
Syntaxis talks to whatever Codex or Claude session is logged in on this machine. Your code never moves through a third-party endpoint we control. If you switch models, we just notice.
Most AI coding tools relay your repo through their own servers. Even with “zero retention,” your prompts and patches sit briefly on infrastructure that isn’t yours.
Branch creation, file writes, shell commands, commits, pushes, PRs — every action with a side effect waits in a single approval inbox until you tap approve. The agent is a careful junior, not a cowboy.
feat/auth-refreshsrc/auth/refresh.tspnpm test --filter authAuto-approving agents are dazzling for thirty minutes and disastrous in the second hour. Revert PRs, force-pushes, surprise migrations — you'll know them by name.
Tell Syntaxis what "Ready for AI" looks like in your project. Pick the assignee. Pick the branch pattern, the commit prefix, the PR draft state. Most teams do this once, on day one.
Hard-coded workflows force a team that ships hotfixes on a Wednesday at 4pm to pretend they do two-week sprints. Eventually you stop using the tool altogether.
PRs are opened by syntaxis-bot[bot] with you as the human attribution. Approvals, denials, patches, branches, shell commands — kept in a local audit log you can grep, replay, or roll back, one line at a time.
Agents that don't keep their own records leave you reading git blame on a Sunday, trying to remember which PR was a “quick fix” vs which was the actual problem.
Syntaxis runs as a desktop daemon. The repo, the diffs, the file context: all stays on your laptop or sandbox VM. Outbound traffic limited to your AI runtime's own session and the GitHub APIs you tell it to use.
Hosted agents need your code to do anything. Even "we don't store it" pipes it through machines, regions, and providers you can't audit from your laptop.
This is a calendar view of a typical day on a real backlog — not a benchmark, just what the rhythm feels like. The agent polls, queues, waits. You sip coffee and tap approve or deny. Nothing happens out of band.
Everything you just saw runs locally on your laptop, against your repo, using your own AI session. Pick a plan, point it at a Project, and watch the gates start filling.