Stephenson-Software

Gardener — Development skill for Claude Code

Development community

Safety-gated CLI that dispatches Claude Code to align repos against conventions, or tend a whole fleet of repos unattended overnight via each one's own dev-loop skill.

How to install Gardener

This entry records only its repository, not the path inside it, so there is no exact command to give. Open Stephenson-Software/gardener and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Gardener does

Safety-gated CLI that dispatches Claude Code to align repos against conventions, or tend a whole fleet of repos unattended overnight via each one's own dev-loop skill.

Alternatives in Development

  • Ctf 24h Fleet — 24h unattended multi-target Web CTF fleet loop runner 1.1k ★
  • Overnight PRs — Autonomous overnight loop — verify issues against the codebase, close stale ones, ship PRs through /ship (bug 324 ★
  • Stewardship — This document defines the stewardship principles for the Claude Night Market ecosystem 222 ★

README

gardener

[![CI](https://github.com/dmccoystephenson/gardener/actions/workflows/ci.yml/badge.svg)](https://github.com/dmccoystephenson/gardener/actions/workflows/ci.yml)

`gardener` is a safety-gated Python CLI that dispatches Claude Code against a fleet of software repos, in two distinct ways:

  • align checks one target repo at a time against a conventions repo you supply — your own engineering conventions and alignment checklists, in a git repo gardener only ever reads — and, if authorized, fixes what's missing.
  • tend/garden/overnight make real, broader progress on a repo (or a whole opt-in list of them, unattended overnight) by dispatching that repo's own -dev-loop Claude Code skill — triage, implement, test, PR — never merging without an explicit, separate per-repo opt-in. Those skills are generated by `create-dev-loop`, gardener's open-source companion project; tend bootstraps one automatically if the target repo doesn't have one yet.

gardener's own job is orchestration and safety-gating, in plain Python. The actual reading/analysis/implementation judgment is delegated to a dispatched, safety-gated `claude` CLI invocation in every mode — gardener never itself decides what "aligned" means or what a fix should look like; it only decides *how much a dispatched Claude run is allowed to do about it*. See [Usage](#usage) below for the full command set.

Description

  • gardener align --repo : clones the target repo read-only, clones (or refreshes) a local cache of your conventions repo (the source of truth for what "aligned" means — gardener is only the tool that consumes it), builds a prompt combining that repo's ALIGNMENT_PROMPT.md with the target repo's identity and the requested mode's constraints, and dispatches one headless claude -p run to produce a gap checklist — or, if explicitly au