Skip to content

chore: set up Entire for AI session checkpointing - #502

Merged
stackptr merged 5 commits into
mainfrom
chore-setup-entire
Jun 4, 2026
Merged

stackptr merged 5 commits into
mainfrom
chore-setup-entire

Conversation

@stackptr

@stackptr stackptr commented Jun 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds pkgs.entire to the devShell and to home.packages for all non-lightweight hosts via a new rc.entire.enable option in modules/home/scm.nix
  • Adds .entire/settings.json configuring checkpoints to push to the private stackptr/checkpoints repo instead of this public repo
  • Wires Entire's Claude Code hooks into .claude/settings.json (session lifecycle) and .claude/agents/entire-search.md (search subagent)
  • Updates the devShell shellHook to run entire enable -y --agent claude-code after pre-commit setup, keeping Entire's git hooks intact if pre-commit ever reinstalls its own hooks
  • Updates CLAUDE.md with direnv exec . entire <cmd> pattern for agent sessions in Zed

Testing after merge

  1. Switch the system config to get entire on PATH:

    nh darwin switch .#lobtop
  2. Verify the install and configuration:

    entire version
    entire status --detailed
  3. Start a Claude Code session in this repo, make some changes, and commit. Entire will prompt to link the session to the commit — accept it, then check:

    entire checkpoint list
  4. Push and verify the checkpoint branch landed in stackptr/checkpoints (not in this repo) — confirming the checkpoint remote is working.

  5. On a second device, pull and run entire checkpoint list to confirm cross-device sync.

Note: There is a known open bug (entireio/cli#800) where checkpoint_remote silently falls back to origin in some cases. Step 4 verifies this is working correctly. The bug appears to affect cross-owner remotes only — since both this repo and the checkpoint repo are under stackptr, it should work.

🤖 Generated with Claude Code

stackptr and others added 4 commits June 3, 2026 15:51
@stackptr

stackptr commented Jun 4, 2026

Copy link
Copy Markdown
Owner Author

Note: The devShell includes pkgs.entire unconditionally, so entire enable in the shellHook will actually succeed on lightweight hosts (not just fail silently) — installing git hooks that only function inside the devShell on those hosts. Three options to consider:

  1. Leave it as-is — mostly harmless, hooks on lightweight hosts are inert outside the devShell
  2. Guard with a settings check — e.g. jq -e '.enabled' .entire/settings.json && entire enable ... to skip on hosts where Entire isn't configured
  3. Remove pkgs.entire from the devShell — rely on the system-wide install; lightweight hosts naturally skip entire enable since it won't be on PATH, but direnv exec . entire won't work before the first nh darwin switch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 21c3b5e7b0fa
@stackptr
stackptr merged commit 992ca49 into main Jun 4, 2026
5 checks passed
@stackptr stackptr mentioned this pull request Sep 3, 2026
1 of 2 tasks
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