版本 v0.2 | 创建 2026-06-10 | 最后编辑 2026-06-10 | 状态 草稿 | 作者 XXX
工程规范是考核的一部分。本文约定编码、协作、提交、完成标准,全程遵循。
server/(Go)、web/(Nuxt)、docs/(文档)。docker-compose.yml、README.md、.env.example。mise.toml(根)与 server/mise.toml(go 1.26)等子项目配置;新增工具走 mise,不手动装全局。mise run <task>:根任务 up/down/deps/logs(docker 编排),后端任务 //server:build|test|fmt|migrate|seed|api|dev。不再用 Makefile。web/)需在根 mise.toml 的 [monorepo].config_roots 注册,并 mise trust 后任务方可被发现。gofmt/goimports,golangci-lint 零告警;包名小写、无下划线。handler 只做出入参与校验;service 放业务与事务;repo 只做数据访问。跨域只走 service 接口,禁止跨域直接读表。wrap(fmt.Errorf("...: %w", err)),在 handler 统一转错误码;不吞错。context.Context;DB 写涉及多表用显式事务。config。vue-tsc/nuxi typecheck 通过;禁用 any 兜底(必要时 unknown + 收窄)。<script setup lang="ts">;基础组件放 components/ui,业务组件放 components/biz。useApi/useFetch 封装,不在组件里散落 axios。utils/enums.ts,禁止散落硬编码中文状态。ref/reactive;避免 prop 透传地狱用 provide/inject 或 store。snake_case(DB)/camelCase(TS 变量)/PascalCase(组件、Go 导出类型)。snake_case;接口路径复数名词;枚举值小写下划线。main:可交付稳定分支。feat/<scope>、fix/<scope>、docs/<scope>;小步提交,频繁合并。<type>(<scope>): <subject>
[可选 body:为什么这么改]
type:feat | fix | docs | refactor | test | build | chore | style | perf。scope:模块名(org/employee/process/approval/web/server/docs/deploy…)。feat(process): 调动流程生效后写入任职履历与人事动态。06-roadmap.md 的 WBS 勾选项粒度提交;每完成一个可验证的小功能即提交。docs/03、docs/04 并 bump 版本。docs/,编号递进;requirements.md 只读不可编辑。03、接口→04、产品→01;交叉引用而非复制。docs/slides/(Slidev)承载。.env 不入库,提供 .env.example 占位;密钥仅在部署环境注入。ChangeMe@123 仅用于内网 demo,README 注明。audit_logs.body 做脱敏与长度截断。一个功能项「完成」需同时满足:
01 的产品定义可用,三态(加载/空/错)齐全。04 约定(响应/分页/错误码/权限点)。03,写操作有审计 + 关键变更有 hr_events。| 版本 | 日期 | 作者 | 说明 |
|---|---|---|---|
| v0.1 | 2026-06-10 | XXX | 初稿:目录/编码/Git/文档/配置规范、DoD、评审 checklist |
| v0.2 | 2026-06-10 | XXX | 新增 mise 工具链/任务规约,移除 Makefile 约定 |