repo-align 用于对 ~/github/kevmoo/* 下的个人仓库做对齐与卫生检查,统一 CI 工作流、Markdown 格式化配置、分析器 lint 以及 GitHub 远程设置。它通过统一的 kscripts AOT CLI 调用。
使用前需确保 kscripts 已安装并在 PATH 中;若缺失,可用 dart install 'kevmoo_scripts@{git: https://github.com/kevmoo/scripts.dart}' 安装,之后用 upkeep update dart_install 保持更新。注意不要用本地路径安装,否则会永久指向本地检出而非远程。
先做只读审计:单仓库用 kscripts repo-align check -r <repo_name>,全量用 kscripts repo-align check,可加 --json 便于程序化处理。检查项包括:分析器 lint(严格模式与规范 lint 包)、CI 工作流与 Markdown 配置(标准模板、.prettierrc.json、无多余 .prettierignore)、GitHub 远程设置(allow_auto_merge、autosubmit 标签、分支保护规则集与必需状态检查)。
修复分两步。第一步先在 worktree 中修复本地文件:创建同级 worktree,用 kscripts repo-align fix -r <repo_name> --dir <worktree_path> --ci --lints 写入工作流、prettier 与 analysis_options,再运行 kscripts lint-cleanup --package-dir <worktree_path> --rewrite;可选 kscripts tighten。提交前运行 npx --yes prettier@3.9.6 --write "**/*.md"、dart format --output=none --set-exit-if-changed .、dart analyze --fatal-infos、dart test -c source,然后推送并开 PR。第二步在文件已合并到 main 后,用 kscripts repo-align fix -r <repo_name> --github 应用远程规则集、自动合并与标签修复,最后重新 check 验证。
限制:仅面向个人仓库,需先本地后远程,避免在 main 直接改文件,否则可能造成 PR 死锁。