@@ -4,43 +4,82 @@ An AI-native version control system built in Rust. gpp replaces Git's
44commit-centric model with a continuous-capture architecture designed for a
55world where AI agents are first-class code contributors.
66
7- See [ ` CLAUDE.md ` ] ( CLAUDE.md ) for project context and [ ` docs/ ` ] ( docs/ ) for the
8- full specification (architecture, data model, CLI, protocols, roadmap).
7+ See [ ` CLAUDE.md ` ] ( CLAUDE.md ) for project context, [ ` docs/ ` ] ( docs/ ) for the
8+ full specification (architecture, data model, CLI, protocols, roadmap), and
9+ [ ` docs/book/ ` ] ( docs/book/ ) for the user guide + tutorials.
910
1011## Status
1112
12- ** Phase 1 (Timeline + Basic History)** — complete. See [ ` docs/ROADMAP.md ` ] ( docs/ROADMAP.md ) .
13+ ** All 9 phases (0–8) complete.** See [ ` docs/ROADMAP.md ` ] ( docs/ROADMAP.md )
14+ for the per-phase deliverables and documented deviations. 123 workspace
15+ tests pass; ` cargo clippy ` / ` cargo fmt ` clean. No stub crates remain.
1316
14- Implemented:
17+ | Layer | Crate | What's implemented |
18+ | ---| ---| ---|
19+ | Storage | ` gpp-core ` | Content-addressed store (BLAKE3 + zstd), ` Blob ` /` Tree ` , raw verified frame transfer |
20+ | Timeline | ` gpp-timeline ` | SQLite (WAL) capture, ` .gppignore ` , debounced watcher, pruning |
21+ | History | ` gpp-history ` | ` Changeset ` /` Intent ` /` Author ` , branch refs, promote, DAG walk |
22+ | Diff | ` gpp-diff ` | Line + ** tree-sitter semantic** diff (Rust/Python/TS/Go), rename/move detection |
23+ | Git bridge | ` gpp-git-bridge ` | ` git-import ` /` git-export ` /` git-bridge ` , SQLite hash map |
24+ | Graphex | ` gpp-graphex ` | Encrypted (age + AES-GCM) knowledge graph, tier-gated projection, query, lifecycle, audit |
25+ | SDK / MCP | ` gpp-sdk ` | ` AgentSession ` ; ` gpp mcp-server --stdio ` (JSON-RPC MCP) |
26+ | Trust | ` gpp-trust ` | Reputation scoring, status transitions, overrides, events |
27+ | Policy | ` gpp-policy ` | ` .policy ` TOML rules, promotion-time enforcement, built-in templates |
28+ | Cost | ` gpp-cost ` | Per-changeset token/$ records, budgets, efficiency |
29+ | Anomaly | ` gpp-anomaly ` | Scope/burst/size detection, resolution workflow |
30+ | Sync | ` gpp-sync ` | Noise_XX P2P; objects/refs/policies/graphex; fork-preserve |
31+ | Replay | ` gpp-replay ` | Reproducible environment snapshots + drift diff |
32+ | Review/RBAC/Notify | ` gpp-review ` ` gpp-rbac ` ` gpp-notify ` | Review lifecycle, roles + branch protection, events/inbox/HMAC webhooks |
33+ | Remote | ` gpp-remote ` | GitHub/GitLab/Bitbucket PR creation, enriched bodies, plain-Git push |
34+ | Relay | ` gpp-relay ` | Always-on sync hub binary + health endpoint + Dockerfile |
35+ | Clients | ` gpp-cli ` ` gpp-tui ` ` gpp-deps ` | Full CLI, ratatui TUI (` gpp ui ` ), dependency intel (` gpp deps ` ) |
1536
16- - ` gpp-core ` — content-addressed object store (BLAKE3 + zstd); ` Blob ` , ` Tree ` ,
17- ` Changeset ` , ` Intent ` object types; atomic idempotent writes; hash-verified reads.
18- - ` gpp-timeline ` — SQLite (WAL) timeline DB, working-tree scanner, ` .gppignore `
19- + configured ignore matching, debounced ` notify ` watcher, retention pruning.
20- - ` gpp-history ` — ` Changeset ` /` Intent ` /` Author ` objects, branch ` RefStore ` ,
21- promote (timeline → changeset), changeset-DAG walk.
22- - ` gpp-diff ` — line-based unified diff + stats (semantic diff is Phase 2).
23- - ` gpp-cli ` — the ` gpp ` binary: ` init ` , ` status ` , ` config ` , ` timeline `
24- (list/watch/search/prune/export), ` promote ` , ` log ` , ` diff ` , ` branch ` .
25- - CI: ` cargo fmt ` , ` cargo clippy -D warnings ` , ` cargo test ` .
37+ Also: ` extensions/{gh-gpp,vscode-gpp,neovim-gpp} ` , GitHub Actions +
38+ GitLab CI templates, ` deploy/ ` Docker images, ` packaging/ ` Homebrew.
2639
27- Deferred to later phases (rejected with a clear message if invoked): semantic
28- diff, ` promote --interactive/--auto-summarize/--sign ` , Git bridge, AI features.
29- The remaining workspace crates are compiling stubs filled in by later phases .
40+ Documented follow-ups (recorded in the ROADMAP, not silently skipped):
41+ live registry/CVE/license APIs, native PyO3/napi bindings, bidirectional
42+ platform-review polling, apt/dpkg packages, passphrase-wrapped master key .
3043
31- ## Build
44+ ## Install
45+
46+ ``` bash
47+ cargo install --git https://github.com/gpp-vcs/gpp gpp-cli # the `gpp` binary
48+ cargo install --git https://github.com/gpp-vcs/gpp gpp-relay # relay node
49+ ```
50+
51+ ## Build & test
3252
3353``` bash
3454cargo build --release
3555cargo test --workspace
56+ cargo bench -p gpp-core -p gpp-diff # criterion perf suite
57+ ```
58+
59+ ## Try it
3660
37- # Try it (Phase 1 solo-dev flow)
38- cargo run --bin gpp -- init --graphex
61+ ``` bash
62+ # Solo-dev flow
63+ gpp init --graphex .
3964echo " fn main() {}" > main.rs
40- cargo run --bin gpp -- timeline # see continuous capture
41- cargo run --bin gpp -- promote -m " first cut" --intent feature
42- cargo run --bin gpp -- log --oneline
43- cargo run --bin gpp -- diff
44- cargo run --bin gpp -- branch create feature/x
45- cargo run --bin gpp -- status
65+ gpp timeline # continuous capture
66+ gpp promote -m " first cut" --intent feature
67+ gpp log --oneline
68+ gpp diff HEAD # semantic diff
69+
70+ # AI-native: connect an agent over MCP
71+ gpp mcp-server --stdio
72+
73+ # Governance
74+ gpp policy template secrets-scan
75+ gpp trust show
76+ gpp audit --include-cost --include-graphex
77+
78+ # Decentralized: sync two repos over Noise
79+ gpp sync serve 127.0.0.1:9473 # on peer A
80+ gpp sync add a 127.0.0.1:9473 && gpp sync # on peer B
81+
82+ # GitHub-compatible
83+ gpp remote setup --platform github --repository acme/webapp
84+ gpp remote pr-create --base main
4685```
0 commit comments