Skip to content

Latest commit

 

History

History

README.md

共享工程工具配置

Biome 分层(必读)

文件 用�?
biome.json **全生态基�?*(缩进、引号、通用 TS 规则�?
biome.server.json NestJS / server
biome.web.json React + Rsbuild(web�?
biome.mobile.json React Native(排�?android/ios�?
biome.desktop.json Electron(extends web�?

*每个子仓�? 根目录要有自己的 biome.jsonextends 对应上表(在 Meta-Repo 内用相对路径 ../tooling/...)�?

Meta-Repo *根目�? biome.json 只检查脚手架(tooling.github 等)�?*�?*检�?web/mobile/ 业务代码(见 meta-repo-development-spec.md)�?


Git Hooks(Husky�?

�?*子仓库独�? Git,提交前�?*该仓�? 执行�?

  1. biome check --staged(仅暂存文件�?
  2. pnpm test(Rstest 单测�?

提交信息�?commitlint(Conventional Commits)校验�?

启用方式(Meta-Repo �?clone�?

子仓�?package.json 已配置:

"prepare": "node ../tooling/scripts/setup-husky.mjs"

首次或更新依赖后�?

cd server   # �?web、shared�?
pnpm install

将生�?.husky/pre-commit.husky/commit-msg(带 @vistaremote/husky 标记,可安全覆盖)�?

共享脚本:husky/pre-commit.shscripts/setup-husky.mjs�?

**单独 clone 子仓�?*(无 ../tooling)时:将 tooling/husky �?commitlint.config.cjs 合并进该仓,或发�?@vistaremote/tooling(P1)�?


CI / 安全 / 性能 / 发布

能力 位置
质量门禁 各仓 ci.ymlsetup-shared �?lint �?test �?build
shared 发布 shared/.github/workflows/release.yml(tag v*�?
下游同步 消费�?sync-shared.ymlrepository_dispatch�?
服务发版 server/ai release.yml(Docker �?GHCR�?
依赖审计 pnpm audit --audit-level=high
PR 依赖审查 .github/workflows/dependency-review.yml
静态安全分�? CodeQL(javascript-typescript�?
Web E2E web/.github/workflows/e2e.yml(Playwright�?
Server 性能 server/perf/k6/ + .github/workflows/perf.yml(k6�?

规范:spec/cicd-release-spec.md�?

# 同步 workflow / composite action 到各子仓
node tooling/scripts/setup-github-workflows.mjs

# 手动 pin shared 版本(发版后�?
node tooling/scripts/pin-shared-version.mjs 0.2.0

# 恢复本地 file: 依赖(Meta 联调�?
node tooling/scripts/restore-shared-file-deps.mjs

模板:github/workflows/ci-node.ymlgithub/actions/setup-shared�?

Server k6

cd server
pnpm build && pnpm start:prod   # 另开终端
pnpm test:perf                  # 需本机安装 k6

IDE 配置(Cursor / VS Code / EditorConfig�?

路径 说明
tooling/cursor/*.mdc Cursor Rules 模板(按仓库类型组合�?
tooling/templates/ EditorConfig、VS Code 设置模板
tooling/scripts/setup-ide-config.mjs 同步到各子仓�?
# Meta-Repo 根目�?
node tooling/scripts/setup-ide-config.mjs

各子仓库将获得:.editorconfig.vscode/.cursor/rules/AGENTS.md�?


Node.js

�? �?
engines >=24.0.0
.nvmrc 24.11.0(Rspack/Rstest 推荐�?
CI node-version: 24.11

各仓 .npmrc 可启�?engine-strict=true,在错误 Node 版本下阻�?pnpm install�?


package.json 脚本(每个子仓库�?

{
  "scripts": {
    "lint": "biome check .",
    "lint:fix": "biome check --write .",
    "test": "rstest",
    "prepare": "node ../tooling/scripts/setup-husky.mjs"
  },
  "devDependencies": {
    "@biomejs/biome": "^2.4.15",
    "@commitlint/cli": "^19.8.0",
    "@commitlint/config-conventional": "^19.8.0",
    "husky": "^9.1.7"
  }
}

commitlint.config.cjs�?

module.exports = require('../tooling/commitlint.config.subrepo.cjs');

子仓�?biome.json 模板

见上文各�?extends 路径;完整说明见 meta-repo-development-spec.md�?