- monorepo: pnpm workspace + go.work + pyproject.toml + commitlint/husky - infra: docker-compose (minimal + full profiles) + init-sql + prometheus - arch-scan: multi-language scanner skeleton (TS/Go/Python/Proto) - shared-proto: buf v2 + classes.proto (ClassService CRUD contract) - api-gateway: Go/Gin + JWT HS256 auth + reverse proxy + request ID - classes: NestJS golden template (error system + observability + middleware + CRUD + tests) - teacher-portal: Next.js + paper-feel UI design system - CI/CD: 4 workflows (go/ts/py/proto) - docs: migration guide + project_rules + coding-standards + git-workflow + ui-design-system + 004 + 9 module READMEs + known-issues + spec/plan migration + roadmap
1.0 KiB
1.0 KiB
Contributing
开发环境要求
- Node.js 20+
- pnpm 9+
- Go 1.22+
- Python 3.12+
- Docker Desktop
- buf 1.40+ (
go install github.com/bufbuild/buf/cmd/buf@latest)
开发流程
- 从 main 创建 feature 分支:
git checkout -b feature/xxx - 开发并确保 CI 通过:
pnpm lint && pnpm test && pnpm build - 提交 PR 到 main
- CI 全绿后合并
提交规范
使用 Conventional Commits:
<type>(<scope>): <description>
types: feat, fix, chore, docs, style, refactor, test, perf, ci
scope: 服务名或包名(如 api-gateway, classes, shared-proto)
示例:
feat(api-gateway): add JWT auth middlewarefix(classes): resolve N+1 query in list classesdocs(004): update service dependency graph
文档同步
修改代码后必须:
- 运行
pnpm run arch:scan更新 arch.db - 若架构意图变化,更新
docs/architecture/004_architecture_impact_map.md - 若服务接口变化,更新对应
docs/modules/<service>/README.md - 若发现新经验,更新
docs/troubleshooting/known-issues.md