edisyl pack context
PACK.md is a pack’s standing guidance. Every pack has one from creation; empty content means nothing has been written yet. It is read whole into the pack’s ask routing and deep navigation before the first decision, so it is never retrieved, ranked, or partially matched.
For what to put in it and how to keep it current, see Steering with PACK.md.
edisyl pack context get <pack> [--out <path>]edisyl pack context set <pack> --file <path|->edisyl pack context edit <pack>edisyl pack context history <pack> [--content] [--limit <n>] [--all]edisyl pack context revert <pack> <revision-id>Access
Section titled “Access”| Command | Access needed |
|---|---|
get |
read access to the pack |
set, edit, history, revert |
manage_pack (owner) |
Prints the content on its own, so redirection works:
edisyl pack context get <pack> > PACK.mdedisyl pack context get <pack> --out PACK.md| Flag | Behavior |
|---|---|
--out <path> |
Write to a file instead of stdout. |
-j |
Print the file’s metadata alongside the content. |
-j returns packId, content, updatedById, and updatedAt. That updatedAt is the value set --if-unmodified-since takes.
Replaces the pack’s guidance with the contents of a file, or of stdin when --file is -. The whole file is written each time, and the cap is 10,000 characters.
edisyl pack context set <pack> --file PACK.mdcat PACK.md | edisyl pack context set <pack> --file -| Flag | Behavior |
|---|---|
--file <path|-> |
Required. The new content, or - for stdin. |
--if-unmodified-since <RFC3339> |
Refuse the write if PACK.md changed since this updatedAt. Take it from get -j. |
--if-absent |
Refuse the write if PACK.md has been written by now. The precondition for a file you read as empty. |
Writing empty content empties the file; it does not delete it. Without a precondition flag, set overwrites whatever is there, including a write that landed since you read.
Opens the current guidance in $VISUAL (or $EDITOR, falling back to vi) and writes it back when the editor exits cleanly. It takes no flags.
The save is conditional on the version that was opened, so edit is get plus set --if-unmodified-since in one step. Opening a pack whose PACK.md has never been written conditions the save on it still being unwritten instead.
Leaving the content unchanged writes nothing and records no revision.
Concurrency
Section titled “Concurrency”A pack’s own curator can write PACK.md during a teach, so a concurrent write is normal rather than exceptional. Both edit and a conditioned set refuse the save instead of discarding the other write, and edit leaves your draft on disk with its path named in the error, so nothing typed is lost.
history
Section titled “history”Every write records a revision: who wrote it, when, and where it came from. Newest first.
edisyl pack context history <pack>edisyl pack context history <pack> --content --all| Flag | Behavior |
|---|---|
--content |
Print each revision’s full text rather than a truncated preview. |
--limit <n> |
Revisions to show (default 100). |
--all |
Walk the whole changelog instead of one page. |
Each revision carries a source:
source |
Wrote it |
|---|---|
edited |
A hand edit: set or edit. |
taught |
The pack’s curator, during a teach. |
pruned |
The curator trimming the file. |
reverted |
A revert. |
imported |
The file arrived with pack import. |
Under -j, each revision has id, packId, content, createdAt, createdById, createdByName, and source, alongside hasMore and nextCursor for paging.
revert
Section titled “revert”Restores an earlier version by writing its content forward as a new revision, so history stays append-only and undoing a bad line never erases the evidence that it was there.
edisyl pack context history <pack> # take the revision idedisyl pack context revert <pack> <revision-id>Was this page helpful?
Thanks for the feedback.
