actr_cli/commands/initialize/
traits.rs1use crate::{error::Result, template::ProjectTemplateName};
2use std::path::PathBuf;
3
4#[derive(Debug, Clone)]
6pub struct InitContext {
7 pub project_dir: PathBuf,
8 pub project_name: String,
9 pub signaling_url: String,
10 pub template: ProjectTemplateName,
11 pub is_current_dir: bool,
12}
13
14pub trait ProjectInitializer: Send + Sync {
16 fn generate_project_structure(&self, context: &InitContext) -> Result<()>;
17 fn print_next_steps(&self, context: &InitContext);
18}