ASIMOV module for Apple devices.
- Rust 1.85+ (2024 edition)
cargo install asimov-apple-moduleExtracts all Apple Notes and emits one JSON object per line (JSONL).
Each note includes:
@id(stable URN)name(title)text(cleaned plain text converted from HTML)dateCreateddateModifiedisPartOf(folder)account(iCloud, On My Mac, Gmail, etc.)source: "apple-notes"
Basic usage
asimov-apple-notes-emitterThis prints JSONL to stdout, suitable for pipelines.
Pretty-print with jq
asimov-apple-notes-emitter | jq .Control text wrapping
asimov-apple-notes-emitter --wrap-width 120 | jq .Filter for a specific folder
asimov-apple-notes-emitter | jq 'select(.isPartOf == "Work")'Save to file
asimov-apple-notes-emitter > notes.jsonl{
"@type": "CreativeWork",
"@id": "urn:apple:notes:note:12345-ABCDE",
"name": "Shopping List",
"text": "Milk\nEggs\nBread",
"dateCreated": "2025-01-20 13:30:00 +0000",
"dateModified": "2025-01-20 14:10:00 +0000",
"isPartOf": "Personal",
"account": "iCloud",
"source": "apple-notes"
}git clone https://github.com/asimov-modules/asimov-apple-module.git