Skip to content

Export/import: project backup and shareable block/plan JSON #82

Description

@ApocDev

There is currently no way to get data out of (or into) PyOps from the UI. The only affordance is the Settings page displaying the projects-folder path and telling the user to copy .db files by hand. All planning work lives in per-project SQLite stores, so losing one means losing weeks of planning.

What to do

  • Project backup: a Download button in Settings that streams the active project's .db (SQLite backup API or a safe copy while the connection is open), and an Import that accepts a .db file and installs it as a new project.
  • Block / plan export: export a single block (or a folder of blocks) as a self-contained JSON document — goals, recipe rows, splits, modules, notes — and import it into any project. Internal names are the stable keys, so imports should gracefully flag goods/recipes that don't exist in the target project's data dump rather than failing outright.
  • The JSON format doubles as the sharing format if PyOps grows beyond personal use (see Support non-Py mod sets (and vanilla): gate Py-specific surfaces on data, not a mod check #68 for the mod-agnostic direction) — worth versioning the schema from day one.

Part of the polish epic #35.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: webWeb UI (React/TanStack/vite-plus)enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions