@@ -22,18 +22,30 @@ src/styles/app.css global/component CSS
|
||||
src-tauri/src/models.rs Rust domain models
|
||||
src-tauri/src/validation.rs input normalization/validation
|
||||
src-tauri/src/storage.rs JSON config/state storage
|
||||
src-tauri/src/migration.rs versioned storage adoption/migration
|
||||
src-tauri/src/activity.rs activity log
|
||||
src-tauri/src/subscription.rs subscription fetch/parse
|
||||
src-tauri/src/component_detection.rs component status detection
|
||||
src-tauri/src/component_catalog.rs pinned offline package catalog
|
||||
src-tauri/src/component_inventory.rs exact native SCM/process/registry inventory
|
||||
src-tauri/src/component_detection.rs component status mapping
|
||||
src-tauri/src/component_packages.rs bundled/cache package plans
|
||||
src-tauri/src/component_cutover.rs durable legacy cutover/rollback/cleanup
|
||||
src-tauri/src/privileged_jobs.rs sealed one-shot elevation records
|
||||
src-tauri/src/privileged_runtime.rs fixed native privileged actions
|
||||
src-tauri/src/proxifyre_runtime.rs native ProxiFyre lifecycle
|
||||
src-tauri/src/singbox_runtime.rs native sing-box lifecycle
|
||||
src-tauri/src/adapters/* ProxiFyre/sing-box/proxy router adapters
|
||||
src-tauri/src/commands.rs Tauri command layer, currently too large
|
||||
src-tauri/tests/* Rust tests
|
||||
scripts/*.ps1 Windows install/control scripts
|
||||
scripts/*.ps1 build/release/QA tooling only
|
||||
```
|
||||
|
||||
## Source of truth
|
||||
|
||||
- Persistent app config/state: `C:\ProgramData\ProxyWarden\config` and `state`.
|
||||
- `config\components.json` is legacy migration input only; live component truth comes from native inventory and verified receipts.
|
||||
- Current managed roots: `C:\Program Files\ProxyWarden\components\ProxiFyre` and `...\sing-box`.
|
||||
- Offline baseline: packaged component catalog; verified downloaded cache: `C:\ProgramData\ProxyWarden\packages`.
|
||||
- Generated artifacts: `C:\ProgramData\ProxyWarden\generated`.
|
||||
- Frontend state is not source of truth. It should represent backend state and pending UI edits.
|
||||
- Component detection/runtime status should come from backend, not guessed in UI.
|
||||
@@ -45,13 +57,17 @@ scripts/*.ps1 Windows install/control scripts
|
||||
3. Inspect the relevant source files listed above.
|
||||
4. Determine whether the change crosses the Tauri boundary. If yes, update both Rust DTO/command and TypeScript wrapper/types.
|
||||
5. Determine whether the change touches secrets, service control, generated configs, process execution, filesystem deletion, or network fetch. If yes, apply security checklist.
|
||||
6. Prefer small, isolated changes over broad rewrites.
|
||||
6. If the change touches install/service/elevation, trace `privileged_jobs.rs`/`privileged_runtime.rs` and the native component runtime. Do not introduce PowerShell runtime fallback.
|
||||
7. If the change touches packaging or release tooling, run `scripts/check-runtime-powershell-boundary.ps1 -CheckOnly`.
|
||||
8. Prefer small, isolated changes over broad rewrites.
|
||||
|
||||
## Do not
|
||||
|
||||
- Do not treat `App.tsx` or `commands.rs` as the correct permanent architecture just because they currently contain lots of logic.
|
||||
- Do not introduce a second storage system.
|
||||
- Do not move service/install logic into frontend.
|
||||
- Do not treat legacy `components.json`, fuzzy paths, or service name alone as ownership proof.
|
||||
- Do not add `.ps1`, `powershell.exe`, `pwsh`, or generated script text to production Rust/Tauri/NSIS paths.
|
||||
- Do not claim Windows service/elevation behavior is verified unless it was actually tested on Windows.
|
||||
|
||||
## Output expectations
|
||||
|
||||
Reference in New Issue
Block a user