1- # Cargo Crusader
1+ # Cargo Copter
22
33> Test the downstream impact of crate changes before publishing to crates.io
44
5- ** Join the Cargo Crusade ** and practice [ responsible API evolution] ( https://github.com/rust-lang/rfcs/blob/master/text/1105-api-evolution.md ) .
5+ Test your crate changes with ** Cargo Copter ** and practice [ responsible API evolution] ( https://github.com/rust-lang/rfcs/blob/master/text/1105-api-evolution.md ) .
66
77## ⚠️ Security Warning
88
1414
1515``` bash
1616# Install
17- git clone https://github.com/brson /cargo-crusader
18- cd cargo-crusader
17+ git clone https://github.com/imazen /cargo-copter
18+ cd cargo-copter
1919cargo build --release
2020export PATH=$PATH :$( pwd) /target/release/
2121
2222# Run
2323cd /path/to/your/crate
24- cargo-crusader
24+ cargo-copter
2525```
2626
2727** Output:**
@@ -46,8 +46,8 @@ Summary:
4646 ✗ Regressed: 0
4747 ⊘ Skipped: 0
4848
49- HTML report: crusader -report.html
50- Markdown report: crusader -report.md
49+ HTML report: copter -report.html
50+ Markdown report: copter -report.md
5151```
5252
5353---
@@ -56,31 +56,31 @@ Markdown report: crusader-report.md
5656
5757``` bash
5858# Test top 10 dependents
59- cargo-crusader --top-dependents 10
59+ cargo-copter --top-dependents 10
6060
6161# Test specific crates (supports version pinning)
62- cargo-crusader --dependents image:0.25.8 serde tokio
62+ cargo-copter --dependents image:0.25.8 serde tokio
6363
6464# Parallel testing with a custom caching dir (10x faster)
65- cargo-crusader --jobs 4 --staging-dir .crusader /staging
65+ cargo-copter --jobs 4 --staging-dir .copter /staging
6666
6767# Fast check-only (skip tests)
68- cargo-crusader --no-test --jobs 8
68+ cargo-copter --no-test --jobs 8
6969
7070# Test against multiple crate versions
71- cargo-crusader --test-versions " 0.8.0 0.8.48" 0.8.91
71+ cargo-copter --test-versions " 0.8.0 0.8.48" 0.8.91
7272
7373# Force version testing (bypass semver)
74- cargo-crusader --test-versions 0.9.0--force-versions 0.7.1
74+ cargo-copter --test-versions 0.9.0--force-versions 0.7.1
7575
7676# Test with specific features enabled
77- cargo-crusader --features " serde unstable"
77+ cargo-copter --features " serde unstable"
7878
7979# Test different crate path
80- cargo-crusader --path ~ /my-crate
80+ cargo-copter --path ~ /my-crate
8181
8282# Test published crate without local source
83- cargo-crusader --crate rgb --test-versions 0.8.50 0.8.51
83+ cargo-copter --crate rgb --test-versions 0.8.50 0.8.51
8484```
8585
8686---
@@ -95,8 +95,8 @@ cargo-crusader --crate rgb --test-versions 0.8.50 0.8.51
9595--dependents <CRATE[:VER]>... Test specific crates (supports version pins)
9696--dependent-paths <PATH>... Test local crates
9797-j, --jobs <N> Parallel jobs [default: 1]
98- --staging-dir <PATH> Cache directory [default: .crusader /staging]
99- --output <PATH> HTML output [default: crusader -report.html]
98+ --staging-dir <PATH> Cache directory [default: .copter /staging]
99+ --output <PATH> HTML output [default: copter -report.html]
100100--no-check Skip cargo check
101101--no-test Skip cargo test
102102--json JSON output
@@ -112,14 +112,14 @@ cargo-crusader --crate rgb --test-versions 0.8.50 0.8.51
112112### Version Syntax
113113``` bash
114114# Pin specific versions
115- cargo-crusader --dependents image:0.25.8 serde:1.0.0
115+ cargo-copter --dependents image:0.25.8 serde:1.0.0
116116
117117# Test multiple versions (space-delimited within args or across args)
118- cargo-crusader --test-versions " 0.8.0 0.8.48" 0.8.91
118+ cargo-copter --test-versions " 0.8.0 0.8.48" 0.8.91
119119
120120
121121# Pass feature flags to cargo
122- cargo-crusader --features " default serde" --features rgb/unstable
122+ cargo-copter --features " default serde" --features rgb/unstable
123123```
124124
125125---
@@ -224,9 +224,9 @@ See [CONSOLE-FORMAT.md](CONSOLE-FORMAT.md) for complete format specification and
2242245 . ** Reporting** - Generate console, HTML, and markdown reports
225225
226226### Caching Strategy
227- - ** Source cache** : ` .crusader /staging/{crate}-{version}/ ` (unpacked sources)
227+ - ** Source cache** : ` .copter /staging/{crate}-{version}/ ` (unpacked sources)
228228- ** Build artifacts** : Same location, includes ` target/ ` directory
229- - ** Downloads** : ` .crusader /crate-cache/ ` (original .crate files)
229+ - ** Downloads** : ` .copter /crate-cache/ ` (original .crate files)
230230
231231### Override Mechanism
232232** Current** : Uses ` .cargo/config ` with ` paths = [...] `
@@ -261,7 +261,7 @@ All contributions welcome! Priority areas:
261261
262262** Docker Example** :
263263``` bash
264- docker run --rm -v $( pwd) :/work crusader /cargo-crusader \
264+ docker run --rm -v $( pwd) :/work imazen /cargo-copter \
265265 --path /work --top-dependents 5
266266```
267267
@@ -276,7 +276,7 @@ docker run --rm -v $(pwd):/work crusader/cargo-crusader \
276276→ Use ` --top-dependents N ` , ` --dependents ` , or ` --dependent-paths `
277277
278278** Disk space exhausted**
279- → Clear cache: ` rm -rf .crusader / `
279+ → Clear cache: ` rm -rf .copter / `
280280
281281** Compilation timeout**
282282→ Use ` --no-test ` for faster check-only runs
@@ -299,7 +299,7 @@ cargo build --release
299299cargo test
300300
301301# Test against real crate
302- RUST_LOG=debug ./target/release/cargo-crusader --path ~ /rust-rgb --top-dependents 1
302+ RUST_LOG=debug ./target/release/cargo-copter --path ~ /rust-rgb --top-dependents 1
303303```
304304
305305** Project Structure** :
@@ -332,34 +332,34 @@ test-crates/integration-fixtures/ # Test fixtures
332332## CI/CD Integration
333333
334334``` yaml
335- # .github/workflows/crusader .yml
335+ # .github/workflows/copter .yml
336336name : Test Downstream Impact
337337on : [pull_request]
338338
339339jobs :
340- crusader :
340+ copter :
341341 runs-on : ubuntu-latest
342342 steps :
343343 - uses : actions/checkout@v3
344344 - uses : actions-rs/toolchain@v1
345345 with :
346346 toolchain : stable
347347
348- - name : Install cargo-crusader
348+ - name : Install cargo-copter
349349 run : |
350- git clone https://github.com/brson /cargo-crusader
351- cd cargo-crusader
350+ git clone https://github.com/imazen /cargo-copter
351+ cd cargo-copter
352352 cargo install --path .
353353
354354 - name : Test top 10 dependents
355- run : cargo-crusader --top-dependents 10 --jobs 4
355+ run : cargo-copter --top-dependents 10 --jobs 4
356356
357357 - name : Upload report
358358 if : always()
359359 uses : actions/upload-artifact@v3
360360 with :
361- name : crusader -report
362- path : crusader -report.html
361+ name : copter -report
362+ path : copter -report.html
363363` ` `
364364
365365---
@@ -388,17 +388,17 @@ Recently updated from 7-year-old dependencies:
388388
389389MIT/Apache-2.0
390390
391- This is the official license of The Rust Project and The Cargo Crusade .
391+ This is the standard license for Rust projects .
392392
393393---
394394
395395# # Links
396396
397- - **GitHub**: https://github.com/brson /cargo-crusader
397+ - **GitHub**: https://github.com/imazen /cargo-copter
398398- **crates.io**: https://crates.io
399399- **Rust API Evolution RFC**: https://github.com/rust-lang/rfcs/blob/master/text/1105-api-evolution.md
400400- **Development Roadmap**: [PLAN.md](PLAN.md)
401401
402402---
403403
404- **Ready to crusade ?** Run `cargo-crusader ` in your crate and ensure your changes don't break the ecosystem! 🛡️
404+ **Ready to take flight ?** Run `cargo-copter ` in your crate and ensure your changes don't break the ecosystem! 🚁
0 commit comments