Add CSV export to usage reports
plannerReading the repo…
A software factory for teams
Maple Factory turns your team’s agent sessions into a production line. Every task gets a plan you approve, a build on one of your machines, an independent review and green CI before it touches main. You steer from a native Mac app, or your phone.
Runs in your Cloudflare account, on your Macs, on the subscriptions you already pay for.
plannerReading the repo…
Agents are the same. They’ll draft, retry and rewrite all afternoon. Getting more out of them was never the hard part. Boiling it down is: a plan someone agreed to, a diff someone else checked, tests that pass and proof that it works. Maple Factory does the boiling, so your team gets the one gallon, not the forty.
How it works
Approve the plan before any code is written. Approve the merge once it’s proven. Everything in between runs without you.
Tap · Plan
A planner reads the repo and writes up what it’ll change, with mockups for anything visual. Approve it, question it or send it back. No code until you say so.
## Plan · MF-142 1. exportCSV() on reports 2. Stream rows, no buffer 3. Toolbar button 4. Test 100k rows
Boil · Build
A runner on one of your team’s Macs picks it up, in a session that survives sleep, network blips and updates. It runs on the owner’s Claude Code or Codex plan, inside the limits they set.
studio-mac · session 3 ✓ 12 files changed ✓ tests 214 passed → pushed mf-142
Grade · Review
A separate reviewer reads the diff while CI runs and the task gathers proof: screenshots, recordings, test output. It all lands on one page.
review · 2 notes, fixed checks · 14 / 14 proof · export.mov
Bottle · Merge
Approve from your desk or your phone. Maple Factory opens the pull request, waits for green checks and squash-merges it.
● Merged #388
into main
approved by AF
The Mac app
See what’s planning, what’s waiting on you and what’s building where. Open any running session’s terminal to watch it work, or take the wheel.
The details
When a session ends, you’ll know why. Sleep, a dropped connection or an update picks up from the last checkpoint. A crash, an expired login or a usage limit stops and asks for help, with the last screen attached.
Sign in with your GitHub org, and its teams decide who can do what. Share machines, hand off tasks, and pause your own runner without stranding someone else’s work.
One deploy per org, in your account: Workers, Durable Objects, D1 and R2. Your code, sessions and terminals stay in your account.
Plans, mockups, diffs, reviews and checks, all in the browser. Approve, push back, merge or answer an agent’s question from wherever you are.
Open a branch’s running app, share a port or send a teammate a preview link, all over your own tailnet.
Everyone uses the Claude Code or Codex login they already have. Planners and reviewers do too, so the whole factory follows your team’s model choices.
Install
maple install sets up everything in your Cloudflare account, signs you in with GitHub and enrolls the Mac you’re on. Add your teammates’ machines whenever you’re ready.
Deploy to Cloudflare Rather click? Deploy from the button, then finish at your factory’s /setup.
$ maple install Cloudflare token •••••••••••• ok Provisioning workers · durable objects · d1 · r2 ok Migrations 14 applied ok GitHub org acme · 3 teams ok This machine studio-mac enrolled ok Your factory is ready → factory.acme.dev

Set up a factory in your own Cloudflare account and put your team’s agents to work.