Tanplate Docs

代码格式

Prettier、ESLint、文件 Header、pre-commit 与全仓验证命令。

仓库只有一套格式与静态检查入口:Prettier 负责确定性排版,ESLint 负责语义和仓库边界,TypeScript 负责类型。不要在 workspace 内新增第二套 formatter。

常用命令

pnpm format
pnpm format:check
pnpm lint
pnpm lint:fix
pnpm typecheck
pnpm verify

pnpm verify 依次执行 format check、lint、全部 workspace 类型检查与测试,以及三个应用 build。局部开发时可以运行目标 workspace 命令,提交前仍以全仓结果为准。

配置来源

  • package.json 使用 @arvinn/prettier-config
  • eslint.config.ts 基于 @arvinn/eslint-config,集中声明 workspace TypeScript root、生成物忽略与局部规则。
  • Web 的 no-restricted-imports 禁止 lucide-react,提示转换到 Solar/Carbon Iconify。
  • apps 的 TypeScript 源码启用确定性 object key 排序门禁。

apps/docs/content/docs/**/*.mdx 不由 Prettier 自动改写,以保留合法 MDX Header 与手工内容结构;它们仍必须通过 Fumadocs generate 和 TypeScript/build 编译。

提交钩子

simple-git-hooks 调用 scripts/run-lint-staged.sh。脚本不校验 Node 版本,直接从 PATH、Homebrew 或 NVM 安装中选择可用 Node,再运行仓库本地 lint-staged,因此 VS Code Git GUI 不依赖全局 pnpm。

pre-commit 只处理暂存文件,不能替代全量 pnpm verify

文档与注释

可注释文件必须维护 INPUT / OUTPUT / POS / PROTOCOL Header;文件职责或成员变化后同步所属 .folder.md。严格 JSON 不能写注释,其契约放在目录地图中。

目录边界见 项目结构,编辑器自动化见 编辑器风格

On this page