Repository navigation
superself 0.9.0
Superself 0.9.0: attach a directory as one artifact
Superself 0.9.0 lets a report attach a whole directory as one artifact — a bundle — instead of one --artifact flag per file. The record keeps the member list, and every read surface shows the bundle as one row with the one file a person is meant to open.
Attach a built site or a multi-file report in one flag
Run:
self report <work-id> "<summary>" --artifact dist [--entry <file>]The directory's files are copied into the store under one artifact id, relative paths preserved. The event records a manifest of every member, so artifact list and artifact search answer from the record without opening stored files, and a search hit on any member resolves to the bundle's single row:
a-4k2pq 2026-08-25 my-project w-xxxxx dist/ (12 files)
The entry is the file a person opens
self artifact open <id> opens the bundle's entry: the member --entry names, else index.html, index.md, or README.md at the directory's root, else a minimal index the CLI generates and marks as its own. The HTML views link the same entry.
Bounds and refusals that keep the shared store sound
The store is a git repository cloned to every machine the workspace syncs to, so ingestion refuses what would break a clone or misname the record: symlinks and special files inside the tree, member names that collide once case and Unicode normalization are folded, paths that cannot round-trip through the event log, and more than 1,000 brought files or 100 MiB (package the directory into one file instead). Single-file attachment and every existing record are unchanged.
Upgrade after publication
After the v0.9.0 release workflow finishes, install the published package:
npm install -g superself@0.9.0Evidence
- PR #363 adds directory attachment as one artifact bundle with an entry and an event-carried manifest.
- Case table is the reviewed design: 20 rules, 60 cells, one test per cell.
- Release policy defines the version, tag, and publication path.