Skip to content

remove the ghost export command - #279

Merged
nahiyankhan merged 1 commit into
mainfrom
remove-ghost-export
Sep 4, 2026
Merged

remove the ghost export command#279
nahiyankhan merged 1 commit into
mainfrom
remove-ghost-export

Conversation

@nahiyankhan

Copy link
Copy Markdown
Collaborator

Category: improvement
User Impact: The ghost export command is removed; move a Ghost package by copying its .ghost/ directory.
Problem: ghost export produced a standalone archive with a versioned schema (ghost.export/v1) that nothing reads: no import command, no registry, no in-repo or sibling consumer. It presented standalone distribution as a supported workflow while the real transport is the repo itself, and it carried a hand-rolled tar writer and a write-only metadata contract.
Solution: Remove the command, its archive format, and the private tarball module outright rather than deprecate. The package still travels with the repo or as a copied directory addressed with --package <dir>; docs and the skill bundle now describe that path. The locator audit was intentionally not migrated into validate; it can return when a real distribution workflow exists.

Validation:

  • pnpm build: pass
  • pnpm test: 209 passed (18 files)
  • pnpm check: pass (biome, typecheck, packed-package, terminology, release tarball/workflows, vessel-light)
  • Built CLI: no export in --help, --help --all, or ghost manifest
  • Remnant sweep for ghost export, ghost.export/v1, export.yml, tarball symbols: zero active hits (historical CHANGELOG entries retained)

Changeset: added (minor, per the preview policy that breaking changes ship in minors)

ghost Review: not run because this repo has no root .ghost/ package; the change removes CLI surface only.

File changes

packages/ghost/src/commands/export-command.ts
Deleted: the entire export command (archive creation, export.yml stamping, locator audit, --strict).

packages/ghost/src/scan/tarball.ts
Deleted: private dependency-free tar/gzip writer; export was its only consumer.

packages/ghost/src/cli.ts
Drop registerExportCommand import and registration.

packages/ghost/src/commands/command-discovery.ts
Remove the export discovery entry from help and the manifest command.

packages/ghost/test/cli.test.ts
Remove export expectations from help/manifest tests; delete the five export tests; rewrite the portability round-trip to cp a .ghost/ directory and drive validate/gather/pull with --package outside a git repo (behavior preserved without the archive); delete tar helpers and the gunzipSync import.

packages/ghost/test/tarball.test.ts
Deleted with the tarball writer.

README.md
Drop ghost export from the command list; rewrite "The Package Travels" around copying the .ghost/ directory.

packages/ghost/README.md
Drop ghost export from the command list.

CLAUDE.md
Remove the ghost export row from the command table (covers the AGENTS.md symlink).

docs/purposes.md
Remove the future Fleet row that named exports as its input.

packages/ghost/src/skill-bundle/SKILL.md
Drop export from the loop; "Receiving a ghost package" now starts from a copied directory.

packages/ghost/src/skill-bundle/references/schema.md
Remove the export command-behavior bullet.

packages/ghost/src/skill-bundle/references/materials.md
Bundling rationale now reads "travel with a copied package" instead of "travel through export".

.changeset/remove-ghost-export.md
Minor changeset naming the removal.

Screenshots/Demos: N/A

@nahiyankhan
nahiyankhan marked this pull request as ready for review September 4, 2026 14:38
@nahiyankhan
nahiyankhan merged commit 24dd7d8 into main Sep 4, 2026
6 checks passed
@nahiyankhan
nahiyankhan deleted the remove-ghost-export branch September 4, 2026 14:38
@github-actions github-actions Bot mentioned this pull request Sep 4, 2026
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