git clone https://github.com/novincode/dlman.git
cd dlman
pnpm install# Desktop app (dev mode)
pnpm tauri dev
# CLI
cargo run -p dlman-cli -- --help
# Build release
pnpm tauri builddlman/
├── apps/
│ ├── desktop/ # Tauri + React app
│ │ ├── src/ # React frontend
│ │ └── src-tauri/ # Rust backend
│ ├── cli/ # CLI application
│ └── extension/ # Browser extension
├── crates/
│ ├── dlman-core/ # Core download engine
│ └── dlman-types/ # Shared types
└── docs/ # Documentation
Frontend: React 18, TypeScript, Tailwind CSS, shadcn/ui, Zustand
Backend: Tauri v2, Rust, tokio, reqwest, SQLite (sqlx)
- Multi-segment parallel downloads
- Queue management with speed limits
- SQLite-based persistence
- Per-download speed limits
- Auto-retry failed downloads
- Browser extension
- Scheduled downloads
- Auto-updates
- Plugin system
- Torrent support
- TypeScript: strict mode, no
any - Rust: standard clippy lints
- Files < 300 lines preferred
- One component per file
# Rust tests
cargo test
# Type check frontend
cd apps/desktop && pnpm tsc --noEmitSee the Contributing Guide for detailed guidelines.
- Fork the repo
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a PR
- Architecture — System design
- Core Engine — Download engine internals
- CLI — CLI documentation
- Extension — Browser extension development
- AI Guidelines — For AI-assisted development