agent_policy/render/
mod.rs1use camino::Utf8PathBuf;
4
5use crate::{error::Result, model::normalized::Policy};
6
7pub mod agents_md;
8pub mod claude_md;
9pub mod cursor_rules;
10
11pub struct RenderedOutput {
13 pub path: Utf8PathBuf,
15 pub content: String,
17}
18
19pub fn render_all(policy: &Policy) -> Result<Vec<RenderedOutput>> {
28 let mut outputs = Vec::new();
29 if policy.outputs.agents_md {
30 outputs.push(agents_md::render(policy)?);
31 }
32 if policy.outputs.claude_md {
33 outputs.push(claude_md::render(policy)?);
34 }
35 if policy.outputs.cursor_rules {
36 outputs.extend(cursor_rules::render(policy)?);
38 }
39 Ok(outputs)
40}