Files
calctext/_bmad-output/implementation-artifacts/8-6-file-management.md
2026-03-16 19:54:53 -04:00

47 lines
1.6 KiB
Markdown

---
epic: 8
story: 8.6
title: "File Management"
status: draft
---
## Epic 8 — Windows App (Rust + iced)
**Goal:** Fast, lightweight native Windows app -- single .exe, no runtime dependencies.
### Story 8.6: File Management
As a **Windows user**,
I want my sheets stored as files in a standard location with a sidebar for navigation,
So that I can organize my calculations and find them through Windows Search.
**Acceptance Criteria:**
**Given** the app is installed
**When** the user creates a new sheet
**Then** it is saved as a `.calcpad` JSON file in `%APPDATA%\CalcPad\sheets\`
**Given** sheets exist in the storage directory
**When** the app's sidebar is displayed
**Then** all sheets and folders appear in a tree view matching the directory structure
**Given** the sidebar shows sheets and folders
**When** the user clicks a sheet name
**Then** the editor loads that sheet's content
**Given** sheets are stored as `.calcpad` files
**When** Windows Search indexes the directory
**Then** sheets are discoverable by file name and (if a search protocol handler is registered) by content
**Given** the user renames a sheet via the sidebar
**When** the rename is confirmed
**Then** the underlying file is renamed on disk and the sidebar updates
**Given** the user creates a folder via the sidebar
**When** the folder is created
**Then** a corresponding subdirectory is created in the storage path
**And** sheets can be dragged into it
**Given** the `.calcpad` file format
**When** a sheet is saved
**Then** the JSON contains the sheet's lines, variable state, metadata (title, created date, modified date), and format version