remove the ghost export command - #279
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Category: improvement
User Impact: The
ghost exportcommand is removed; move a Ghost package by copying its.ghost/directory.Problem:
ghost exportproduced 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 intovalidate; it can return when a real distribution workflow exists.Validation:
pnpm build: passpnpm test: 209 passed (18 files)pnpm check: pass (biome, typecheck, packed-package, terminology, release tarball/workflows, vessel-light)exportin--help,--help --all, orghost manifestghost 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.ymlstamping, 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
registerExportCommandimport and registration.packages/ghost/src/commands/command-discovery.ts
Remove the
exportdiscovery 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
cpa.ghost/directory and drivevalidate/gather/pullwith--packageoutside a git repo (behavior preserved without the archive); delete tar helpers and thegunzipSyncimport.packages/ghost/test/tarball.test.ts
Deleted with the tarball writer.
README.md
Drop
ghost exportfrom the command list; rewrite "The Package Travels" around copying the.ghost/directory.packages/ghost/README.md
Drop
ghost exportfrom the command list.CLAUDE.md
Remove the
ghost exportrow from the command table (covers theAGENTS.mdsymlink).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