65 lines
1.8 KiB
Markdown
65 lines
1.8 KiB
Markdown
# Milestone 6d — Minimal Files Plugin
|
|
|
|
## Goal
|
|
|
|
Create a minimal Files plugin that shows vault files/folders and opens files
|
|
through Workbench openResource. No editor embedded.
|
|
|
|
## What was built
|
|
|
|
### Plugin: `verstak.files`
|
|
|
|
Location: `verstak-official-plugins/plugins/files/`
|
|
|
|
**Contributions:**
|
|
- views: `verstak.files.view` → `FilesView` component
|
|
- No sidebarItems — Files is not a global sidebar item
|
|
|
|
**Permissions:** `files.read`, `files.write`, `workbench.open`, `ui.register`
|
|
|
|
### Files View
|
|
|
|
- Root listing on mount
|
|
- Folder navigation (double-click)
|
|
- File open via `api.workbench.openResource()`
|
|
- Breadcrumb navigation
|
|
- Create folder/file buttons
|
|
- Refresh button
|
|
- Loading/error/empty states
|
|
- `.verstak` filtered out
|
|
|
|
### Provider priority
|
|
|
|
- default-editor: priority 50
|
|
- platform-test diagnostic: priority 10
|
|
- default-editor wins for normal file opens
|
|
|
|
### Bundle fix
|
|
|
|
Fixed missing opening quote in STYLES string (`.files-empty` → `'.files-empty'`).
|
|
Added automated bundle execution check to `scripts/check.sh`.
|
|
|
|
## 6d-hotfix
|
|
|
|
- Removed sidebarItems from Files plugin (Files is not a global sidebar item)
|
|
- Added `[frontend bundle execution]` check to `check.sh` — verifies all plugin
|
|
bundles parse via `new Function()` and register via `VerstakPluginRegister`
|
|
- Updated E2E tests: Files no longer expected in global sidebar
|
|
- Documented: sidebarItems are global shell navigation, not workspace template tabs
|
|
|
|
## Verification
|
|
|
|
- `go test ./...` — PASS
|
|
- `go vet ./...` — PASS
|
|
- `npm run build` — PASS
|
|
- `npm run test:e2e` — 34/34 PASS
|
|
- Official plugins — 3 plugins built, bundle execution check passes
|
|
- SDK — 11/11 tests pass
|
|
|
|
## Deferred
|
|
|
|
- Notes plugin, rename/move/trash UI, drag-and-drop, context menu,
|
|
watcher/inotify, sync, external open, binary streaming, sidecar/security,
|
|
workspace template host (Milestone 6d2)
|
|
|