pub struct DetectedAgent {
pub id: &'static str,
pub name: &'static str,
pub kind: AgentKind,
}Expand description
Information about a detected AI coding agent environment.
Fields§
§id: &'static strA stable, unique identifier for the agent (e.g. "claude-code", "codex").
name: &'static strThe human-readable name of the agent (e.g. "Claude Code", "OpenAI Codex").
kind: AgentKindThe kind of AI coding environment.
Implementations§
Source§impl DetectedAgent
impl DetectedAgent
Sourcepub fn is_agent(&self) -> bool
pub fn is_agent(&self) -> bool
Returns true if the detected environment is an autonomous agent.
Examples found in repository?
examples/detect.rs (line 28)
8fn main() {
9 let agent = detect_coding_agent::detect();
10
11 match &agent {
12 Some(agent) => {
13 println!("✅ Coding agent detected!");
14 println!(" Name : {}", agent.name);
15 println!(" ID : {}", agent.id);
16 println!(" Kind : {}", agent.kind);
17 }
18 None => {
19 println!("❌ No coding agent detected.");
20 println!(
21 " The process does not appear to be running inside a known AI coding agent."
22 );
23 }
24 }
25
26 // Convenience helpers
27 if agent
28 .map(|a| a.is_agent() || a.is_hybrid())
29 .unwrap_or(false)
30 {
31 println!();
32 println!("💡 Tip: This is an autonomous agent session — consider offering a");
33 println!(" machine-friendly interface (e.g. via MCP) for better results.");
34 }
35}Sourcepub fn is_interactive(&self) -> bool
pub fn is_interactive(&self) -> bool
Returns true if the detected environment is interactive (human-driven).
Sourcepub fn is_hybrid(&self) -> bool
pub fn is_hybrid(&self) -> bool
Returns true if the detected environment is hybrid (agent + interactive).
Examples found in repository?
examples/detect.rs (line 28)
8fn main() {
9 let agent = detect_coding_agent::detect();
10
11 match &agent {
12 Some(agent) => {
13 println!("✅ Coding agent detected!");
14 println!(" Name : {}", agent.name);
15 println!(" ID : {}", agent.id);
16 println!(" Kind : {}", agent.kind);
17 }
18 None => {
19 println!("❌ No coding agent detected.");
20 println!(
21 " The process does not appear to be running inside a known AI coding agent."
22 );
23 }
24 }
25
26 // Convenience helpers
27 if agent
28 .map(|a| a.is_agent() || a.is_hybrid())
29 .unwrap_or(false)
30 {
31 println!();
32 println!("💡 Tip: This is an autonomous agent session — consider offering a");
33 println!(" machine-friendly interface (e.g. via MCP) for better results.");
34 }
35}Trait Implementations§
Source§impl Clone for DetectedAgent
impl Clone for DetectedAgent
Source§fn clone(&self) -> DetectedAgent
fn clone(&self) -> DetectedAgent
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DetectedAgent
impl Debug for DetectedAgent
Source§impl Display for DetectedAgent
impl Display for DetectedAgent
Source§impl PartialEq for DetectedAgent
impl PartialEq for DetectedAgent
Source§fn eq(&self, other: &DetectedAgent) -> bool
fn eq(&self, other: &DetectedAgent) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for DetectedAgent
impl StructuralPartialEq for DetectedAgent
Auto Trait Implementations§
impl Freeze for DetectedAgent
impl RefUnwindSafe for DetectedAgent
impl Send for DetectedAgent
impl Sync for DetectedAgent
impl Unpin for DetectedAgent
impl UnsafeUnpin for DetectedAgent
impl UnwindSafe for DetectedAgent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more