Context
sideshow init --scope project landed on main (b9394f7). This distributes pack artifacts to all subrepos listed in repos.yaml. The first real pack is beads-config — distributes bd hooks, rules, CLAUDE.md sections, symlinks, and gitignore entries.
What to test
An aae-orc checkout with mixed subrepo state:
- Some repos have existing
.beads symlinks and .gitignore entries (manually created)
- switchboard has a full
_bmad/ install (68 commands, _bmad-custom/, _bmad-output/)
- ThreeDoors has
.claude/settings.json with a PreToolUse hook
- Most repos have hand-authored
CLAUDE.md files
- Some repos (ai, ourbot, akey, director) may have minimal or no
.claude/ setup
Steps
1. Update sideshow
cd sideshow
git pull
go build -o sideshow ./cmd/sideshow/
# or: brew upgrade sideshow (once tap CI completes)
2. Install the beads-config pack
cd /path/to/aae-orc
./sideshow/sideshow install beads-config --from _packs/beads-config --yes --no-permissions
./sideshow/sideshow list # should show bmad + beads-config
3. Dry-run first
./sideshow/sideshow init --scope project --dry-run
Check:
4. Apply for real
./sideshow/sideshow init --scope project
Check per artifact type:
5. Mixed-state edge cases
6. Idempotency
./sideshow/sideshow init --scope project # run again
7. Start a Claude session in a subrepo
cd forestage # or any subrepo
# start a new Claude Code session
8. Registry verification
cat ~/.local/share/sideshow/registry.yaml
Failure reporting
If anything behaves unexpectedly, report:
- Which step failed
- The exact command output
- The state of the affected file before and after (if applicable)
git diff in the affected subrepo
Files of interest
| File |
Purpose |
_packs/beads-config/pack.yaml |
Pack manifest with distribute section |
.sideshow/project.yaml |
Project identity (UUID) |
repos.yaml |
Subrepo registry |
~/.local/share/sideshow/registry.yaml |
Distribution ledger |
Context
sideshow init --scope projectlanded on main (b9394f7). This distributes pack artifacts to all subrepos listed inrepos.yaml. The first real pack isbeads-config— distributes bd hooks, rules, CLAUDE.md sections, symlinks, and gitignore entries.What to test
An aae-orc checkout with mixed subrepo state:
.beadssymlinks and.gitignoreentries (manually created)_bmad/install (68 commands,_bmad-custom/,_bmad-output/).claude/settings.jsonwith aPreToolUsehookCLAUDE.mdfiles.claude/setupSteps
1. Update sideshow
2. Install the beads-config pack
3. Dry-run first
Check:
.beadssymlinks show-(skipped, already correct).gitignoreentries show-(skipped, already present)git statusafter)4. Apply for real
Check per artifact type:
.claude/rules/task-workflow.md): Created in each repo with<!-- managed by sideshow:beads-config:1.0.0 -->marker as first line.claude/settings.json): Created or merged withSessionStartandPreCompacthooks in Claude Code's nested format (matcher+hooksarray)<!-- sideshow:beads-tracker:begin -->and<!-- sideshow:beads-tracker:end -->markers. Existing content preserved..beads): Skipped where already correct, created where missing.beads): Skipped where already present, appended where missing5. Mixed-state edge cases
settings.jsonshould have BOTH its existingPreToolUsehook AND the newSessionStart/PreCompacthooks. Permissions section untouched._bmad/,_bmad-custom/,_bmad-output/dirs untouched. New beads artifacts added alongside.6. Idempotency
./sideshow/sideshow init --scope project # run againsettings.jsonnot bloated with repeated entries7. Start a Claude session in a subrepo
bd primefires on session start (from the hook)bd ready,bd show, etc. (symlink works)8. Registry verification
cat ~/.local/share/sideshow/registry.yamlprojects:section exists with UUID matching.sideshow/project.yamlFailure reporting
If anything behaves unexpectedly, report:
git diffin the affected subrepoFiles of interest
_packs/beads-config/pack.yaml.sideshow/project.yamlrepos.yaml~/.local/share/sideshow/registry.yaml