Files
front/AGENTS.md
2026-03-21 22:47:42 +08:00

1.6 KiB

AGENTS.md

This file provides guidance to agents when working with code in this repository.

Build Commands

  • pnpm dev - Start dev server (config: config/vite.config.dev.ts)
  • pnpm build - Production build (config: config/vite.config.prod.ts)
  • pnpm lint - Run ESLint + Prettier
  • No test framework configured

Critical Architecture Notes

Vite Config Location

Config files are in config/ directory, NOT root. All vite commands reference ./config/vite.config.*.ts.

Two Axios Instances

Storage Pattern

Use SafeStorage instead of localStorage directly. Supports TTL expiry and type-safe keys via AppStorageKey enum.

Dynamic Route Loading

Routes are loaded from server via fetchServerMenuConfig() with permission guard in permission.ts. Uses flags isMenuLoading/isMenuLoaded to prevent duplicate loads.

useRequest Hook Limitation

useRequest() does NOT work in async functions - it immediately invokes the API. Use .bind(null, params) to pass arguments.

Code Style

  • No semicolons (Prettier enforced)
  • Single quotes, trailing commas (es5)
  • Print width: 140 characters
  • Path alias: @/src/

Vue/i18n Aliases Required

Vite config includes aliases for vue-i18n/dist/vue-i18n.cjs.js and vue/dist/vue.esm-bundler.js - don't remove these.