Instruction file imported from Marz42/FilumReforge (
.github/instructions/frontend.instructions.md). Copyright stays with the author.
Filum Frontend
- 先读
active-task.md、knowledge/index.md、project-brief.md、architecture.md;需要确认界面主线时,再看最近 session log 与implementation-plan.md。涉及 UI 时将根DESIGN.md作为 WARM 参考;模板仍为空白时以既有组件和界面事实为准,不臆造 tokens。 - 当前信息架构以 frontend/src/components/AppShell.vue 和 frontend/src/router/index.ts 为准;修改导航、入口或模块分组时,保留既有“通用模块 / 特殊模块”和兼容重定向事实。
- 所有 HTTP 请求统一走 frontend/src/api 的 Axios 封装;不要在 view 或组件里直接散落请求实现。
- 共享状态优先进入 Pinia store;页面局部交互状态留在视图或组合式逻辑中,不要把一次性 UI 状态提升成全局单例。
views/是工作台页面入口,components/放可复用壳层和通用组件;保持这个分层,不把大型页面逻辑无序下沉到通用组件。- 模板、消息、人员工作台等聚合页面尽量复用现有路由、类型和 API 结构,不要绕开后端聚合接口重新拼装一套前端事实。
- 浏览器 Push 公钥以
GET /api/v1/push-subscriptions/config为标准来源;VITE_WEB_PUSH_PUBLIC_KEY只是 fallback,不要把它当唯一事实源。 - 验证命令优先按 frontend/README.md 执行;只读校验优先
npm exec oxlint .和npm exec eslint .,避免npm run lint的--fix副作用污染 diff。