pub struct Project {
pub id: ProjectId,
pub name: String,
pub description: String,
pub paths: Vec<PathBuf>,
pub tags: Vec<String>,
pub emoji: String,
pub source: ProjectSource,
pub memory_visible: bool,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub last_active_at: DateTime<Utc>,
}Expand description
A registered work context (code project, writing project, etc).
Projects are the primary unit of workspace context in Oxios. Sessions reference a primary project (for CWD) and optional secondary projects.
Fields§
§id: ProjectIdUnique identifier.
name: StringHuman-readable name (unique, e.g. “oxios”, “pi”, “my-blog”).
description: StringOptional description for UI display.
paths: Vec<PathBuf>Filesystem paths associated with this project. Empty for non-code projects (e.g. “travel planning”).
Tags for keyword matching (detection layer 3).
emoji: StringDisplay emoji for UI.
source: ProjectSourceHow this project was registered.
memory_visible: boolWhether this project allows cross-project memory access.
created_at: DateTime<Utc>When this project was created.
updated_at: DateTime<Utc>When this project was last modified.
last_active_at: DateTime<Utc>When this project was last active (used in a session).
Implementations§
Source§impl Project
impl Project
Sourcepub fn new(name: impl Into<String>, source: ProjectSource) -> Self
pub fn new(name: impl Into<String>, source: ProjectSource) -> Self
Create a new Project with the given name.
Sourcepub fn from_path(path: &Path) -> Self
pub fn from_path(path: &Path) -> Self
Create a Project from a filesystem path.
Derives the name from the directory name.
Sourcepub fn remove_path(&mut self, path: &PathBuf) -> bool
pub fn remove_path(&mut self, path: &PathBuf) -> bool
Remove a filesystem path.
Sourcepub fn primary_path(&self) -> Option<&PathBuf>
pub fn primary_path(&self) -> Option<&PathBuf>
Get the primary path (CWD source).