From 6033ccffa920a74be5c7dc2344dfac8f34c7be2c Mon Sep 17 00:00:00 2001 From: mirivlad Date: Sat, 6 Jun 2026 01:33:34 +0800 Subject: [PATCH] Add Verstak agent project rules --- AGENTS.md | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 64db532..04584d9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,3 +1,69 @@ +# Verstak project rules + +## Project identity + +Verstak is a local-first workbench for clients, projects, notes, files, tasks, activity and sync. +It must remain practical, simple, and filesystem-aware. + +## Stack + +- Backend: Go +- Storage: SQLite +- GUI: Wails v2 +- Frontend: Svelte 4 +- Build tooling: Vite 5 +- Do not migrate to Wails v3, Svelte 5, or Vite 8 unless explicitly asked. + +## Architecture rules + +- Keep local-first behavior. +- Do not turn the project into SaaS. +- Do not replace SQLite with another database. +- Do not introduce cloud storage assumptions. +- Preserve recursive folder import semantics. +- Preserve stable node IDs. +- Do not duplicate nodes when moving items. +- Do not create parallel state systems for the same entity. + +## UI rules + +- Fix GUI behavior at root cause. +- Do not redesign the whole interface unless explicitly asked. +- Preserve active tab state correctly. +- Context menus must open near the cursor. +- Drag-and-drop must show clear visual target feedback. +- Moving nodes must never duplicate the same ID in two places. +- Nested selection must not collapse the parent unexpectedly. + +## Files + +- File view is not a tree. +- Sidebar shows logical hierarchy. +- Vault filesystem layout must remain human-readable without the app. +- Drag-and-drop folders must perform real recursive copy/move into the vault. +- Do not fake folder support with external links. + +## Sync + +- Sync settings belong in Settings. +- Main UI may keep only manual sync/status controls. +- Existing URL + login/password device registration flow should be preserved unless explicitly changed. +- Secrets must not be logged. + +## Verification + +For backend changes: +- Run `go test ./...` if possible. + +For frontend changes: +- Run the relevant frontend build/check command if available. +- If unsure, inspect package scripts first. + +For GUI bugs: +- Add targeted tests only where practical. +- If manual GUI clicking is required and unavailable, state exact manual verification steps for the user. + + # Session summary ## Bugs fixed (this session) @@ -82,3 +148,4 @@ go build -tags "webkit2_41 desktop production" -ldflags="-s -w" -o build/verstak ```bash go build -ldflags="-s -w" -o build/verstak-server-linux-amd64 ./cmd/verstak-server/ ``` +