Merge branch 'worktree-agent-a63474e92b05425a5'
# Conflicts: # Cargo.lock # Cargo.toml
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# 008 — Settings model
|
||||
|
||||
## Summary
|
||||
|
||||
Implement the single, process-wide settings model described in the README's NavMenu
|
||||
section: colour scheme, CSS path config, and the settings file location — settable
|
||||
via CLI args, persisted at a sensible default OS location.
|
||||
|
||||
## Scope
|
||||
|
||||
- A `Settings` struct: colour scheme choice, list of imported/linked CSS entries
|
||||
(see [010](010-css-management.md)), and whatever else profiles need to hang off of.
|
||||
- Default settings file location using an OS-conventions crate (e.g. `directories`)
|
||||
rather than a hardcoded path.
|
||||
- `clap` arg(s) to override the settings file path at runtime (extend the existing
|
||||
`Args` in `main.rs`, which today only has `--port`/`--static-dir`).
|
||||
- Load-on-start / save-on-change semantics; "at runtime, there is only 1 settings" —
|
||||
i.e. a single in-memory settings instance, not per-request state, analogous to how
|
||||
the engine owns the index.
|
||||
- Settings "owns" the profiles per the README — this ticket only needs to define
|
||||
where profiles live under settings, not implement profile CRUD itself (that's
|
||||
[009](009-presets-profiles.md)).
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- Running with no args creates/reads a settings file at the documented default
|
||||
location.
|
||||
- `--settings-path` (or similar) overrides it.
|
||||
- Settings persist across restarts (edit, restart, re-read matches).
|
||||
|
||||
## Depends on
|
||||
|
||||
None.
|
||||
Reference in New Issue
Block a user