Add Phase 0 test harness (vitest + ESLint) and fix build config

- Add vitest unit tests for Zustand app store state transitions (6 tests)
- Add mock speech-engine WebSocket protocol integration test (spawns server.py --mock on a free port)
- Add ESLint 10 flat config with typescript-eslint; add typecheck/lint/test scripts to package.json
- Fix pre-existing tsc -b breakage via noEmit in tsconfig.node.json; add dedicated tsconfig.tests.json project for Node-side tests
- Track src-tauri/Cargo.lock for reproducible Rust builds; enable protocol-asset Tauri feature
- Ignore generated artifacts (*.tsbuildinfo, src-tauri/gen/, emitted vite.config.js/.d.ts); remove stale emitted vite config copies
- Update AGENTS.md agent guide (demo scope lock, roadmap, verification commands)
- Add HANDOFF.md documenting Phase 0 state and remaining steps for the next agent
This commit is contained in:
2026-10-03 22:33:47 +07:00
parent 9eff88215c
commit 654033fba3
15 changed files with 7824 additions and 61 deletions

View File

@@ -10,7 +10,11 @@
"tauri": "tauri",
"desktop": "tauri dev",
"speech": "python speech-engine/server.py",
"speech:mock": "python speech-engine/server.py --mock"
"speech:mock": "python speech-engine/server.py --mock",
"typecheck": "tsc -b",
"lint": "eslint .",
"test": "vitest run",
"test:watch": "vitest"
},
"dependencies": {
"@tauri-apps/api": "^2.0.0",
@@ -23,11 +27,17 @@
"zustand": "^5.0.2"
},
"devDependencies": {
"@eslint/js": "^10.0.1",
"@tauri-apps/cli": "^2.0.0",
"@types/node": "^26.6.4",
"@types/react": "^18.3.18",
"@types/react-dom": "^18.3.5",
"@vitejs/plugin-react": "^4.3.4",
"eslint": "^10.12.0",
"eslint-plugin-react-hooks": "^7.1.1",
"typescript": "~5.6.2",
"vite": "^6.0.5"
"typescript-eslint": "^8.71.0",
"vite": "^6.0.5",
"vitest": "^3.2.7"
}
}