fluree memory export / import
Round-trip memories as JSON.
export
Write all memories to stdout as a JSON array.
fluree memory export > memories.json
export takes no options — it emits every memory, both scopes included. To get a single scope, filter with jq or use recall with --scope and a permissive limit.
Output is a flat array of full memory objects:
[
{
"id": "mem:fact-01JDXYZ...",
"kind": "fact",
"content": "Tests use cargo nextest",
"tags": ["testing", "cargo"],
"scope": "repo",
"severity": null,
"artifact_refs": [],
"branch": "main",
"created_at": "2026-02-22T14:00:00Z"
}
]
import
Load memories from a JSON file produced by export (or a hand-crafted array of the same shape).
fluree memory import memories.json
Import is additive — every entry in the file is re-transacted into the ledger, with secret-detection applied to content, rationale, and alternatives. IDs and timestamps from the source file are preserved. There is no dedup step, so importing the same file twice will double-insert; forget the existing entries first (or import into a freshly-initialized store) if that's not what you want.
When to use
- Backup / portability — export before a risky refactor.
- Bootstrapping a new repo from another project's knowledge.
- Sharing a slice of memory out-of-band (e.g. into an issue or wiki).
For normal team sharing, you don't need export/import — .fluree-memory/repo.ttl is committed to git and everyone who clones + runs fluree memory init picks it up automatically. See Repo vs user memory.