diff --git a/src/config.rs b/src/config.rs index 6b668d9..5a5788f 100644 --- a/src/config.rs +++ b/src/config.rs @@ -32,6 +32,10 @@ pub fn preset(name: &str) -> Option> { AgentConfig { name: "bug-hunt".into(), task: "Find one concrete bug in the codebase. Give file:line and a fix.".into(), cwd: cwd.clone() }, AgentConfig { name: "simplify".into(), task: "Find one function that can be removed or simplified. Be specific.".into(), cwd }, ]), + "security" => Some(vec![ + AgentConfig { name: "secrets".into(), task: "Scan src/ for hardcoded secrets, API keys, tokens, passwords, personal emails, private IPs. Also check for hardcoded absolute paths like /Users/ or /home/. Report file:line for each finding, or 'clean' if none.".into(), cwd: cwd.clone() }, + AgentConfig { name: "safe-publish".into(), task: "Check if this repo is safe to push publicly. Look for: .env files, credentials in config/, personal info in docs/, sensitive data in git history (check git log --all --oneline for suspicious commit messages). Report issues or 'safe'.".into(), cwd }, + ]), "report" => Some(vec![ AgentConfig { name: "agent-view".into(), task: "You are an agent inside aishell. Reflect: What context did you receive? What was missing? What would make your job easier? 3 concrete points from your perspective.".into(), cwd: cwd.clone() }, AgentConfig { name: "user-view".into(), task: "You are a developer using aishell daily. Run aishell help and aishell context. What are the 3 biggest friction points in the daily workflow?".into(), cwd: cwd.clone() }, diff --git a/src/main.rs b/src/main.rs index 3d64d52..63a7a17 100644 --- a/src/main.rs +++ b/src/main.rs @@ -145,7 +145,7 @@ fn print_help() { println!(" aishell review Review changes + auto-commit if clean"); println!(" aishell daily Health + quality + idea check"); println!(" aishell run Run single agent"); - println!(" aishell run -p Preset: daily, review, improve, report"); + println!(" aishell run -p Preset: daily, review, improve, security, report"); println!(" aishell run -f Custom config file"); println!(" --loop Loop mode (default: run once)"); println!(" aishell plan -p Preview agent config without running");