Recursively minify and concatenate source code into a markdown document for llm prompting. Optionally remove comments / documentation. Items in .gitignore are automatically excluded.
This can be useful for LLM assisted development when rapidly prompting with updated code, or when there is too much code to fit in the allowed context window.
cargo install cargo-promptcd my_cargo_project/
cargo promptcd my_cargo_project/
cargo prompt -rcd my_cargo_project/
cargo prompt > saved_prompt.txtcargo prompt /path/to/src/cargo prompt -j
cargo prompt --javascriptcargo prompt -p
cargo prompt --pythoncargo prompt --javacargo prompt -c
cargo prompt --c-cppcargo prompt -i
cargo prompt --csharpcargo prompt -q
cargo prompt --phpcargo prompt --rubycargo prompt -s
cargo prompt --swiftcargo prompt -t
cargo prompt --typescriptcargo prompt -k
cargo prompt --kotlincargo prompt -g
cargo prompt --gocargo prompt --rcargo prompt -m
cargo prompt --matlabcargo prompt -v
cargo prompt --vbnetcargo prompt --perlcargo prompt --scalacargo prompt -d
cargo prompt --dartcargo prompt --groovycargo prompt --juliacargo prompt --haskellcargo prompt --shellcargo prompt -l
cargo prompt --luacargo prompt -a
cargo prompt --allfizzbuzz/fizzbuzz.rs:
// Functions that "don't" return a value, actually return the unit type `()`
fn fizzbuzz(n: u32) -> () {
if is_divisible_by(n, 15) {
println!("fizzbuzz");
} else if is_divisible_by(n, 3) {
println!("fizz");
} else if is_divisible_by(n, 5) {
println!("buzz");
} else {
println!("{}", n);
}
}# fizzbuzz
## ./fizzbuzz.rs
```rust
fn fizzbuzz(n:u32)->(){if is_divisible_by(n,15){println!("fizzbuzz");}else if is_divisible_by(n,3){println!("fizz");}else if is_divisible_by(n,5){println!("buzz");}else{println!("{}",n);}}
```