Files
dss/docs/storage.md
DSS ec09a0a662
Some checks failed
DSS Project Analysis / dss-context-update (push) Has been cancelled
Unify MCP across clients; remove legacy plugin server
2025-12-12 14:33:18 -03:00

60 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Storage (JSON-only)
## `DSS_HOME` resolution
DSS chooses a storage root in this order:
1. `$DSS_HOME` if set
2. `./.dss` if it exists in the current working directory
3. `~/.dss`
This supports:
- **project-local** storage (recommended when running DSS inside a repo)
- **shared user** storage (default fallback)
- **server** storage (explicit `DSS_HOME` volume)
## Directory layout
Most persistent JSON state lives under:
`$DSS_HOME/data/`
```
data/
_system/
activity/ # JSONL activity logs (by day)
cache/ # TTL cache entries (JSON)
users/ # auth users (JSON-only)
integration_health.json
projects/
<project_id>/
manifest.json
components/
figma/
integrations.json
metrics/
styles/
tokens/
teams/
```
## Concurrency / locking
The JSON store uses simple file locking (`*.lock`) to reduce corruption when multiple processes write concurrently.
## Project-local artifacts
In addition to `$DSS_HOME/data/`, DSS also writes project-local artifacts under a repos `.dss/` directory, for example:
- `.dss/analysis_graph.json` — portable analysis output (commit-friendly).
- `.dss/config.json` — per-project DSS configuration (used by `ConfigService`).
- `.dss/runtime-config.json` — runtime/server preferences (when using the headless server wrappers).
## What is safe to commit
Typical “commit-worthy” artifacts:
- `<project>/.dss/analysis_graph.json` (generated analysis output)
Typical “do not commit” data:
- per-user caches and secrets under `$DSS_HOME/data/_system/cache`