colony-agent skeleton: worker, dream, birth, status commands (stubs)
Phase 2 crate scaffolded with clap CLI. All commands are stubs that exit with "not yet implemented". Ready for implementation. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
49
crates/colony-agent/src/main.rs
Normal file
49
crates/colony-agent/src/main.rs
Normal file
@@ -0,0 +1,49 @@
|
||||
use clap::{Parser, Subcommand};
|
||||
|
||||
#[derive(Parser)]
|
||||
#[command(name = "colony-agent", about = "Ape Colony Agent Runtime — autonomous agent lifecycle")]
|
||||
struct Cli {
|
||||
#[command(subcommand)]
|
||||
command: Commands,
|
||||
}
|
||||
|
||||
#[derive(Subcommand)]
|
||||
enum Commands {
|
||||
/// Start the agent worker loop (pulse + react)
|
||||
Worker,
|
||||
/// Run one dream cycle (memory consolidation)
|
||||
Dream,
|
||||
/// Create a new agent on this VM
|
||||
Birth {
|
||||
name: String,
|
||||
#[arg(long)]
|
||||
instruction: String,
|
||||
},
|
||||
/// Show agent status
|
||||
Status,
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
let cli = Cli::parse();
|
||||
|
||||
match cli.command {
|
||||
Commands::Worker => {
|
||||
eprintln!("colony-agent: worker not yet implemented");
|
||||
std::process::exit(1);
|
||||
}
|
||||
Commands::Dream => {
|
||||
eprintln!("colony-agent: dream not yet implemented");
|
||||
std::process::exit(1);
|
||||
}
|
||||
Commands::Birth { name, instruction } => {
|
||||
eprintln!("colony-agent: birth '{}' with instruction: {}", name, instruction);
|
||||
eprintln!("not yet implemented");
|
||||
std::process::exit(1);
|
||||
}
|
||||
Commands::Status => {
|
||||
eprintln!("colony-agent: status not yet implemented");
|
||||
std::process::exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user