Expand description
Task and note models for project management and collaboration
This module provides data structures for managing tasks and notes within project specifications. Tasks represent actionable work items with dependencies and priorities, while notes capture important information, decisions, and observations during development.
§Examples
use project_manager_mcp::models::task::{Task, TaskStatus, TaskPriority, Note, NoteCategory, TaskList};
use chrono::Utc;
// Create a high-priority task
let task = Task {
id: "task_001".to_string(),
title: "Implement user authentication".to_string(),
description: "Add JWT-based authentication with OAuth2 support".to_string(),
status: TaskStatus::Todo,
priority: TaskPriority::High,
dependencies: vec!["task_database_setup".to_string()],
created_at: Utc::now(),
updated_at: Utc::now(),
};
// Create an implementation note
let note = Note {
id: "note_001".to_string(),
content: "Consider using bcrypt for password hashing".to_string(),
category: NoteCategory::Implementation,
created_at: Utc::now(),
};
// Create a task list
let task_list = TaskList {
tasks: vec![task],
last_updated: Utc::now(),
};
Structs§
- Note
- Represents a note in a specification for capturing important information.
- Task
- Represents a task in a specification with dependencies and tracking information.
- Task
List - Represents a list of tasks for a specification with tracking metadata.
Enums§
- Note
Category - Category for organizing notes by type and purpose.
- Task
Priority - Priority level of a task for work scheduling and resource allocation.
- Task
Status - Status of a task throughout its lifecycle.