Memorix is designed around one simple idea:
memorix.ymlcontrols behavior.envstores secrets
Everything else exists for compatibility or advanced overrides.
The recommended model is:
- keep your day-to-day defaults in
~/.memorix - add project files only when a repo needs overrides
- let project config override global defaults instead of treating every repo as a fresh setup
Use memorix.yml for structured project behavior:
- LLM provider and model defaults
- embedding mode
- Git-Memory settings
- session injection behavior
- server and dashboard settings
- team or hub-mode options
Default location:
- user defaults:
~/.memorix/memorix.yml
Optional override location:
- project root:
./memorix.yml
Use .env for secrets only:
- API keys
- base URLs
- provider tokens
Default location:
- user defaults:
~/.memorix/.env
Optional override location:
- project root:
./.env
For normal configuration values, Memorix resolves in this order:
- environment variables
- project
memorix.ymloverrides - user
~/.memorix/memorix.ymldefaults - legacy
~/.memorix/config.json - hardcoded defaults
For secrets loaded through dotenv, Memorix resolves in this order:
- system environment variables from the shell or MCP host config
- project
.envoverrides - user
~/.memorix/.envdefaults
This means host-provided env vars always win.
If you want to initialize these files interactively, run:
memorix initThe init wizard now lets you choose between:
Global defaultsfor personal multi-project workflowsProject configfor repo-specific overrides
memorix.yml
llm:
provider: openai
model: gpt-4o-mini
embedding:
provider: off
git:
autoHook: true
ingestOnCommit: true
skipMergeCommits: true
behavior:
formationMode: active
sessionInject: minimal
server:
transport: stdio
dashboard: true.env
MEMORIX_LLM_API_KEY=sk-...
MEMORIX_EMBEDDING_API_KEY=sk-...
MEMORIX_LLM_BASE_URL=https://api.openai.com/v1
MEMORIX_EMBEDDING_BASE_URL=https://api.openai.com/v1If you do not need LLM or embedding features yet, you can leave .env empty and Memorix will still work.
Used for optional LLM-enhanced behavior such as:
- formation quality uplift
- compression
- reranking
- smarter deduplication
Common keys:
providermodelbaseUrl
Controls semantic search mode.
Common values:
offapifastembedtransformersauto
auto now prefers a configured remote embedding API first.
- if
MEMORIX_EMBEDDING_API_KEYor another supported API key is present, Memorix will use the remote/v1/embeddingsprovider first - only if API embedding is unavailable will it fall back to local
fastembed, thentransformers - this keeps semantic search on the API path by default while preserving local fallback behavior
When using API embeddings with optional dimension shortening:
MEMORIX_EMBEDDING_DIMENSIONSis treated as part of the embedding configuration identity- Memorix keeps API embedding cache entries and probed dimension metadata isolated per
baseUrl + model + requestedDimensions - changing from shortened dimensions back to native dimensions no longer reuses stale cached vectors or stale probe results
Controls Git-Memory behavior.
Common keys:
autoHookingestOnCommitmaxDiffSizeskipMergeCommitsexcludePatternsnoiseKeywords
Controls runtime behavior.
Common keys:
sessionInjectsyncAdvisoryautoCleanupformationMode
Controls transport and dashboard behavior.
Common keys:
transportportdashboarddashboardPort
Run:
memorix statusmemorix status shows:
- which config files exist
- which
.envfiles were loaded - where important values came from
- whether env vars overrode YAML
This is the fastest way to debug “why is Memorix using this value?”
Memorix still supports:
~/.memorix/config.json
This exists mainly for backward compatibility with older TUI-based configuration flows.
For new setups, prefer:
memorix.yml.env
For most teams, keep it simple:
- keep your personal defaults in
~/.memorix/memorix.yml - commit
memorix.ymlonly when the repo needs shared overrides - do not commit
.env - reserve project-level config for shared behavior or repo-specific overrides
This gives you:
- reproducible project behavior
- local secret isolation
- cleaner onboarding for new contributors