# Ask Mode Rules (Non-Obvious Only) ## Project Structure - Vue 3 + Arco Design admin template with Pinia state management - Vite config files located in `config/` directory (not root) ## Key Directories - `src/api/` - API layer with two axios instances - `src/views/ops/` - Main business modules (kb, netarch, asset, etc.) - `src/router/guard/` - Route guards including dynamic menu loading - `src/store/modules/app/` - App store with server menu fetching ## Documentation References - Arco Design Vue: https://arco.design/vue - Vue Flow (for topology): https://vueflow.dev/ ## API Patterns - Use [`request.ts`](src/api/request.ts) for workspace-aware requests - Use [`interceptor.ts`](src/api/interceptor.ts) for standard Bearer token auth ## API Response Format - Standard response: `{code: 0, details: {...}}` - Success code is `0`, NOT `200` or `20000` - Access data via `response.details.data` ## Component Libraries - Arco Design Vue components: ``, ``, ``, etc. - Global components: `SearchTable`, `SearchForm`, `DataTable`, `Chart` ## Code Style - No semicolons - Single quotes - Print width: 140 characters - Path alias: `@/` → `src/` ## Build Commands - `pnpm dev` - Start dev server - `pnpm build` - Production build - `pnpm lint` - Run ESLint + Prettier