← Use Cases

unattended pipeline

Your side project ships while you sleep.

Declare your nightly build, test, deploy, and smoke-check pipeline once. Gitmoot runs the whole thing on a schedule, recovers on its own, and wakes you only for the one call a script could never make: the one that costs you something.

✓ Verified on v0.8.7
scenario

The nightly chores that eat your evenings.

You are the whole team. Every night your side project needs the same handful of chores: build it, run the tests, deploy the day’s changes, and smoke-check that it actually came up. None of it is hard. All of it is yours, and it quietly eats your evenings. Worse, the moment something needs a real decision, like a maxed API quota or a secret to rotate, the whole thing stalls until you get to it.

why gitmoot

A resumable DAG, not a fire-and-forget script.

A cron script that dies at the smoke check drops you back at square one, re-running the build you already waited on. A Gitmoot pipeline is a declared DAG of shell stages wired by needs: each stage is a real, attributed job with its own retries and timeout, and the run parks instead of dying when a stage returns blocked. Clear what it was waiting on and the same run picks up exactly where it stopped.

how you drive it

Prompt an agent, or run it yourself.

Same pipeline, two ways: talk to your coding agent in plain language, or drive the Gitmoot CLI directly.

You describe the project and ask your agent (which has the Gitmoot skill) to wire up a nightly pipeline. It proposes the shape, you tweak it, and from then on it runs itself and only comes back when a decision is yours:

you

I’m building brief: a little web app that turns long articles and PDFs into a few clean bullet points with GPT. It’s a Vite frontend, a small Node API, and it deploys to my VPS. I want it to ship itself every night. Can we wire that up with a Gitmoot pipeline?

@coordinator

For brief, a nightly pipeline wants four stages: build (install, then bundle the frontend and API), test (your Vitest suite, one retry for the flaky PDF-parse test), deploy (push the build to the VPS and restart the service), and smoke (hit /health and run one real summarize call, so we know GPT is actually wired up). Each waits on the one before it with needs. Want me to add anything before I declare it?

you

Add a lint step before test, and definitely keep that summarize smoke check. That’s the part that actually breaks in prod.

@coordinator

Done. I declared nightly-ship for me/brief (build → lint → test → deploy → smoke) on a nightly schedule and ran it tonight. Build, lint, test, and deploy passed. Then smoke came back blocked: the summarize check failed because brief’s OpenAI key hit its monthly quota. Bump the limit (about $20/mo), or skip tonight’s release?

usedgitmoot pipeline add --enablegitmoot pipeline rungitmoot job gates
you

Bump it. Go.

@coordinator

Cleared the gate. The parked run resumed on its own, the summarize smoke check passed, and brief is live and healthy. nightly-ship runs again tomorrow night; I’ll only wake you for a call that costs you something.

usedgitmoot job gates cleargitmoot pipeline resume
payoff

You sleep through everything but the one call.

The chores that used to eat your evenings now run themselves, every night, unattended. The only thing that ever reaches you is the one decision a script could never make: spend a little money, rotate a secret, or skip tonight. You wake up to a shipped release, or to a single, specific question.

variations

Same primitive, more shapes.

  • Drop the schedule block for an on-demand pipeline you trigger from a git push or your own webhook.
  • Add a lint or security-scan stage before deploy with its own needs, and the DAG runs independent stages in parallel.
  • Point repo at any of your projects so its stages and jobs are scoped and attributed to it.
  • List and manage everything with gitmoot pipeline list, enable, disable, and remove.