Cargo Mate
A Rust development companion that enhances cargo with intelligent workflows, state management, performance optimization, and comprehensive project monitoring. W.I.P. UNDER DEVELOPMENT!
Table of Contents
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 --directory -d <dir> cm scrub run --dry-run -n cm scrub run --verbose -v cm scrub run --resume-from -r <string> cm scrub run --min-depth <num> cm scrub run --max-depth <num> cm scrub run --jobs -j <num> cm scrub run --min-size <MB> cm scrub run --sort-by-size -s cm scrub run --export-json <file> cm scrub run --interactive -i cm scrub run --exclude -e <pattern> cm scrub run --stats-only
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
Sweep Commands (AI Debug Statement Cleanup)
cm sweep cm sweep scan cm sweep sweep [options] cm sweep convert cm sweep analyze cm sweep init
cm sweep sweep -n cm sweep sweep -p cm sweep sweep -y cm sweep sweep -i cm sweep sweep --backup
cm sweep sweep -p cm sweep sweep -y cm sweep analyze --top 20
Map Commands
cm map cm map show cm map analyze cm map export <path> cm map path <from> <to>
Probe Commands (Intelligent Probe Suite Management)
cm probe flake [options] cm probe impact [options] cm probe coverage [options] cm probe profile [options] cm probe tag [options] cm probe ci-gen [options] cm probe env [options] cm probe replay [options] cm probe order [options] cm probe doc [options]
cm probe flake -i 30 -j 8 --threshold 95
cm probe impact --base origin/main --head HEAD
cm probe coverage --open --threshold 85.0
cm probe profile --top 15 --flamegraph slow.svg
cm probe tag slow network cm probe tag --exclude flaky cm probe tag --list
cm probe ci-gen --platform github --coverage --flake-detect --profile > .github/workflows/ci.yml
cm probe env up && cm probe env run && cm probe env down
cm probe replay 2024-09-25T14:30:15Z
cm probe order --random --repeat 3
cm probe doc -o PROBES.md --include-private
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>
DDR Commands (Docker Dock Rust - Parallel Build Orchestration) π§ UNDER DEVELOPMENT
cm ddr cm ddr build [options] cm ddr build --target <target> cm ddr build --jobs <num> cm ddr build --image <img> cm ddr build --profile <profile>
cm ddr build -n cm ddr build --verbose cm ddr build --no-cache cm ddr build --clean cm ddr build --watch
cm ddr build --target x86_64-unknown-linux-gnu --target aarch64-unknown-linux-gnu
cm ddr build --jobs 32 --profile release
cm ddr build --image rust:1.70 --verbose
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
π Installation : CARGO INSTALL CARGO-MATE
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.tar.gz -O cargo-mate-latest.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
No more shipwrecks in the sea of cargo errors!