核心原则
「零构建」指运行时不经过打包:源码
public/*.js、public/*.css 直接可读,同时仓库里提交了对应的 *.min.js / *.min.css 产物供线上加载。产物由 node scripts/minify.mjs 生成,不要手工编辑。JavaScript 规范
文件头
命名
缩进
2 空格。兼容性
- 前端只使用浏览器原生 API(无 polyfill、无转译),因此
public/*.js保持 ES5 风格写法(var/function),便于file://直接预览 - 后端
functions/与worker.js运行在 Workers 运行时,可使用 ES Module 语法(import/export)
SQL 规范
- 新建表使用
CREATE TABLE IF NOT EXISTS - 索引使用
CREATE INDEX IF NOT EXISTS - 查询使用参数化绑定(
db.prepare(sql).bind(...)),不拼接字符串 - SQLite 没有
ADD COLUMN IF NOT EXISTS:加列迁移无法幂等,必须在.github/workflows/deploy.yml的列预检case分支里登记「表名 + 列名」,详见迁移脚本 - 索引列顺序遵循
(等值过滤列 …, 排序列 …),让 SQLite 免去临时排序;注意 SQLite 不允许把rowid用作索引列
CSS 规范
- CSS 变量定义主题色(明暗主题 × 4 种强调色:
terra/indigo/bamboo/dusk) - 响应式断点统一
- 新增重资源(播放器、背景动画等)不要在首屏关键路径加载
文档规范
主仓库文档中英双语:长文档统一放在docs/,采用 X.md + X_EN.md 成对文件(首行互相链接做语言切换),短文档在单个文件内中英对照;新增文档要补进 docs/README.md 的「文档索引」表。中文表述是权威版本,英文版与中文版同步更新。
Git 规范
分支命名:feature/、fix/、docs/、refactor/
Commit 格式:Conventional Commits
