开发规范

规范回答“使用 VextJS 时必须遵守什么、职责如何划分、能力有哪些边界”。首次完成一个任务请阅读 Guide;查询参数、默认值和类型请阅读 API 参考;遇到故障时按相关排障指南验证。

按主题阅读

主题解决的问题
架构与职责自动加载与普通模块、目录配置、初始化时机、业务与前后端边界
HTTP 与路由路由注册、输入与输出、执行顺序、覆盖配置及 OpenAPI 边界
校验与数据契约Schema、类型、授权、业务不变量和数据库约束如何分工
数据访问原始 app.db、Collection/Model、注册键、事务、多库和缓存
安全与资源身份识别、授权、Session/CSRF、安全头、限流与资源关闭
任务与调度定时任务、Redis 协调、关闭与业务幂等
构建与运行类型/行为/构建验证、配置 profile、生产产物、多进程与关闭

前端已支持与未支持能力另见前端边界与路线图。不能从 React、SSR 或 Streaming 的存在推断其他前端能力已经实现。

如何理解规则等级

等级含义
MUST为满足所述框架合同,必须遵守的条件
MUST NOT与所述合同或职责边界冲突的行为,不能采用
SHOULD通常适用的建议;项目有明确原因时可以选择其他做法,并验证相应边界
MAY可选行为,按页面给出的适用条件选择

规则先有适用条件,再判断等级。例如启用数据库的规则不要求每个应用都必须使用数据库;资源关闭建议也不代表框架能够自动取消所有外部副作用。

有些限制由运行时直接拒绝,有些职责边界需要项目设计和测试保证。以规则正文中的实现说明为准,不能把所有 MUST 都理解成已有自动静态检查器。

引用一条规则

规则使用稳定 ID,例如 VEXT-CONTRACT-001。引用时同时保留文档语言、规则 ID 和具体页面链接;不要只复制一段脱离条件的标题。

同一规则的不同语言版本共享 Rule ID。规则正文或实现版本发生变化时,应重新核对完整上下文,避免把旧快照的说明用于新的代码。

文档的分工

文档角色应承载的内容
Specification职责、合同、约束与规则等级
Guide前置条件、操作步骤、使用方式和常见问题
Reference精确类型、字段、默认值、生命周期与错误
Example可运行的组合用法与验证步骤
Troubleshooting症状、排查依据、原因、修复与复验
Resource入口、索引及其他参考资料

规则页链接到操作与参考页面,避免把每条规范扩写成重复教程。一个主题可以有多种角色的页面,角色相同也不要求全部页面使用同一章节模板。

工具引用边界

文档清单使用 docId 表达逻辑身份,具体语言记录由 (docId, locale) 区分。Rule ID 在 spec-rules.json 中的字段名是 id,规则记录由 (id, locale) 区分;例如 id: "VEXT-CONTRACT-001"。工具应使用生成产物中的实际 URL 与当前文档快照,不应根据目录名猜测另一种语言的链接。

这些标识用于引用文档和规则,不代表已经实现能力图谱或代码合规检查。更多机器索引说明见文档数据与 AI。