Cargo Mate
A Rust development companion that enhances cargo with intelligent workflows, state management, performance optimization, and comprehensive project monitoring.
Table of Contents
π Installation
Option 1: Quick & Dirty Installer (Recommended - Works Everywhere... in Theory)
curl -sSL https://get.cargo.do/mate | bash
β
No compilation needed, auto-detects platform, handles all dependencies
Option 2: Control & Freaky (Direct Download - Choose Your Platform and Speed)
wget https://get.cargo.do/linux-x86-64.tar.gz -O cargo-mate-linux-x86-64.tar.gz
tar -xzf cargo-mate-linux-x86-64.tar.gz
cd cargo-mate-linux-x86_64
sudo ./install.sh
wget https://get.cargo.do/linux-x86-64-musl.tar.gz -O cargo-mate-linux-x86-64-musl.tar.gz
tar -xzf cargo-mate-linux-x86-64-musl.tar.gz
cd cargo-mate-linux-x86_64-musl
sudo ./install.sh
wget https://get.cargo.do/linux-arm64.tar.gz -O cargo-mate-linux-arm64.tar.gz
tar -xzf cargo-mate-linux-arm64.tar.gz
cd cargo-mate-linux-aarch64
sudo ./install.sh
wget https://get.cargo.do/linux-arm64-musl.tar.gz -O cargo-mate-linux-arm64-musl.tar.gz
tar -xzf cargo-mate-linux-arm64-musl.tar.gz
cd cargo-mate-linux-aarch64-musl
sudo ./install.sh
wget https://get.cargo.do/macos-x86-64.tar.gz -O cargo-mate-macos-x86-64.tar.gz
tar -xzf cargo-mate-macos-x86-64.tar.gz
cd cargo-mate-macos-x86_64
sudo ./install.sh
wget https://get.cargo.do/macos-arm64.tar.gz -O cargo-mate-macos-arm64.tar.gz
tar -xzf cargo-mate-macos-arm64.tar.gz
cd cargo-mate-macos-aarch64
sudo ./install.sh
wget https://get.cargo.do/windows-x86-64.tar.gz -O cargo-mate-windows-x86-64.tar.gz
tar -xzf cargo-mate-windows-x86-64.tar.gz
cd cargo-mate-windows-x86_64
wget https://get.cargo.do/windows-i686.tar.gz -O cargo-mate-windows-i686.tar.gz
tar -xzf cargo-mate-windows-i686.tar.gz
cd cargo-mate-windows-i686
wget https://get.cargo.do/latest-musl.tar.gz -O cargo-mate-latest-musl.tar.gz
tar -xzf cargo-mate-latest-musl.tar.gz
cd cargo-mate-latest-musl
sudo ./install.sh
```bash
cargo install cargo-mate
cm install && cm activate
β οΈ Note: 20+ minute build time. Requires C compiler/linker. If you get "linker cc not found", use Option 1 or 2 instead.
Troubleshooting
- "linker cc not found": Install build-essential first, or use the curl/wget installers
- "GLIBC_2.32 not found": Use the universal installer (Option 1) which auto-selects compatible version
- Behind firewall: Use Option 2 to download manually
Version Commands
cm version cm version init [<ver>] cm version info cm version increment <type> cm version set <version> cm version history cm version update-cargo cm version config enable cm version config disable cm version config policy cm version config show
cargo publish and cargo build auto version
View Commands
cm view cm view errors cm view artifacts cm view scripts cm view history cm view checklist cm view all cm view latest cm view open
Captain's Log Commands (Natural language build notes with automatic tagging and search.)
cm log cm log add <message> cm log search <query> cm log timeline <days> cm log export <path> cm log analyze
Journey Commands
cm journey cm journey record <name> cm journey play <name> cm journey list cm journey export <name> cm journey import <path> cm journey publish <name> cm journey download <id> cm journey search <query> cm journey published
Anchor Commands
cm anchor cm anchor save <name> cm anchor restore <name> cm anchor list cm anchor show <name> cm anchor diff <name> cm anchor auto <name> cm anchor stop <name>
Tide Commands
cm tide cm tide show cm tide analyze cm tide export <path>
Scrub Commands
cm scrub run --dry-run cm scrub run -v cm scrub run -s /home cm scrub run -r web cm scrub run --min-depth 2 --max-depth 5
Map Commands
cm map cm map show cm map analyze cm map export <path> cm map path <from> <to>
Mutiny Commands
cm mutiny cm mutiny activate <reason> cm mutiny deactivate cm mutiny allow-warnings cm mutiny skip-tests cm mutiny force cm mutiny yolo cm mutiny status
Config Commands
cm config cm config set <key> <val> cm config get <key> cm config list cm config init cm config shortcut <name> cm config hook <type>
Optimize Commands
cm optimize cm optimize aggressive cm optimize balanced cm optimize conservative cm optimize custom cm optimize status cm optimize recommendations cm optimize restore
Checklist Commands
cm checklist cm checklist show cm checklist list cm checklist add <item> cm checklist done <items> cm checklist clear [target]
WTF Commands (CargoMate AI - Pro only)
cm wtf cm wtf ask <question> cm wtf er [count] cm wtf checklist [limit] cm wtf list [limit] cm wtf show <id> cm wtf history [limit]
cm wtf ollama enable <model> cm wtf ollama disable cm wtf ollama status cm wtf ollama models
Tool Commands
cm tool cm tool list cm tool help <name> cm tool run <name> [args]
cm tool bench-diff --from <commit> --to <commit> --threshold <percent>
cm tool dep-audit --strict --check-security --licenses "MIT,Apache-2.0"
cm tool test-gen --file <path> --type <unit|integration|property>
SCAT Commands (Source Code Obfuscation Tool) STILL UNDER DEVELOPMENT
cm scat cm scat names <PATH> cm scat code <PATH> cm scat strings <PATH> cm scat pack <INPUT> <OUTPUT> cm scat unpack <INPUT> <MAP>
cm scat names src/ --map name_mapping.json --sequential
cm scat code src/ --preserve-pub --min-len 3 --map code_mapping.json
cm scat strings src/ --key "contest_key" --map strings.json
cm scat pack src/ contest.bundle --compress
cm scat unpack obfuscated/ name_mapping.json --output original/
Strip Commands (Code Cleaning & Optimization)
cm strip <INPUT> cm strip --tease cm strip <INPUT> -o <FILE> cm strip <INPUT> -r cm strip <INPUT> -b cm strip <INPUT> -a cm strip <INPUT> --minify cm strip <INPUT> --strip-attrs cm strip <INPUT> --strip-docs
cm strip src/main.rs --output main.stripped.rs
cm strip src/ -r --aggressive --backup
cm strip src/ --recursive --strip-docs --minify
cm strip src/main.rs --force --output src/main.rs
General Commands
cm register [--license-key <key>] [--status] [--remaining] cm init cm install cm activate cm checklist cm history [<kind>] [<limit>] cm idea <idea_text> cm debug cm user cm --help cm --version
Project Configuration (.cg)
[project]
name = "my-project"
default_journey = "build"
auto_checklist = true
[version]
auto_increment = true
increment_policy = "patch"
[shortcuts]
build = "build --release"
test = "test --all"
Global Configuration (~/.shipwreck/config.toml)
[ui]
colors = true
verbose = false
[performance]
parallel_jobs = 4
incremental = true
Some Examples
Development Workflow
cm anchor save "pre-refactor"
cm journey record "dev-workflow"
cargo check
cargo test
cargo build --release
cm journey play "dev-workflow"
Performance Optimization
cm optimize recommendations
cm optimize balanced
cm tide show
Version Management
cm version init 1.0.0
cargo build cargo test
cm version increment minor
π’ Cargo Mate
- π’ Your project is a ship
- β Anchors save your position
- π Tide charts track the flow
- πΊοΈ Maps show the territory
- π΄ββ οΈ Mutiny overrides the captain
- π Captain's log records the journey
- π’ Auto-versioning keeps your ship on course
- π Build optimization gives you the wind in your sails
π License
This project is licensed
For more information, visit: cargo.do/license
Built with β€οΈ for the Rust community.
No more shipwrecks in the sea of cargo errors!