pub struct Project {
pub name: String,
pub category: String,
pub status: ProjectStatus,
pub tags: Vec<String>,
pub path: String,
}
Expand description
Project metadata
This struct contains all the metadata associated with a project, including its name, category, status, and technical tags.
§Examples
use projets_indexer::models::project::{Project, ProjectStatus};
let project = Project {
name: "my-project".to_string(),
category: "tools".to_string(),
status: ProjectStatus::Active,
tags: vec!["rust".to_string(), "cli".to_string()],
path: "/path/to/project".to_string(),
};
Fields§
§name: String
Name of the project
This is typically the name of the project directory or repository. It should be a human-readable identifier for the project.
category: String
Category of the project
The category is determined by the parent directory name in the projects directory structure. This helps organize projects into logical groups.
status: ProjectStatus
Status of the project
The current status of the project as determined by git repository analysis and other heuristics.
Technical tags for the project
A list of technical tags that describe the project’s technologies, frameworks, and characteristics. These tags are either:
- Generated using Ollama AI
- Manually specified
- Default tags when AI generation is disabled
path: String
Path to the project directory
The absolute or relative path to the project’s root directory. This is used for navigation and file system operations.