Loading...
Loading...
Make a Basic Memory project ready for OKF v0.2 export by finding and fixing what blocks it. Use when preparing a project for OKF export, publishing, or handoff, or checking an OKF bundle.
npx skill4agent add basicmachines-co/basic-memory memory-okfindex.mdlog.mdindex.mdlog.mdbm okf exportbm_project(command="list")projectmemory://workspace/project<project>projectprojectprojectsall_projects=Truebm# Note files must end in lowercase .md
bm_find(name="*.markdown", project="<project>")
bm_find(name="*.MD", project="<project>")
# index.md and log.md belong to the wiki. A file there with note_type
# "Index" or "Log" is a wiki page; anything else is a note of your own.
bm_find(name="index.md", project="<project>")
bm_find(name="log.md", project="<project>")
# Export records relation types under `bm.okf_export`, so a note may not use it
bm_search(filters={"bm.okf_export": {"$exists": True}}, project="<project>")bm_findhas_more| Blocker | Fix |
|---|---|
A note ends in | |
A note of your own named | |
A note uses | Rewrite its frontmatter without that key (below) |
bm_move(identifier="notes/long-form.markdown", destination="notes/long-form.md", project="<project>")
bm_move(identifier="notes/index.md", destination="notes/overview.md", project="<project>")bm_movenote = bm_read(identifier="notes/clash", output_format="json", project="<project>")
bm_write(
identifier=note["file_path"],
title=note["title"],
content="<the note body, unchanged>",
metadata={...}, # the frontmatter without bm.okf_export
overwrite=True,
expected_checksum=note["checksum"],
project="<project>",
)index.mdlog.mdbm okf exporttitletypebmbm wiki status --project research # current, stale, or conflicted
bm wiki rebuild --project research # refresh index.md and log.md
bm okf export ~/exports/research --project research --json
bm okf check ~/exports/research --jsonbm wiki statusindex.mdlog.mdconflicted--jsondiagnosticsrulemessage--replacebm okf checkbm okf checktypenotetagsbm.okf_export[category] contentlog.mdbm_move