chore: init v2 project scaffold
- Add electron-vite + Vue 3 + TypeScript build config - Add .gitignore with legacy/ exclusion - Add AGENTS.md with architecture & dev commands - Update README.md
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# AGENTS.md — JRedisDesktop v2
|
||||
|
||||
## Project identity
|
||||
|
||||
Fork of [AnotherRedisDesktopManager](https://github.com/qishibo/AnotherRedisDesktopManager). The legacy Vue 2 codebase lives in `legacy/` and is gitignored. Work only in the root project.
|
||||
|
||||
## Stack
|
||||
|
||||
- **Shell:** Electron 33 (`src/main/index.ts`)
|
||||
- **Preload:** `src/preload/index.ts`
|
||||
- **Renderer:** Vue 3 + Element Plus + Vue Router (`src/renderer/`)
|
||||
- **Build:** electron-vite + Vite 6 + TypeScript 5
|
||||
- **Redis client:** ioredis 5
|
||||
|
||||
## Commands
|
||||
|
||||
```bash
|
||||
npm run dev # electron-vite dev (HMR, renderer on :5173)
|
||||
npm run build # production build → out/
|
||||
npm start # preview built app
|
||||
npm run build:unpack # build + electron-builder --dir
|
||||
npm run build:win # build + electron-builder --win
|
||||
npm run build:mac # build + electron-builder --mac
|
||||
npm run build:linux # build + electron-builder --linux
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
Electron main (src/main/index.ts)
|
||||
├── Dev: loads renderer dev server (Vite HMR)
|
||||
└── Prod: loads out/renderer/index.html
|
||||
└── Vue 3 SPA (src/renderer/)
|
||||
@renderer alias → src/renderer/src/
|
||||
```
|
||||
|
||||
## Build config
|
||||
|
||||
- `electron.vite.config.ts` defines three build targets: main, preload, renderer
|
||||
- Renderer dev server runs on port 5173
|
||||
- Main/preload use `externalizeDepsPlugin()` to keep node_modules external
|
||||
|
||||
## TypeScript
|
||||
|
||||
- Root `tsconfig.json` references `tsconfig.node.json` (main + preload) and `tsconfig.web.json` (renderer)
|
||||
- Node target includes `src/main/**/*`, `src/preload/**/*`, `electron.vite.config.ts`
|
||||
- Web target includes `src/renderer/**/*`
|
||||
- `@renderer` alias resolves to `src/renderer/src`
|
||||
|
||||
## Source layout (expected)
|
||||
|
||||
```
|
||||
src/
|
||||
├── main/ # Electron main process
|
||||
├── preload/ # Preload scripts
|
||||
└── renderer/ # Vue 3 app
|
||||
├── index.html
|
||||
└── src/
|
||||
```
|
||||
|
||||
## Legacy
|
||||
|
||||
The `legacy/` directory contains the old Vue 2 + Webpack 4 codebase. It is gitignored and not part of the v2 build. See `legacy/AGENTS.md` for its documentation.
|
||||
Reference in New Issue
Block a user