Expand description
File-based task storage with locking.
Manages reading and writing of task data to the filesystem with:
- File locking for safe concurrent access
- Caching of active phase selection
- Atomic read-modify-write operations
The storage layer handles:
.scud/tasks/tasks.scg- Main task storage.scud/active-tag- Currently selected phase.scud/config.toml- Project configuration.scud/guidance/*.md- AI context files
§Example
use scud::storage::Storage;
use scud::models::TaskStatus;
let storage = Storage::new(None); // Use current directory
// Load and modify a phase atomically
let mut phase = storage.load_group("my-phase").unwrap();
if let Some(task) = phase.get_task_mut("1") {
task.set_status(TaskStatus::Done);
}
storage.update_group("my-phase", &phase).unwrap();Structs§
- Archive
Info - Information about an archived phase
- Storage