🚀 A fully decentralized, peer-to-peer version control system, powered by **libp2p, Merkle Trees, and cryptographic signing**.
## 🌟 Features
- Distributed Peer-to-Peer Repositories (No central server)
- Commit & Branching (Just like Git, but decentralized)
- Cryptographic Verification (GPG signatures ensure integrity)
- Efficient Storage (Using LevelDB & Delta Compression)
- Offline-first Syncing (Auto-syncs when peers connect)
## 📖 Getting Started
### Prerequisites
- Install [Python/Rust/Go] (choose your language)
- Install libp2p (`npm install libp2p` or `cargo add libp2p`)
### Setup
```bash
git clone https://github.com/yourusername/dgit.git
cd dgit
pip install -r requirements.txt # If using Python
cargo build # If using Rust
npm install # If using Node.js
dgit init
dgit add <file>
dgit commit -m "First decentralized commit"
dgit push <peer_address>
dgit/
│── src/ # Core source code
│ ├── cli/ # Command-line interface
│ ├── core/ # Core logic (commit, add, push, pull, etc.)
│ ├── network/ # P2P networking (libp2p, DHT, WebRTC)
│ ├── storage/ # Local storage management (LevelDB, RocksDB)
│ ├── security/ # GPG signing & verification
│ ├── utils/ # Helper functions
│── docs/ # Documentation
│ ├── architecture.md # System architecture
│ ├── git-internals.md # How Git works internally
│ ├── roadmap.md # Project milestones & progress
│── tests/ # Unit & integration tests
│── examples/ # Sample usage & tutorials
│── .gitignore # Ignore unnecessary files
│── README.md # Project overview
│── CONTRIBUTING.md # Guidelines for contributors
│── LICENSE # Open-source license
│── requirements.txt # Dependencies (for Python)
│── package.json # Dependencies (for JavaScript, if using Node.js)
│── Dockerfile # Containerization setup (optional)
- Local commit storage
- Basic CLI
- P2P networking (In Progress)
- Conflict resolution & CRDTs
- Full Git compatibility
Contributions are welcome! Read our CONTRIBUTING.md for guidelines.