5 releases
Uses new Rust 2024
0.1.6 | Mar 8, 2025 |
---|---|
0.1.5 | Mar 7, 2025 |
0.1.4 | Feb 16, 2025 |
#126 in Cargo plugins
378 downloads per month
51KB
867 lines
cargo-prompt
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.
install
cargo install cargo-prompt
run
cd my_cargo_project/
cargo prompt
remove comments / documentation
cd my_cargo_project/
cargo prompt -r
redirect to a file
cd my_cargo_project/
cargo prompt > saved_prompt.txt
target specific directory
cargo prompt /path/to/src/
other languages
javascript
cargo prompt -j
cargo prompt --javascript
python
cargo prompt -p
cargo prompt --python
java
cargo prompt --java
c / c++
cargo prompt -c
cargo prompt --c-cpp
csharp
cargo prompt -i
cargo prompt --csharp
php
cargo prompt -q
cargo prompt --php
ruby
cargo prompt --ruby
swift
cargo prompt -s
cargo prompt --swift
typescript
cargo prompt -t
cargo prompt --typescript
kotlin
cargo prompt -k
cargo prompt --kotlin
go
cargo prompt -g
cargo prompt --go
r
cargo prompt -r
matlab
cargo prompt -m
cargo prompt --matlab
vb
cargo prompt -v
cargo prompt --vbnet
perl
cargo prompt --perl
scala
cargo prompt --scala
dart
cargo prompt -d
cargo prompt --dart
groovy
cargo prompt --groovy
julia
cargo prompt --julia
haskell
cargo prompt --haskell
shell
cargo prompt --shell
lua
cargo prompt -l
cargo prompt --lua
all languages
cargo prompt -a
cargo prompt --all
example input
fizzbuzz/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);
}
}
example output
# 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);}}
```
todo
Dependencies
~8–16MB
~212K SLoC