pipelines-starter
pipelines-starter is a data repo with seven ready-to-use pipelines: small, useful jobs that run on their own on your Mac or Linux machine, every day or every week, and tell you when something needs your attention. Install them as they are, or copy them as examples.
| Pipeline | What it does | Agent | Schedule |
|---|---|---|---|
site-checks | Checks your websites: HTTP errors, slow pages, TLS certificates about to expire. Alerts only when something is wrong. | — | daily |
stale-prs | Pull requests in your GitHub repos that nobody has touched for days. | — | weekdays |
issues-already-fixed | Open issues that a merged commit already references, so they are probably done. | — | weekly |
dev-machine-doctor | Disk space, the biggest developer caches, open ports and forgotten processes on your machine. Read-only. | — | weekly |
weekly-briefing | A plain-language summary of the week in your repos, for someone who doesn't read pull requests. | ✓ | Fridays |
docs-drift | Compares a repo's docs with its code and prepares fixes on a local branch. Never pushes. | ✓ | weekly |
news-digest | Reads your RSS feeds and YouTube channels and writes a digest with content ideas. | ✓ | daily |
Every pipeline is read-only by default: nothing pushes, merges, closes or deletes. Each one has its own README in the repo that explains every option.
What it costs
The four shell-only pipelines don't use AI and cost nothing. The three with an agent call the Anthropic API with your key and cap their spend per step (max_cost_usd). At API prices, with Sonnet, the starter's test runs cost about $0.25 per weekly briefing, $0.15 per news digest and $0.20–0.35 per docs review. To make them cheaper, switch an agent to model: haiku in agents/ (cheaper per token).
Quick start
1. Install the engine. It needs macOS, or Linux with systemd, plus Bun, a compatible Node on the PATH, git and jq; the pipelines with an agent also need an Anthropic API key. Follow Install on macOS or Install on Linux.
2. Get the starter. Click Use this template on GitHub to get your own copy, or clone it:
git clone https://github.com/startcat/pipelines-starter.git ~/pipelines-startercd ~/pipelines-startercp .env.example .env# API key for the agent pipelines, GitHub token, phone notifications3. Install the pipelines you want. Each one is a single command:
pipelines install site-checks --set urls="https://example.com"pipelines install stale-prs --set repos="your-org/your-repo"pipelines install issues-already-fixed --set repos="your-org/your-repo"pipelines install dev-machine-doctorpipelines install weekly-briefing --set repos="your-org/your-repo"pipelines install docs-drift --set repo_url="https://github.com/your-org/your-repo.git"pipelines install news-digest --set feeds="https://simonwillison.net/atom/everything/"install checks that your machine has everything the pipeline needs, saves your settings in .params.local.json (gitignored) and schedules it with launchd on macOS or a systemd user timer on Linux. To try a pipeline right now instead of waiting for its schedule, use run with the same --set options:
pipelines run site-checks --set urls="https://example.com"On Linux, set NTFY_TOPIC in .env: outside macOS, the default notification channel needs it. See Notifications.
Where things end up
| What | Where |
|---|---|
| Reports | reports/<pipeline>/latest.md, plus one file per day next to it |
| Your settings | .params.local.json (written by install --set) |
| Secrets | .env (ANTHROPIC_API_KEY, GITHUB_TOKEN and, optionally, NTFY_TOPIC) |
| Run history | .runs/, or browse it with pipelines web |
| Clones and work files of the agent pipelines | ~/Library/Application Support/pipelines/workspaces/<pipeline>/ on macOS, ~/.local/share/pipelines/workspaces/<pipeline>/ on Linux |
All of these are gitignored.
Notifications
Alert-style pipelines (site-checks, stale-prs, issues-already-fixed, dev-machine-doctor) only notify when there is something to look at. Digest-style ones (weekly-briefing, docs-drift, news-digest) notify every time they produce a report. All of them warn you if they stop running (stale_after). The three channels they can use are described in Notifications.
Day to day
pipelines status# last runs of every pipelinepipelines show <pipeline> <run-id># everything about one runpipelines web# local dashboard at http://127.0.0.1:7717pipelines uninstall <pipeline># stop scheduling it (keeps your settings and reports)To change a setting, run pipelines install <pipeline> --set key=value again: the other settings are kept. To change a schedule, edit triggers.cron in the pipeline's pipeline.yaml and run install again; Scheduling shows it step by step.
With Claude Code
The starter enables the engine's Claude Code plugin for everyone who clones it. Open the repo in Claude Code, accept the folder trust prompt, and ask in your own words: "I want a pipeline that tells me every Monday which PRs are stale", "move the weekly briefing to 08:00", "why did docs-drift fail?". The skills ask before installing, uninstalling or running anything, and never read .env. See Claude Code skills.
Make your own
Every pipeline in the starter is a plain pipeline.yaml you can copy and adapt. Your first pipeline walks you through writing one, and the pipeline.yaml reference documents every field. Check yours with pipelines validate.