pub struct Project {
pub id: String,
pub project_path: String,
pub name: String,
pub description: Option<String>,
pub issue_prefix: Option<String>,
pub next_issue_number: i32,
pub plan_prefix: Option<String>,
pub next_plan_number: i32,
pub created_at: i64,
pub updated_at: i64,
}Expand description
A project in SaveContext.
Projects provide:
- Issue ID prefixes (e.g., “SC” -> SC-1, SC-2)
- Plan tracking
- Project-level memory
- Session grouping
Fields§
§id: StringUnique identifier (UUID format)
project_path: StringAbsolute path to the project directory
name: StringDisplay name for the project
description: Option<String>Optional description
issue_prefix: Option<String>Prefix for issue short IDs (e.g., “SC” creates SC-1, SC-2)
next_issue_number: i32Next issue number to assign
plan_prefix: Option<String>Prefix for plan short IDs
next_plan_number: i32Next plan number to assign
created_at: i64Creation timestamp (Unix milliseconds)
updated_at: i64Last update timestamp (Unix milliseconds)
Implementations§
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 UnsafeUnpin 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more