Syntaxis ships PRs. You hold the keys.
A desktop AI Software Engineer that connects to your real repository and GitHub workflow — plans work, prepares diffs, validates changes, commits, pushes, and opens pull requests, pausing before every side effect.
Every side effect waits here · local writes, git ops, GitHub mutations.
It joins your repo, not a sandbox.
Syntaxis works against your real GitHub installation — organization mode or personal authorization — and reads work straight from GitHub Projects v2 with status-field mapping and assignee filtering, so it only picks up the work you intend.
GitHub App · organization mode
Install the Etenos GitHub App into your organization. Syntaxis sees only the repositories in the installation scope, acts as syntaxis-bot[bot], and attributes every PR back to the approving developer.
Repository scope
Select repositories from your GitHub installation scope. Nothing outside it is visible to Syntaxis.
/01Projects v2 mapping
Map your Project's Status field to stages: Ready / Todo, In Progress, Review, Done.
/02Assignee filtering
Syntaxis only claims items assigned to its bot user — so it never picks up work that isn't meant for it.
/03Branch naming rules
Compose branch names from tokens: issue number, slug, key, and date. Your convention, kept exactly.
/04Commit & PR behavior
Configure commit prefixes, PR draft-vs-ready behavior, and title/body templates.
/05Task inbox
Polls GitHub Projects on an interval for eligible assigned issues and queues them in a task inbox.
/06Ten small steps. Six side-effect gates.
Every Syntaxis run walks the same ordered path. Click any stage. The four read-only stages run while you're away; the six gated stages stop and wait for approval.
First side effect. Preflight checks trusted workspace, origin remote, clean tree, base & target branch, and sync status — then waits for approval to create the branch.
It reads the repo before it touches it.
On link, Syntaxis scans the local workspace behind a repo trust gate. The scanner builds a picture of the project so its plans fit your codebase — then runs branch preflight before the first side effect.
Six gates between Syntaxis and your repo.
Branch, patch write, validation shell, commit, push, pull request. Nothing writes files, runs shell commands, commits, pushes, or opens PRs without approval. Policy profiles decide which gates can run automatically.
Every side effect waits here · local writes, git ops, GitHub mutations.
| Side effect | Strict | Standard | Trusted |
|---|---|---|---|
| Branch create | approve | approve | approve |
| Patch write | approve | approve | approve |
| Validation shell | approve | approve | auto |
| Commit | approve | auto | auto |
| Push | approve | approve | approve |
| Pull request | approve | approve | approve |
The approval inbox holds Pending, Approved-ready-to-run, and Executed history — plus stale and denied states.
Read the intent, then the exact diff.
Implementation Proposal
Before any diff, Syntaxis writes the change in plain language. You approve the intent first.
Patch Preview gate
The exact unified diff with additions/deletions, no-op detection, and side-by-side review. Nothing applies until you approve.
Validation queue gate
Detected test / typecheck / build / lint / format commands queue here. Each shell run is approved.
Commit gate
An editable commit message, staged and committed locally only after approval.
Push & PR gate
Push and pull request queue separately, with editable PR title/body and draft/ready behavior.
After a PR opens, Syntaxis reads check failures, reviews, and review comments — then drafts a feedback fix plan, a proposal, and a patch preview. Same gates, again.
You set how far it reaches.
Planning lenses bound how much Syntaxis takes on. A File Context Pack reads bounded local summaries of the likely target files and their nearest dependencies — never the whole repo, never off the machine.
Balanced plan. Touches the obvious files and their nearest dependencies, with a short ordered step list you review before any code.
A local log you can grep.
Every approval, denial, execution, policy change, and trust change is recorded locally with execution history. PRs are attributed to the approving developer.
One window. Three panes. Total control.
A focused setup down the left, the work in the middle, the approval inbox always on the right. No tabs to lose, no modals to dismiss.
Local-first Tauri app
React/TypeScript frontend with a Rust automation runtime. Built for macOS, Windows, and Linux.
/01Your Codex session
Uses the Codex/OpenAI account already signed in on the machine — no provider API keys collected. Claude Code support is on the way.
/02Billing & entitlement
An account entitlement gate, the Stripe billing portal, and a desktop sign-in handoff through the web portal.
/03Developer controls
Switch between local, staging, and production API environments, with a safe UI mock mode for development.
/04Make the coffee. Come back to a PR.
Syntaxis claims a ticket, drafts the patch, runs your validators, and queues a draft PR. You come back to the inbox, not the keyboard.