The engine
Furca’s engine, furca-core, reads a repository in-process through
gitoxide and performs mutations
through the system git CLI. See
ADR 0001
for why the split falls where it does.
The same engine is exposed through three doors — the desktop app, the furca
CLI, and eventually an MCP server — each a thin wrapper with no logic of its
own. See
ADR 0002.
The release engine
Section titled “The release engine”Releasing is a crate of its own, furca-release, on top of furca-core: it
reads a repository’s release.toml, proposes the next version and checks
everything that has to agree before a tag - see
release. It reads git only through furca-core,
so the split above holds for it too. See
ADR 0006.