Upgrade Note
Bitloops has moved to a daemon-first architecture. This release intentionally breaks the older repo-local JSON configuration model.
What Changed
bitloops startnow owns default daemon-config bootstrap.- First-run telemetry consent now belongs to
bitloops startwhen that default daemon config is created. bitloops initnow bootstraps a project or subproject again.bitloops enableandbitloops disablenow toggle capture only.bitloops uninstallis now the command for machine-wide cleanup.bitloops statusnow reports daemon status.- Repo/session status moved to
bitloops checkpoints status. bitloops dashboardis now a browser launcher instead of the server command.- The always-on service is now the global user-level service
com.bitloops.daemon.
Removed Defaults
The older repo-local defaults are no longer used automatically:
config.jsonconfig.local.jsonsettings.jsonsettings.local.json.bitloops/stores/....bitloops/embeddings/....bitloops/tmp/....bitloops/metadata/...~/.bitloops/dashboard/bundle
There is no automatic migration and no silent legacy fallback.
New Configuration Model
Use:
- Global daemon config:
config.tomlin the platform config directory - Shared repo policy:
.bitloops.toml - Local repo override:
.bitloops.local.toml
Default path categories now follow platform app directories:
- Config directory: daemon config
- Data directory: relational DB, event DB, blob store
- Cache directory: embedding model downloads, dashboard bundle
- State directory: daemon runtime metadata and hook scratch files
What To Update
- Move daemon settings, store paths, provider credentials, and dashboard defaults into the global daemon config.
- Move repo capture policy into
.bitloops.toml. - Move local repo overrides into
.bitloops.local.toml. - Run
bitloops startinteractively on each machine, orbitloops start --create-default-config --telemetryin non-interactive setups, to create the default daemon config and default local store files. - Answer the telemetry prompt during that first
start, or pass an explicit telemetry flag. - Run
bitloops initin each repo or subproject to create.bitloops.local.toml, install hooks, and run the baseline sync. Usebitloops init --install-default-daemonif you want init to bootstrap the default daemon service first. - Use
bitloops enableandbitloops disableto toggle capture in project policy. - Use
bitloops uninstall --fullif you need to clear the new platform-directory installation completely.
Examples
Old shared repo JSON:
{
"settings": {
"stores": {
"relational": {
"sqlite_path": ".bitloops/stores/relational/relational.db"
}
}
}
}
New global daemon TOML:
[stores.relational]
sqlite_path = "/Users/alex/.local/share/bitloops/stores/relational/relational.db"
New shared repo policy TOML:
[capture]
enabled = true
strategy = "manual-commit"