pub struct Project {
pub name: String,
pub description: String,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub tech_stack: TechStack,
pub vision: Vision,
}
Expand description
Represents a software project with its context and metadata.
A Project
is the central entity in the Project Manager MCP system. It contains
all the high-level information about a software project including its technical
context (technology stack) and business context (vision and goals).
§Fields
name
- A unique identifier for the project (alphanumeric with dashes/underscores)description
- A human-readable description of what the project doescreated_at
- Timestamp when the project was first createdupdated_at
- Timestamp of the last modification to project metadatatech_stack
- The technologies, frameworks, and tools used in the projectvision
- The business goals, target users, and success criteria
§Examples
use project_manager_mcp::models::base::{Project, TechStack, Vision};
use chrono::Utc;
let project = Project {
name: "e-commerce-api".to_string(),
description: "REST API for an e-commerce platform".to_string(),
created_at: Utc::now(),
updated_at: Utc::now(),
tech_stack: TechStack {
languages: vec!["Rust".to_string()],
frameworks: vec!["Actix-Web".to_string()],
databases: vec!["PostgreSQL".to_string()],
tools: vec!["Cargo".to_string()],
deployment: vec!["Docker".to_string()],
},
vision: Vision {
overview: "Fast and reliable e-commerce backend".to_string(),
goals: vec!["Handle 10k concurrent users".to_string()],
target_users: vec!["Online shoppers".to_string()],
success_criteria: vec!["99.9% uptime".to_string()],
},
};
Fields§
§name: String
Unique project identifier (alphanumeric with dashes/underscores only)
description: String
Human-readable description of the project
created_at: DateTime<Utc>
Timestamp when the project was created
updated_at: DateTime<Utc>
Timestamp of the last update to project metadata
tech_stack: TechStack
Technology stack and tools used in the project
vision: Vision
Business vision, goals, and success criteria
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Project
impl<'de> Deserialize<'de> for Project
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Project
impl RefUnwindSafe for Project
impl Send for Project
impl Sync for Project
impl Unpin for Project
impl UnwindSafe for Project
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more