This directory contains the complete specification for bit, organized by feature area.
- Overview -- Context, vision, design philosophy, and comparisons with alternatives
- Architecture -- Directory structure, module layout, IO safety, performance, subdirectory support
- Init -- Repository initialization, bare init, separated repos, git configuration
- File Tracking -- Metadata file format, file handling, CLI command mapping
- Modes and CAS -- Lite/solid mode configuration, content-addressed store, config command, index invariant
- Content-Defined Chunking -- FastCDC algorithm for efficient large-file deduplication
- Remotes -- Remote types, device resolution, remote state classification, upstream tracking
- Push and Pull -- Sync architecture, transport strategies, unified push/pull, seam pattern
- Remote Workspace -- Remote-targeted commands (
@<remote>/--remote) - Metadata-Only Remotes -- Git-native remotes, metadata-only layout
- Verify and Repair -- Proof of possession, verification, repair, fsck
- Conflict Resolution -- Merge conflicts, remote divergence handling
- Git Compatibility -- Git executable router, alias expansion, passthrough, repo discovery
- Git Test Suite -- Git shim, junction mode, test results
- Binary File Test Suite -- Binary-specific tests: classification, metadata, push/pull, merge, verify
- Binary Test Traceability -- Git source → bit test mapping for extraction and validation
- Git Import -- Converting git repos to bit repos
- Git Export -- Converting bit repos back to git repos
- Submodule Support -- Git and bit subrepos, two-flow architecture
- Design Decisions -- Architectural choices, guardrails, deliberate non-features
- Implementation Status -- Current state, module map, test infrastructure