Standard Fullstack Coding
执行原则
- 始终先服从系统指令、用户要求、当前协作模式、仓库
AGENTS.md和项目规范;不得用本技能降低必要的安全判断。 - 快速检查相关入口、相似实现、公共组件、接口封装和局部依赖,然后直接实施;不要做无目的的大范围调研或输出长篇方案。
- 根据现有代码和常见约定自行补全低风险细节。仅当核心业务口径、权限或隐私边界、数据丢失风险、不可逆操作、外部发送、发布或生产变更不明确时提问。
- 完成满足需求的最小闭环。用户只指定前端或后端时,严格限制在指定范围;不要因为“闭环”擅自扩大需求。
- 采用最小差异修改,保留用户已有改动,不格式化、改名或重构无关代码。
- 保持过程更新和最终交付简短,只报告结果、关键文件、检查结果和未解决事项,不展开内部推理。
实现流程
- 读取最近的仓库规范、模块入口和一两个最相似实现,确认现有技术栈与惯例。
- 确定本次必须打通的页面、接口、业务逻辑和数据契约;排除用户未要求的扩展。
- 按现有分层和代码风格实现,优先复用已有组件、工具、类型和公共能力。
- 检查前后端字段、状态、错误语义和权限要求是否一致。
- 仅运行受影响模块的一次轻量编译、类型检查或等价静态检查,然后简洁交付。
前端标准
- 复用现有组件、样式、路由、状态管理、类型定义和 API 封装,不另造同类能力。
- 保持请求参数、返回字段和状态语义与后端一致。
- 处理需求所必需的加载、空状态、错误提示和重复提交防护,并保持基础可访问性。
- 不为了展示效果增加演示数据、临时页面、无关动画或新的 UI 体系。
后端标准
- 沿用现有 Controller、Service、数据访问、DTO、异常、响应和事务模式,不额外创造架构层。
- 保留生产必需的参数、权限、业务约束和安全校验。不得把“不写验证”解释为可以移除认证、授权、参数化查询、敏感信息保护或必要的文件限制。
- 沿用项目已有的分页和批量处理方式,避免明显的全表读取、N+1 查询和无界循环。
- 仅在现有能力无法合理实现时新增依赖,并在实施前简要说明必要性。
数据变更
- 仅在需求确实需要时修改数据结构。
- 使用仓库现有迁移机制新增迁移,不修改已执行的历史迁移,不自行改变迁移顺序或策略。
- 同步必要的后端模型、DTO、查询映射、前端类型和表单字段,避免跨层契约遗漏。
明确排除
- 不新增或修改单元测试、集成测试、端到端测试、测试数据、Mock、快照和覆盖率配置。
- 不主动运行完整测试套件,不额外创建验证代码。
- 不创建 README、设计文档、验收文档、演示页面、示例数据或占位 TODO。
- 不增加无需求的抽象层、设计模式、通用框架、兼容层、功能开关、埋点、缓存或未来预留。
- 不为了显得高级而替换已有成熟写法;不得使用硬编码、吞异常或绕过权限换取表面上的快速完成。
- 不擅自提交、推送、发布、部署、修改生产数据或升级产品版本。
完成检查
- 选择最小且与改动直接相关的编译、类型检查或静态检查;不要运行带自动修复的格式化或 Lint。
- 只修复本次改动引入的问题。发现已有无关问题时停止扩大修改,并在交付中简要注明。
- 无法运行检查时说明原因,不用测试代码或额外脚手架补偿。
- 用“实现摘要、关键文件、检查结果、遗留问题”四项以内完成交付;没有遗留问题时省略该项。