Skip to content
This repository was archived by the owner on Jun 4, 2026. It is now read-only.

Commit 4cda30f

Browse files
Chrisclaude
andcommitted
chore: bump to 1.1.0 + CHANGELOG entry
Minor-version bump (not patch) because PR #15 changes visible command names: `list` → `workspace-list`, `realms --add` → `realms add`, `boxel doctor` parent for repair/consolidate. Plus the two bug fixes @backspace caught on review. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent e9978af commit 4cda30f

2 files changed

Lines changed: 34 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,39 @@
22

33
All notable changes to `boxel-cli`. Format loosely follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versions follow [SemVer](https://semver.org/spec/v2.0.0.html).
44

5+
## 1.1.0 — 2026-04-20
6+
7+
Command-surface restructure plus the two regressions @backspace caught in his PR #15 review. Minor version bump because command names and default paths change in user-visible ways.
8+
9+
### New
10+
11+
- **`boxel doctor` parent command** groups maintenance tasks: `doctor repair-realm`, `doctor repair-realms`, `doctor consolidate-workspaces`, `doctor force-reindex`. Keeps the root command tree focused on day-to-day sync operations.
12+
- **`boxel workspace-list`** (formerly `boxel list`) lists Boxel workspaces the active profile can access. `boxel list` stays as a shorthand alias.
13+
- **`boxel realms <subcommand>`** — positional subcommands replace the old flag-based interface. `boxel realms add ./path`, `realms remove ./path`, `realms init`, `realms list`, `realms llm`. `boxel realms` with no args shows the list.
14+
- **Default workspace root at `~/boxel-workspaces/<domain>/<owner>/<realm>/`.** `boxel pull <url>` now works without a local-dir argument — it derives a canonical path from the URL and creates the directory. `doctor consolidate-workspaces` scans `~/boxel-workspaces/` by default.
15+
- Terminology discipline across docs and help text: **realm** = the server-side thing a URL points at; **workspace** = the Matrix-level organizational unit visible in the Boxel UI.
16+
17+
### Fixed
18+
19+
- **`--fix-index` was on by default, opposite of what PR #15 advertised.** Commander's `.option('--no-fix-index')` makes the underlying boolean default to `true`. Running `boxel doctor repair-realm <url>` silently rewrote `index.json` / `cards-grid.json` even on realms with customized index files (caught by @backspace on the Checkly-prerendered realm that lost its custom index). Flipped to `.option('--fix-index')` — now opt-in. Added regression tests that exercise commander parsing directly.
20+
- **Pull path extraction broke for published realms without an owner segment.** `https://realms-staging.stack.cards/boxel-homepage/` (1 segment) wrote to `.../boxel-homepage/boxel-homepage` (duplicated); `https://gabbro.staging.boxel.build/` (0 segments) wrote to `.../unknown-owner/workspace` (invented placeholders). The layout now adapts to the URL: 0 segments → `<host>/`, 1 segment → `<host>/<realm>/`, 2+ segments → `<host>/<owner>/<realm>/` (unchanged). `findManifestPaths()` walks 2-level layouts so legacy-path detection still works after the shape change.
21+
- **`track --push` showed "Push failed" with no detail on batch errors.** Now surfaces the underlying errors (e.g. `HTTP 413: Payload Too Large`) so you can tell a transient server problem from a size limit.
22+
- **`boxel realms remove <path>`** used to succeed silently on a path not in the config. Now errors with a clear "realm not found" message.
23+
- **Realm folder naming** now uses the full realm server hostname (no domain normalization). Prevents staging/production collisions when two realms share the owner/realm parts.
24+
25+
### Changed (breaking)
26+
27+
- **`boxel realms --add/--init/--remove/--llm` flag form removed.** PR #15 kept these as hidden aliases; per @backspace's review ("we might as well make a clean break as this is not officially released") they're gone. Use positional subcommands.
28+
- **`boxel doctor force-reindex`** replaces the top-level `touch` command semantics when used as a diagnostic; the plain `touch` command stays for everyday single-file re-indexing.
29+
30+
### For contributors
31+
32+
- New `test/commands/repair.test.ts` regression tests for commander flag parsing — catches the `--no-fix-index` default-inversion bug at the commander layer (the previous tests only checked the handler's `options.fixIndex ?? false` fallback, which ran after commander had already set the bad default).
33+
- New `test/lib/workspace-paths.test.ts` cases for 0-segment and 1-segment URLs.
34+
- Removed dead `realmsCommand()` legacy dispatcher and `RealmsOptions` interface from `src/commands/realms.ts`.
35+
36+
---
37+
538
## 1.0.2 — 2026-04-20
639

740
Low-risk ports from `@cardstack/boxel-cli` (the official package in the Boxel monorepo). No user-visible command changes; architectural alignment + mild speedups.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "boxel-cli",
3-
"version": "1.0.2",
3+
"version": "1.1.0",
44
"description": "CLI for bidirectional sync between local directories and Boxel workspaces",
55
"type": "module",
66
"main": "dist/index.js",

0 commit comments

Comments
 (0)