fledge 0.16.0

Dev-lifecycle CLI — scaffolding, tasks, lanes, plugins, and more.
# Introduction

One Rust binary that runs the dev loop. Six pillars: scaffold, run, spec, AI, ship, extend. Plugins handle anything ecosystem-specific. Every command emits `--json` so an LLM can drive the same CLI you do.

## Why I built this

I kept setting up the same boilerplate across projects. CI workflows, linters, task runners, the works. Every new repo meant copy-pasting from the last one and fixing whatever broke. fledge started as a scaffolding tool and grew into a full dev lifecycle CLI because once you have a tool that understands your project structure, it makes sense to keep going.

In v0.15 the tool got smaller. Anything ecosystem-specific (lockfile parsers, GitHub clients, language toolchain probes) moved out to plugins. The core stays tight, you opt in to what you need.

## The six pillars

| Pillar | Commands | What it does |
|--------|----------|-------------|
| Scaffold | `templates` (`init`, `create`, `list`, `search`, `validate`, `publish`) | Start a project from a template, local or remote |
| Run | `run`, `lanes`, `watch` | Task runner, composable pipelines, file-watch reruns |
| Spec | `spec` | spec-sync. Modules declare their contract, AI uses it as context |
| AI | `ai`, `ask`, `review` | Provider/model selection, spec-aware Q&A, single and multi-model review |
| Ship | `work`, `release`, `changelog` | Branch and PR flow with AI-drafted bodies, version bump, tag, push |
| Extend | `plugins`, `config`, `introspect`, `completions`, `doctor` | Plugin protocol, global config, command-tree introspection, env health |

Start a project, run your tasks, evolve specs and code together, get AI to ask + review, ship to git/GitHub. Extend through plugins. That's the whole loop.

## The plugin layer

Three plugins extend fledge with commands that don't belong in every install. One command installs them all:

```bash
fledge plugins install --defaults
```

That gets you `checks`/`issues`/`prs` (GitHub), `deps`, and `metrics`. See the [Plugins page](./plugins.md) for the full set.

## Zero-config

It auto-detects your project type (Rust, Node, Go, Python, Ruby, Java, Swift) and generates sensible defaults. You don't need `fledge templates init` to get started, just `cd` into any existing project and run `fledge run test`. It works with zero config. When you want more control, `fledge run --init` generates a `fledge.toml` tailored to your stack.