Skip to content

Importing from TextBundle / TextPack (Bear, Craft)

When to use

When a user imports notes exported as TextBundle — a .textbundle folder, a .textpack, or a Bear .bear2bk backup. Bear and Craft are the common sources. You own it end to end. Read limestone-vault-conventions, working-with-collections, and importing-from-obsidian (the shared attachment/tag model) first.

Run the import (one tool call)

Call limestone_import_notebook(path, collection_name) with the .textbundle / .textpack / .bear2bk, or a folder containing several bundles. Returns the usual summary + unconverted list.

How the import works (what the tool does)

A TextBundle is a folder of text.markdown + assets/ + info.json:

TextBundle Limestone
each bundle one record (row + Markdown note)
the first # heading (else the first line) the record title
info.json creation/modification dates Created / Updated date properties (when present)
inline #tags (Bear) + info.json tags real note tags
![](assets/x.png) references the file, stored beside the note, embedded inline as ![[filename]]

Finalizing (your job)

The importing-from-obsidian playbook applies. TextBundle-specific:

  • Dates may be missing. Plain .textbundle/.textpack often carries no dates (they live in Bear's database, preserved only in .bear2bk). If the user needs accurate dates, ask them to re-export as .bear2bk.
  • Bear multi-word tags (#multi word#) aren't captured by the inline #tag scan; add them by hand if the user relies on them.
  • Resolve unconverted items (unsupported asset types, unresolved embeds) as usual.

Evolving this skill

If a bundle emitter (a specific app's info.json shape) recurs with lost metadata, work out the mapping and propose an update here or to importers/textbundle.py. Keep the two in sync.