3e06def637
- Add electron-vite + Vue 3 + TypeScript build config - Add .gitignore with legacy/ exclusion - Add AGENTS.md with architecture & dev commands - Update README.md
64 lines
2.0 KiB
Markdown
64 lines
2.0 KiB
Markdown
# 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.
|