unch is entirely local. Remote indexing through GitHub Actions is an optional layer on top.
Stay local by default
You only need CI when you want a shared published state for the repository.
Warm restores
Published remote state includes
filehashes.db, so warm reindex paths can reuse the same file-hash cache.Latest compatible state
unch search and unch remote sync restore only state that matches the local binary schema.When remote indexing helps
- Multiple people search the same repository
- You want the shared index to stay current without manual local reindexing
- You want CI to publish one canonical snapshot for the repo state
How the workflow works
What gets published
The remote workflow publishes:index.dbmanifest.jsonfilehashes.db
Local reindex behavior
Runningunch index locally on a repository that is bound to remote CI detaches the manifest from remote mode and switches it back to local-only state.
After a local reindex, run unch bind ci <github-repo-url> again if you want that checkout to follow remote updates.