Beagle CRDT SCM outer interface
7 days ago
- #git-alternatives
- #code-management
- #version-control
- Git's CLI is complex with overlapping commands and options, limiting productivity.
- SCM fundamentally moves changes between worktrees and repos, but git's system is overly complex with 36 potential data maneuvers.
- Git's codebase is large, comparable to a general-purpose database, but lacks advanced querying capabilities.
- Branches can become stale without an issue tracker, and LLMs exacerbate this by reimplementing things imperfectly.
- Overlays allow splitting a worktree into distinct layers (e.g., code, prompts, configs) for flexible management.
- Beagle is a database for code, storing ASTs, enabling complex querying and version control of sources and text.
- Beagle's model includes projects, branches, twigs, and overlays, differing from git's structure.
- Beagle's core commands (GET, POST, PUT, DELETE) resemble HTTP verbs, with a URI-based syntax for flexibility.
- Beagle uses URIs for global referencing, allowing version control of entire working systems.
- Twigs in Beagle are lighter than git branches, facilitating cheaper transient branching for developers and AI.
- Beagle's commands enable blending branches or twigs, with CRDT merges being deterministic and non-intrusive.
- Beagle's porcelain layer simplifies everyday workflows with commands like 'get', 'post', and 'put'.
- Beagle's AST storage allows for advanced code manipulation and search, reducing busywork for users and LLMs.
- Queries in Beagle can target specific symbols, functions, or changes, providing more accuracy than grep.
- Beagle's RDX format and codecs enable flexible import/export of files, supporting various code navigation needs.