SuperAPI AI 工具集

standardize-project

部署与运维

查看项目

更新于 10-16 06:01

技能介绍

用途

standardize-project 用于审计一个已有代码仓库是否符合 TheFocus.AI 标准,并在获得批准后执行标准化迁移。其核心原则是:先检查,再提出计划,最后才改动;绝不盲目覆盖项目现有配置,目标是让仓库既满足标准,又仍按团队预期的方式工作。

如果只需要只读的映射报告(哪些指南适用、例外与差距、不做迁移),应改用 standards-map,或先运行它再回到本技能执行应用。

目标与事实来源

开始前必须先确定目标仓库。若未提供,应询问并停止。每次读取和编辑都要使用明确路径,避免审计一个仓库却误改另一个。

标准位于 The-Focus-AI/standards。在给出任何建议前需阅读:AGENTS.md、best-practices/GDE-009-technology-defaults.md、best-practices/GDE-008-skills.md、STD-007 与 STD-008(密钥与部署),以及适用的部署指南——best-practices/GDE-010-vercel-deployment.md、best-practices/GDE-005-gcp-deployment.md 或 best-practices/GDE-004-gce-gaia-runtime.md。此外还有 best-practices/GDE-002-clerk.md、best-practices/GDE-007-pi-extensions.md、best-practices/GDE-003-fnox-secrets.md,以及 default-project 模板(仅用于缺失文件的示例)。

若标准与目标项目自身指令冲突,应指出冲突并询问,不得静默选择一方。

审计顺序

  1. 智能体指令——AGENTS.md、CLAUDE.md、.cursor/rules 及等价物。
  2. 工具链——mise.toml、.tool-versions、包管理器文件、锁文件、脚本。
  3. 密钥——.env、.env.*、fnox.toml、.fnox/、CI 密钥引用、README 安装步骤。
  4. pi 设置——.pi/settings.json、packages、本地会话/缓存忽略项。
  5. 技能——skills-lock.json、.agents/skills/、.pi/skills/。
  6. 工作流——README、docs、GitHub remote、跟踪器使用、spec/ticket 文档、wayfinder 地图。
  7. Git 卫生——.gitignore、已提交的生成文件、已提交密钥风险。

改动前必须输出的内容

  • 当前状态:已存在什么、缺失什么。
  • 合规差距:每项对应到要求它的标准文件。
  • 拟议差异:要创建或编辑的确切文件及预期改动。
  • 密钥迁移计划:仅发现的键名,绝不包含值,以及使用哪个 1Password 保险库和服务账户。
  • 需在目标项目中运行的命令。
  • 需要的问题与批准:尤其在触碰密钥或部署之前。

除非用户要求立即执行,否则在用户批准前不得应用改动。

应用迁移

mise

使用 mise use 添加工具,绝不手工编辑:

mise use node@22 npm:pnpm fnox gh ripgrep fd
mise use npm:@earendil-works/pi-coding-agent
mise use npm:markdownlint-cli2

以增量方式合并任务并保留项目专属任务。适用时必需:install、setup、dev、lint、test、deploy、secrets:check、secrets:list。若缺失,添加 [env] 与 _.file = ".fnox/env"。

fnox 与 1Password

遵循 best-practices/GDE-003-fnox-secrets.md。目标终态:

  • 每个项目一个专用 1Password 保险库。
  • 一个仅能访问该保险库的受限服务账户。
  • .fnox/env 仅存放 OP_SERVICE_ACCOUNT_TOKEN,除引导值外不放其他内容。
  • fnox.toml 将环境变量映射到 1Password 条目。
  • 明文 env 文件在确认后隔离到 .fnox/migrated-env/ 或替换为 .env.example。
  • .fnox/、.env、.env.* 加入 gitignore——.env.example 除外。

绝不打印、提交或粘贴密钥值。在计划和对话中只使用键名。

技能

使用 skills add 安装缺失技能(由 mise 固定版本),绝不手工复制技能目录。优先使用 --skill <folder> 而非添加整个上游仓库。规范集合见 best-practices/GDE-008-skills.md 和锁定的 skills-lock.json。

迁移时移除已弃用的 to-prd 和 to-issues 条目。将标题式锁键替换为 kebab-case。确保规划工作流技能存在并在项目智能体指令中被引用。

pi

合并 .pi/settings.json——项目本地会话加上所需 packages。不要删除项目专属 pi 配置。

智能体指令

以增量方式更新或创建目标的 AGENTS.md。它应告知未来的智能体:在哪里读取项目上下文、工具链通过 mise、密钥通过 fnox 和 1Password、规划工作流如何运行、问题如何跟踪,以及哪些命令可证明项目健康。

验证

在目标项目中运行可用的命令:

mise trust && mise install && mise tasks
mise run install && mise run lint && mise run test
fnox check

若某命令无法运行,说明原因及剩余事项。以未验证声明结束的审计只是半个审计。

注意事项

  • 先检查再提议。基于对仓库的假设写出的计划会浪费它索要的评审。
  • 增量而非替换。项目专属任务和 pi 设置有其存在理由。
  • 密钥是最危险的部分。移动前获得明确批准,并在之后验证项目仍能启动。
  • 无法修复的差距仍是一项发现。应报告而非悄悄丢弃。