66 lines
2.1 KiB
Rust
66 lines
2.1 KiB
Rust
use crate::app::subagent::spawn::AgentDefinition;
|
|||
|
|
|
||
|
|
pub fn builtin_agents() -> Vec<AgentDefinition> {
|
||
|
|
vec![
|
||
|
|
AgentDefinition::new(
|
||
|
|
"coder".to_string(),
|
||
|
|
"coder".to_string(),
|
||
|
|
).with_system_prompt(
|
||
|
|
"You are a coding agent. Write correct, idiomatic Rust code.".to_string()
|
||
|
|
).with_allowed_tools(
|
||
|
|
vec![
|
||
|
|
"read".to_string(),
|
||
|
|
"write".to_string(),
|
||
|
|
"edit".to_string(),
|
||
|
|
"bash".to_string(),
|
||
|
|
"grep".to_string(),
|
||
|
|
"glob".to_string(),
|
||
|
|
"git_operator".to_string(),
|
||
|
|
]
|
||
|
|
).with_max_steps(25),
|
||
|
|
|
||
|
|
AgentDefinition::new(
|
||
|
|
"reviewer".to_string(),
|
||
|
|
"reviewer".to_string(),
|
||
|
|
).with_system_prompt(
|
||
|
|
"You are a code reviewer. Focus on correctness, safety, and performance.".to_string()
|
||
|
|
).with_allowed_tools(
|
||
|
|
vec![
|
||
|
|
"read".to_string(),
|
||
|
|
"grep".to_string(),
|
||
|
|
"glob".to_string(),
|
||
|
|
"recall".to_string(),
|
||
|
|
"remember".to_string(),
|
||
|
|
]
|
||
|
|
).with_max_steps(10),
|
||
|
|
|
||
|
|
AgentDefinition::new(
|
||
|
|
"researcher".to_string(),
|
||
|
|
"researcher".to_string(),
|
||
|
|
).with_system_prompt(
|
||
|
|
"You are a research agent. Search and synthesize information.".to_string()
|
||
|
|
).with_allowed_tools(
|
||
|
|
vec![
|
||
|
|
"read".to_string(),
|
||
|
|
"grep".to_string(),
|
||
|
|
"glob".to_string(),
|
||
|
|
"search".to_string(),
|
||
|
|
]
|
||
|
|
).with_max_steps(15),
|
||
|
|
|
||
|
|
AgentDefinition::new(
|
||
|
|
"planner".to_string(),
|
||
|
|
"planner".to_string(),
|
||
|
|
).with_system_prompt(
|
||
|
|
"You are a planning agent. Break down tasks into clear steps.".to_string()
|
||
|
|
).with_allowed_tools(
|
||
|
|
vec![
|
||
|
|
"read".to_string(),
|
||
|
|
"grep".to_string(),
|
||
|
|
"glob".to_string(),
|
||
|
|
"plan".to_string(),
|
||
|
|
]
|
||
|
|
).with_max_steps(20),
|
||
|
|
]
|
||
|
|
}
|