ref:main

anvil milestone — promote to top-level command #13

closed Opened by cole.christensen@gmail.com

Links

No links yet.

Problem

Milestone management is buried under `issue`: `anvil issue milestones` (list), `anvil issue create-milestone`. There’s no `anvil milestone view`, `update`, `delete`, `close`, `reopen`. Discoverability is poor — `anvil –help` doesn’t mention milestones.

Proposal

Promote `milestone` to a top-level subcommand alongside `issue` / `pr` / `epic`:

``` anvil milestone list [REPO] anvil milestone view anvil milestone create –title … [–description …] [–due …] anvil milestone edit [–title …] [–description …] [–due …] anvil milestone close anvil milestone reopen anvil milestone delete ```

Keep `anvil issue milestones` and `anvil issue create-milestone` as deprecated aliases for backward compat (one release cycle).

Acceptance criteria

  • Top-level `anvil milestone` exists with the verbs above
  • Existing `issue milestones` / `issue create-milestone` still work but emit a deprecation note
  • Tests cover both paths

Origin

CLI gap audit — surface fragmentation.

colechristensen cole.christensen@gmail.com commented 2026-07-26 20:08

Implemented — shipped across commits 0430ea2 and 31f84b1 (“feat(cli): add board list, milestone list/view, …”).

Verified on main: milestone is a top-level command with the full verb set — list, view, create, edit, close, reopen, delete.

The backward-compat requirement is met: anvil issue milestones and anvil issue create-milestone still work and now emit deprecation notices pointing at the new commands (“anvil issue milestones is deprecated; use anvil milestone list instead.”). Tests cover both paths.