Project creation is workign
This commit is contained in:
@@ -12,7 +12,7 @@ The application operates in two primary states regarding project context:
|
||||
|
||||
## 2. Selection Logic
|
||||
* **Trigger:** User initiates "Open Project".
|
||||
* **Mechanism:** Native OS Directory Picker (via `tauri-plugin-dialog`).
|
||||
* **Mechanism:** Path entry in the selection screen.
|
||||
* **Validation:**
|
||||
* The backend receives the selected path.
|
||||
* The backend verifies:
|
||||
@@ -20,7 +20,18 @@ The application operates in two primary states regarding project context:
|
||||
2. Path is a directory.
|
||||
3. Path is readable.
|
||||
* If valid -> State transitions to **Active**.
|
||||
* If invalid -> Error returned to UI, State remains **Idle**.
|
||||
* If invalid because the path does not exist:
|
||||
* The backend creates the directory.
|
||||
* The backend scaffolds the Story Kit metadata under the new project root:
|
||||
* `.story_kit/README.md`
|
||||
* `.story_kit/specs/README.md`
|
||||
* `.story_kit/specs/00_CONTEXT.md`
|
||||
* `.story_kit/specs/tech/STACK.md`
|
||||
* `.story_kit/specs/functional/` (directory)
|
||||
* `.story_kit/stories/archive/` (directory)
|
||||
* If scaffolding succeeds -> State transitions to **Active**.
|
||||
* If scaffolding fails -> Error returned to UI, State remains **Idle**.
|
||||
* If invalid for other reasons -> Error returned to UI, State remains **Idle**.
|
||||
|
||||
## 3. Security Boundaries
|
||||
* Once a project is selected, the `SessionState` struct in Rust locks onto this path.
|
||||
|
||||
Reference in New Issue
Block a user