v0.1 · public beta · macOS · Windows · Linux

Go for a coffee.
We'll ship the ticket.

Syntaxis is a desktop teammate that polls your task manager, opens a branch, drafts a patch, runs your validators, and pushes a PR — pausing for your approval at every side effect. Read-only by default. Nothing ships without you.

Join the beta Watch the loopFree during beta · no API keys to manage
Runs locally · uses your Codex/Claude session
GitHub-native · App-installed · audit log
10 gated stages · approve per step
syntaxis · live
polling · 60s
13:42:01claim#7 Add support of birthday on the profile formready → in progress
13:42:02scanrepo · 412 files indexedtrust gate · pass
13:42:05branchorigin/work/7-add-support-of-birthdayqueued · branch
13:42:14plandraft · 4 steps · 3 files in scope
13:42:21contextpack · profile-form.tsx + 2 deps
The desktop app

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.

Syntaxis
Build version:
0.1.0.2026052109
Setup
01 AI Provider
02 GitHub Integration
03 Repository
04 Project Status
Workspace
Task inbox 1
Active task #7
Approval inbox
State
Trusted
mdx-portal
Workspace / Approval inbox
· #7 gatedSearch ⌘K
Workspace
Approval inbox
3 pending Approve all

Every action with a side effect waits here · local writes, git ops, GitHub mutations.

patch
#7 · 3 files · +47 / −12
view diffapprove
+ <Field label="Birthday">
+   <DateInput value={birthday} onChange={setBirthday} />
+ </Field>
- // legacy <BirthdayPicker />
validate
pnpm lint + typecheck
view commandapprove
push
origin/work/7-add-support-of-birthday
view branchapprove
Approval inbox 3
7
approved today
100%
applied cleanly
Queues here
Create or switch branch
Apply patch
Run validation
Create local commit
Push branch to origin
Open pull request
Read-only first · side effects only after approval.
The loop · 01 → 10

Ten small steps. Six gates. Zero surprises.

Every Syntaxis run walks the same ten-step path. Six of them have side effects and pause for your approval. The other four are read-only and run while you're away from the keyboard.

Step 1 / 10
Claim
Polling finds an eligible Project item assigned to your bot. Nothing executes — Syntaxis just claims it and flips the status field.
claim · move Project item → in progress
(read-only · no code changes)
Features

The boring parts of being on-call for your own backlog.

Syntaxis is not an agent that goes rogue. It's a careful junior that reads the rules, does the work, and stops at every door that has a side effect.

polling

Reads your Project, not your screen

Polls GitHub Projects v2 for items assigned to your bot and matching your status rules. No screen-scraping, no dashboards to babysit.

runtime

Uses the Codex/Claude you already have

Talks to whatever AI runtime is logged in on this machine. No API keys to copy around, no third-party proxy reading your code.

gates

Side-effect-free by default

Branch creation, patch writes, shell commands, commits, pushes, PRs — every mutation queues to a single approval inbox.

rules

Your project, your contract

Map your Project's Status options to Syntaxis stages. Pick the assignee, branch pattern, commit prefix, PR draft state. It bends to your workflow.

audit

Every action is logged, attributed, reversible

PRs are opened by syntaxis-bot[bot] with attribution to you. Approvals, denials, and patches are kept in a local audit log you can grep.

local

Your code never leaves the machine

File context is packed locally and fed to the runtime through its own session. No external upload, no telemetry on file contents.

Approval inbox

Six gates between Syntaxis and your repo.

Read-only first. Side effects only after approval. Every action with a write — local or remote — queues to a single inbox you clear at your own pace.

branch · create / switch
Any new branch or checkout, after the trust gate.
git
patch · apply
Writes the reviewed diff to local files.
fs
validate · run
Executes detected lint / test / typecheck commands.
shell
commit · create
Stages and commits locally. No push yet.
git
push · origin
Publishes the branch via the GitHub App.
github
pr · open
Opens the PR through syntaxis-bot[bot], attributed to you.
github
fb-patch · apply
Separate gate for feedback patches after PR review.
fs
The contract

Nothing happens twice. Nothing happens silently.

Syntaxis is built on a single rule: if it has a side effect, it waits in the approval inbox. You see the diff, the command, the branch, the PR body — exactly what will happen — before it does.

One inbox · keyboard-driven · approve all, or per gate
Stale entries auto-expire — no accidental late approvals
Per-repo trust toggle · disabled = read-only forever
Every approved action is logged with a reversible commit hash
A day with Syntaxis

Five-minute setup. Five-step loop.

01

Set the rules

Pick a repo, a project, a bot user, status mappings, branch pattern.

02

Walk away

Syntaxis polls your task manager every 60s, claims eligible items.

03

Watch the inbox

Side effects queue with a diff, a command, or a branch preview.

04

Approve in batches

Clear gates in one keystroke, or open each one and edit the diff.

05

Ship the PR

Drafted, attributed, validated. Your call when it leaves the nest.

The promise

Make the coffee.
Come back to a PR.

The hardest part of your morning should be the espresso shot. While you stretch your legs, Syntaxis claims a ticket, drafts the patch, runs your validators, and queues a draft PR for your review. You come back to the inbox, not to the keyboard.

Join the beta See the gates
Coming soon

Approve from the line at the coffee shop.

The desktop app does the work. The mobile companion does the gates. Get a push when a patch is ready, scroll the diff, approve with your thumb. Native apps for iOS and Android, pairing over your existing GitHub App.

Same approval inbox, smaller screen

Every gate from your desktop, mirrored to your phone in real time.

Push when patches are ready

You choose which gates ping you. Patches, pushes, PRs, or all of them.

Biometric approval

FaceID / fingerprint required for every side-effect — no thumb-slips.

App Store · soonGoogle Play · soon
9:415G·91%
workspace · etenos/mdx-portal
Approval inbox
3 pending · polling · 60s
patch · #7just now
3 files · +47 / −12
Add birthday field to profile form
View diffApprove
validatequeued
pnpm lint + typecheck
pushqueued
origin/work/7-add-birthday
applied2m ago
commit · #6 fix profile-form layout
Tasks
Active
Inbox
History
9:415G·91%
workspace · etenos/mdx-portal
Approval inbox
3 pending · polling · 60s
patch · #7just now
3 files · +47 / −12
Add birthday field to profile form
View diffApprove
validatequeued
pnpm lint + typecheck
pushqueued
origin/work/7-add-birthday
applied2m ago
commit · #6 fix profile-form layout
Tasks
Active
Inbox
History
Pricing

Pay by seat. Or self-host.

Syntaxis runs on your machine and your runtime — so we don't charge for tokens. You pay for the orchestrator, the GitHub App, and the audit trail.

Solo
For a single dev, a single repo, a single machine.
$19/ month
1 developer · 1 repo
Local-only mode (no GitHub App required)
Personal GitHub integration
Codex / Claude session reuse
Local audit log
Community Discord
Enterprise
For orgs with auditors, VPNs, and self-host needs.
Custom
SAML / OIDC SSO
SCIM provisioning
Self-host runtime · air-gap mode
Custom approval policies + webhooks
Per-repo role-based gates
SOC 2 report · DPA
Dedicated solutions engineer
About

Built by engineers who got tired of babysitting agents.

We've all watched an AI assistant happily push a broken branch to main at 11pm. Syntaxis is the opposite design: a long, boring, gated pipeline you can leave running while you go to lunch — because every consequential step has to stop and ask.

We're a small team out of etenos, building tools for developers who ship into regulated environments. If you have an opinion about approval policies, branch naming, or where the audit log should live — we'd love to talk.

Get in touch Read the changelog
10
Pipeline stages
6
Approval gates
0
Bytes uploaded to us
60s
Default poll interval
Contact

Tell us about the loop you want to automate.

We read every message. Whether you're a solo dev with a side project or a security team evaluating self-host, drop us a line.

hello@syntaxis.dev
Replies within one business day.