Skip to content

Commit 59e45e1

Browse files
committed
feat: implement client adapters for Claude Desktop, Cursor IDE, and VS Code with corresponding tests and registry integration
1 parent c0fde84 commit 59e45e1

49 files changed

Lines changed: 5139 additions & 61 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.husky/pre-commit

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env sh
2+
pnpm exec lint-staged
3+
pnpm typecheck
4+
pnpm lint
5+
pnpm format:check
6+
pnpm test

TASK.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ affected unit tests pass, and both `pnpm build` and `pnpm lint` succeed.
1212
- [x] 1. Init Electron + Vite + React + TypeScript project with `electron-vite`
1313
- [x] 2. Set up pnpm, ESLint, Prettier, Vitest, conventional commits
1414
- [x] 3. Implement shared types (`McpServer`, `AiRule`, `Profile`, `ClientAdapter`, IPC channels)
15-
- [ ] 4. Implement SQLite database layer with initial migration
16-
- [ ] 5. Implement feature gates infrastructure (`FeatureGates`, `checkGate()`, `useFeatureGate()`)
17-
- [ ] 6. Build first 3 client adapters (Windows paths only): Claude Desktop, Cursor, VS Code
18-
- [ ] 7. Implement client auto-detection
19-
- [ ] 8. Implement config import (read from all detected clients)
20-
- [ ] 9. Implement safety-first sync (8-step pre-write sequence, pristine backup)
21-
- [ ] 10. Basic UI shell: sidebar nav, dashboard with client cards
15+
- [x] 4. Implement SQLite database layer with initial migration
16+
- [x] 5. Implement feature gates infrastructure (`FeatureGates`, `checkGate()`, `useFeatureGate()`)
17+
- [x] 6. Build first 3 client adapters (Windows paths only): Claude Desktop, Cursor, VS Code
18+
- [x] 7. Implement client auto-detection
19+
- [x] 8. Implement config import (read from all detected clients)
20+
- [x] 9. Implement safety-first sync (8-step pre-write sequence, pristine backup)
21+
- [x] 10. Basic UI shell: sidebar nav, dashboard with client cards
2222

2323
## Phase 2 — Server Management
2424

package.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"type": "module",
1212
"main": "./out/main/index.js",
1313
"scripts": {
14+
"prepare": "husky || true",
1415
"dev": "electron-vite dev",
1516
"build": "electron-vite build",
1617
"preview": "electron-vite preview",
@@ -26,6 +27,7 @@
2627
},
2728
"dependencies": {
2829
"@electron-toolkit/utils": "^4.0.0",
30+
"better-sqlite3": "^12.6.2",
2931
"clsx": "^2.1.1",
3032
"electron-log": "^5.2.4",
3133
"electron-updater": "^6.3.9",
@@ -39,6 +41,7 @@
3941
"@testing-library/jest-dom": "^6.6.3",
4042
"@testing-library/react": "^16.3.0",
4143
"@testing-library/user-event": "^14.6.1",
44+
"@types/better-sqlite3": "^7.6.13",
4245
"@types/node": "^22.13.10",
4346
"@types/react": "^19.1.0",
4447
"@types/react-dom": "^19.1.0",
@@ -59,10 +62,17 @@
5962
"tailwindcss": "^4.0.12",
6063
"typescript": "^5.8.2",
6164
"vite": "^6.2.1",
62-
"vitest": "^3.0.9"
65+
"vitest": "^3.0.9",
66+
"husky": "^9.1.7",
67+
"lint-staged": "^15.4.3"
68+
},
69+
"lint-staged": {
70+
"src/**/*.{ts,tsx,js,json,css}": "prettier --write",
71+
"src/**/*.{ts,tsx,js}": "pnpm exec eslint --fix"
6372
},
6473
"pnpm": {
6574
"onlyBuiltDependencies": [
75+
"better-sqlite3",
6676
"electron",
6777
"esbuild"
6878
]

0 commit comments

Comments
 (0)