# prompt-organizer
> A simple library to better manage AI prompts in your Rust code.
[](https://github.com/m1guelpf/prompt-organizer)
[](https://crates.io/crates/prompt-organizer)
[](https://docs.rs/prompt-organizer)
[](https://github.com/m1guelpf/prompt-organizer/actions?query=branch%3Amain)
This crate provides a procedural macro for defining AI prompts (or any multi-line string which might include user-provided parameters) in a more readable way.
```bash
cargo add prompt-organizer
```
## Usage
```rust
use prompt_organizer::prompt;
prompt!{my_example_prompt, "
You are {name}, an AI assistant.
"}
assert_eq!(my_example_prompt("some name"), "You are some name, an AI assistant.");
```
If you need to include quotes in your prompt, you can use string literals:
```rust
use prompt_organizer::prompt;
prompt!{my_example_prompt, r#"
You are {name}, an AI assistant.
"this is part of the prompt"
"#}
assert_eq!(my_example_prompt("some name"), "You are some name, an AI assistant.\n\n\"this is part of the prompt\"");
```
The `prompt!` macro will automatically normalize the indentation of your prompt, allowing for nicer formatting in-code.
## License
This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.