Skip to main content

mars_agents/target/
pi.rs

1/// `.pi` target adapter stub.
2///
3/// Future: Pi-native agent lowering and config-entry writing.
4///
5/// V0: stub only — no per-target behavior yet.
6use crate::lock::ItemKind;
7use crate::types::DestPath;
8
9use super::TargetAdapter;
10
11#[derive(Debug)]
12pub struct PiAdapter;
13
14impl TargetAdapter for PiAdapter {
15    fn name(&self) -> &str {
16        ".pi"
17    }
18
19    fn skill_variant_key(&self) -> Option<&str> {
20        Some("pi")
21    }
22
23    fn default_dest_path(&self, kind: ItemKind, name: &str) -> Option<DestPath> {
24        match kind {
25            ItemKind::Skill => Some(DestPath::from(format!("skills/{name}").as_str())),
26            _ => None,
27        }
28    }
29}