Files
JRedisDesktop/AGENTS.md
T
Jokul 3e06def637 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
2026-07-04 16:12:35 +08:00

2.0 KiB

AGENTS.md — JRedisDesktop v2

Project identity

Fork of 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

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.