Prerequisites
Rust Toolchain
RTK requires Rust 1.70 or later (2021 edition).1
Install Rust
Install Rust using rustup:
2
Verify installation
Confirm Rust and Cargo are installed:
3
Update toolchain (optional)
If you already have Rust, update to the latest version:
System Dependencies
RTK usesrusqlite with the bundled feature, so no external SQLite installation is required.
Platform-specific requirements:
-
macOS: Xcode Command Line Tools
-
Linux: gcc, pkg-config
-
Windows: MSVC or GNU toolchain via rustup
Development Builds
Quick Build
Build RTK for local development:Development Build Profile
Debug builds include:- Debug symbols for debugging
- No optimizations (fast compilation)
- Runtime assertions enabled
- Larger binary size (~10-15 MB)
Running Without Installing
Test RTK without installing:Local Installation
Install the development build to~/.cargo/bin/:
Local installs override crates.io versions. Uninstall with
cargo uninstall rtk.Release Builds
Optimized Build
Build RTK with full optimizations:Release Profile Configuration
FromCargo.toml (lines 34-39):
- Binary size: ~4.1 MB (stripped)
- Startup time: <10ms
- Memory: 2-5 MB typical usage
- Optimization: Maximum runtime performance
Build Commands Reference
From CLAUDE.md
Quality Checks
Run quality gates before committing:If you have RTK installed, prefer
rtk cargo <cmd> for token-optimized output (60-90% reduction).Cross-Compilation
Linux x86_64 to ARM64
macOS Universal Binary
Windows from Linux (via MinGW)
Package Building
DEB Package (Debian/Ubuntu)
1
Install cargo-deb
2
Build DEB package
target/debian/rtk_<version>_<arch>.deb3
Install DEB package
RPM Package (Fedora/RHEL)
1
Install cargo-generate-rpm
2
Build release binary first
3
Generate RPM package
target/generate-rpm/rtk-<version>.<arch>.rpm4
Install RPM package
Package configurations are defined in
Cargo.toml under [package.metadata.deb] and [package.metadata.generate-rpm].Build Performance Tips
Speed Up Compilation
-
Use a faster linker:
-
Incremental compilation (default in debug mode):
-
Parallel jobs:
Reduce Binary Size
The release profile already optimizes for size. Additional options:Troubleshooting
Compilation Errors
Rust version too old:Clean Builds
Remove build artifacts and start fresh:Verify Binary
Check the built binary:CI/CD Builds
RTK uses GitHub Actions for automated builds:- Platforms: macOS, Linux (x86_64 + ARM64), Windows
- Workflow:
.github/workflows/release.yml - Artifacts: Binaries, DEB/RPM packages, checksums
- Triggers: Version tags (
v*)
Next Steps
- Testing Guide - Run tests and verify changes
- Architecture - Understand the codebase structure
- Adding Commands - Implement new filters
