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 copilot_instructions;
10pub mod cursor_rules;
11pub mod gemini_md;
12
13pub struct RenderedOutput {
15 pub path: Utf8PathBuf,
17 pub content: String,
19}
20
21pub fn render_all(policy: &Policy) -> Result<Vec<RenderedOutput>> {
30 let mut outputs = Vec::new();
31 if policy.outputs.agents_md {
32 outputs.push(agents_md::render(policy)?);
33 }
34 if policy.outputs.claude_md {
35 outputs.push(claude_md::render(policy)?);
36 }
37 if policy.outputs.cursor_rules {
38 outputs.extend(cursor_rules::render(policy)?);
40 }
41 if policy.outputs.gemini_md {
42 outputs.push(gemini_md::render(policy)?);
43 }
44 if policy.outputs.copilot_instructions {
45 outputs.push(copilot_instructions::render(policy)?);
46 }
47 Ok(outputs)
48}