feat: add main features
Agents for developpement added + frontend add + backend added. Git viewer created + agent and template creator + layout and project creator
This commit is contained in:
24
crates/application/src/project/mod.rs
Normal file
24
crates/application/src/project/mod.rs
Normal file
@ -0,0 +1,24 @@
|
||||
//! Project life-cycle use cases (ARCHITECTURE §6, L2).
|
||||
//!
|
||||
//! Each use case is a struct carrying its ports as `Arc<dyn Port>` and exposing
|
||||
//! a single `execute(input) -> Result<output, AppError>` method
|
||||
//! (**Single Responsibility**). They talk **only** to the domain ports, never to
|
||||
//! concrete adapters; the composition root injects the implementations.
|
||||
//!
|
||||
//! - [`CreateProject`] — validate the root, create `.ideai/project.json`,
|
||||
//! register the project, publish [`domain::DomainEvent::ProjectCreated`].
|
||||
//! - [`OpenProject`] — load a project and its `.ideai/project.json` meta (plus,
|
||||
//! tolerantly, the agent manifest if present).
|
||||
//! - [`CloseProject`] / [`CloseTab`] — persist state and release resources
|
||||
//! (no PTYs yet in L2).
|
||||
//! - [`ListProjects`] — list known projects from the registry.
|
||||
|
||||
mod close;
|
||||
mod create;
|
||||
pub(crate) mod meta;
|
||||
mod open;
|
||||
|
||||
pub use close::{CloseProject, CloseProjectInput, CloseProjectOutput, CloseTab, CloseTabInput};
|
||||
pub use create::{CreateProject, CreateProjectInput, CreateProjectOutput};
|
||||
pub use meta::ProjectMeta;
|
||||
pub use open::{ListProjects, ListProjectsOutput, OpenProject, OpenProjectInput, OpenProjectOutput};
|
||||
Reference in New Issue
Block a user