boxel-cli: add boxel realm milestone command#4751
Conversation
Ports the milestone command from the standalone boxel-cli into the monorepo under `boxel realm milestone`. Exposes list, --mark, and --remove modes backed by the existing CheckpointManager methods, with --json output and 18 integration tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
628b92e to
8ca476d
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 21a6c246de
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (!(await manager.isInitialized())) { | ||
| return { ok: true, milestones: [] }; | ||
| } | ||
| const milestones = await manager.getMilestones(); |
There was a problem hiding this comment.
List all milestones instead of only latest 100
listMilestonesStep calls manager.getMilestones() without any way to override its internal cap (currently 100 checkpoints), so boxel realm milestone <local-dir> silently omits milestones on older commits in long-lived workspaces. Because this command is presented as listing milestones generally, users can miss existing milestone tags unless they happen to be in the newest 100 checkpoints; consider plumbing a limit through list mode (or removing the cap) so listing is complete/predictable.
Useful? React with 👍 / 👎.
Summary
milestonecommand from the standalonecardstack/boxel-clirepo into the monorepo asboxel realm milestonepackages/boxel-cli/src/commands/realm/milestone.ts, following the same pattern asrealm historyCheckpointManagermethods (markMilestone,unmarkMilestone,getMilestones) — no library changes neededCommands
<ref>accepts a 1-based index, 7-char short hash, or full hash (via existingfindCheckpoint).Test plan
tests/integration/realm-milestone.test.ts— all passing locallycheckpoint-managerunit tests (28) still passpnpm tsc --noEmitcleanCloses CS-10626
🤖 Generated with Claude Code