Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,20 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co

## Build and Development Commands

This project uses **bun** as its package manager (see `bun.lock`). MSRV is **Rust 1.95**; frontend requires **Node 20.19+ or 22.12+** (Vite 8).

```bash
# Install frontend dependencies
npm install
bun install

# Run in development mode (starts both Vite dev server and Tauri)
npm run tauri dev
bun run tauri dev

# Build for production
npm run tauri build
bun run tauri build

# Type-check + bundle the frontend only
bun run build

# Run Rust tests (from src-tauri directory)
cd src-tauri && cargo test --workspace
Expand Down
21 changes: 13 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ RBitt (pronounced "rabbit") is a modern, cross-platform BitTorrent client built

### Protocol Support
- BitTorrent v1 (BEP 3)
- BitTorrent v2 (BEP 52)
- Hybrid v1/v2 torrents (BEP 47)
- Magnet links (BEP 9)
- Extension protocol (BEP 10) with `ut_metadata`
- Fast Extension (BEP 6)

> BitTorrent v2 (BEP 52) and hybrid v1/v2 torrents (BEP 47) are planned but not yet implemented.

### Peer Discovery
- HTTP(S) trackers with announce and scrape
Expand All @@ -25,7 +27,7 @@ RBitt (pronounced "rabbit") is a modern, cross-platform BitTorrent client built
### Storage
- Sparse file allocation
- Full preallocation mode
- SHA-1 (v1) and SHA-256 (v2) piece verification
- SHA-1 piece verification
- Multi-file torrent support

## Architecture
Expand All @@ -40,32 +42,35 @@ RBitt is built as a Rust workspace with the following crates:
| `oxidebt-tracker` | HTTP and UDP tracker clients |
| `oxidebt-dht` | Kademlia DHT implementation |
| `oxidebt-disk` | Disk I/O with verification |
| `oxidebt-cache` | Block/piece caching layer |
| `oxidebt-net` | PEX, LSD, UPnP, bandwidth limiting |
| `oxidebt-constants` | Shared protocol constants and tuning parameters |
| `rbitt` | Tauri application integrating all components |

## Building

### Prerequisites

- Rust 1.82+
- Node.js 18+
- Rust 1.95+
- Node.js 20.19+ or 22.12+ (required by Vite 8)
- [Bun](https://bun.sh/) (this project uses `bun.lock`)
- Platform-specific Tauri dependencies (see [Tauri Prerequisites](https://tauri.app/start/prerequisites/))

### Development

```bash
# Install frontend dependencies
npm install
bun install

# Run in development mode
npm run tauri dev
bun run tauri dev
```

### Production Build

```bash
# Build for production
npm run tauri build
bun run tauri build
```

## Usage
Expand Down
251 changes: 68 additions & 183 deletions bun.lock

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,16 @@
"@tauri-apps/plugin-opener": "^2",
"@tauri-apps/plugin-process": "^2",
"@tauri-apps/plugin-updater": "^2",
"gsap": "^3.13.0",
"react": "^18.3.1",
"react-dom": "^18.3.1"
"gsap": "^3.15.0",
"react": "^19.2.5",
"react-dom": "^19.2.5"
},
"devDependencies": {
"@types/react": "^18.3.1",
"@types/react-dom": "^18.3.1",
"@vitejs/plugin-react": "^4.3.4",
"typescript": "~5.6.2",
"vite": "^6.0.3",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^6.0.1",
"typescript": "~6.0.3",
"vite": "^8.0.9",
"@tauri-apps/cli": "^2"
}
}
Loading
Loading