Skip to content

boxel-cli: add boxel realm milestone command#4751

Open
FadhlanR wants to merge 3 commits into
mainfrom
cs-10626-realm-milestone
Open

boxel-cli: add boxel realm milestone command#4751
FadhlanR wants to merge 3 commits into
mainfrom
cs-10626-realm-milestone

Conversation

@FadhlanR
Copy link
Copy Markdown
Contributor

@FadhlanR FadhlanR commented May 11, 2026

Summary

  • Ports the milestone command from the standalone cardstack/boxel-cli repo into the monorepo as boxel realm milestone
  • New command lives at packages/boxel-cli/src/commands/realm/milestone.ts, following the same pattern as realm history
  • Backed by the existing CheckpointManager methods (markMilestone, unmarkMilestone, getMilestones) — no library changes needed

Commands

boxel realm milestone <local-dir>                            # list all milestones
boxel realm milestone <local-dir> --mark <ref> --name <n>   # tag a checkpoint as milestone
boxel realm milestone <local-dir> --remove <ref>            # remove milestone tag
boxel realm milestone <local-dir> --json                    # machine-readable output

<ref> accepts a 1-based index, 7-char short hash, or full hash (via existing findCheckpoint).

Test plan

  • 18 new integration tests in tests/integration/realm-milestone.test.ts — all passing locally
  • Existing checkpoint-manager unit tests (28) still pass
  • pnpm tsc --noEmit clean

Closes CS-10626

🤖 Generated with Claude Code

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>
@FadhlanR FadhlanR force-pushed the cs-10626-realm-milestone branch from 628b92e to 8ca476d Compare May 12, 2026 06:56
@FadhlanR FadhlanR marked this pull request as ready for review May 12, 2026 07:51
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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();
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant