pub struct TechStack {
pub languages: Vec<String>,
pub frameworks: Vec<String>,
pub databases: Vec<String>,
pub tools: Vec<String>,
pub deployment: Vec<String>,
}
Expand description
Represents the technology stack used in a project.
The TechStack
captures all the technical components and tools that make up
a software project. This information is crucial for AI coding assistants to
understand the project context and make appropriate technology choices.
§Fields
languages
- Programming languages used (e.g., “Rust”, “TypeScript”, “Python”)frameworks
- Web frameworks, libraries, or major dependencies (e.g., “React”, “Actix-Web”)databases
- Database systems and storage solutions (e.g., “PostgreSQL”, “Redis”)tools
- Development tools, build systems, and utilities (e.g., “Cargo”, “npm”, “Docker”)deployment
- Deployment platforms and infrastructure (e.g., “AWS”, “Vercel”, “Kubernetes”)
§Examples
use project_manager_mcp::models::base::TechStack;
// Full-stack web application
let web_stack = TechStack {
languages: vec!["TypeScript".to_string(), "Rust".to_string()],
frameworks: vec!["Next.js".to_string(), "Actix-Web".to_string()],
databases: vec!["PostgreSQL".to_string(), "Redis".to_string()],
tools: vec!["npm".to_string(), "Cargo".to_string(), "Docker".to_string()],
deployment: vec!["Vercel".to_string(), "AWS ECS".to_string()],
};
// Simple CLI tool
let cli_stack = TechStack {
languages: vec!["Rust".to_string()],
frameworks: vec!["clap".to_string()],
databases: vec![],
tools: vec!["Cargo".to_string()],
deployment: vec!["GitHub Releases".to_string()],
};
Fields§
§languages: Vec<String>
Programming languages used in the project
frameworks: Vec<String>
Frameworks, libraries, and major dependencies
databases: Vec<String>
Database systems and storage solutions
tools: Vec<String>
Development tools, build systems, and utilities
deployment: Vec<String>
Deployment platforms and infrastructure
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TechStack
impl<'de> Deserialize<'de> for TechStack
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 TechStack
impl RefUnwindSafe for TechStack
impl Send for TechStack
impl Sync for TechStack
impl Unpin for TechStack
impl UnwindSafe for TechStack
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