mcpField
G
github-codespaces-efficiency

github-codespaces-efficiency

github.com/github云与 DevOps40.5k101 次安装今天更新
代码仓库

关于 github-codespaces-efficiency

用于审查并改进仓库 GitHub Codespaces 效率的技能。它依据审计证据提出启动时间和开销方面的调整,并通过约束兼顾日常开发工具与开发体验。

主要功能

  1. 01审查 devcontainer 与 Codespaces 用量
  2. 02评估机器规格和预构建范围
  3. 03调整空闲超时与镜像大小
  4. 04筛选最多三项有据可依的改进
  5. 05验证变更并报告预期影响

适用场景

  1. 01排查 Codespaces 启动缓慢
  2. 02检查 Codespaces 开销来源
  3. 03为仓库设置 devcontainer
  4. 04评估现有 Codespaces 配置

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/github/awesome-copilot --skill github-codespaces-efficiency

安装后在 Claude Code 中输入/github-codespaces-efficiency确认已加载。

附带文件references/codespaces.mdreferences/review-rubric.md

详细介绍

GitHub Codespaces 效率

将此技能作为 GitHub Codespaces 效率工作的精简入口。检查仓库,识别浪费,仅加载所需的参考资料。

如果尚不存在 .devcontainer/,请加载 references/codespaces.md,并在继续执行以下步骤之前定义基线。

适用场景

  • 用户希望加快 Codespaces 启动速度或降低 Codespaces 支出。
  • 仓库包含 .devcontainer/,或存在明确的 Codespaces 配置问题。
  • 用户要求提供 devcontainer 优化、机器规格选择、预构建策略或空闲超时指导。
  • 用户首次设置 Codespaces,或需要帮助从零开始创建新的 .devcontainer/。

仅加载所需内容

核心工作流

1. 先测量
find .devcontainer -maxdepth 2 -type f
gh codespace list
repo=$(gh repo view --json nameWithOwner --jq .nameWithOwner)
gh api "/repos/$repo/codespaces/machines"

如果 gh 认证失败或用户缺少仓库管理员权限范围,请继续对 .devcontainer/ 文件进行静态分析;将机器类型和预构建建议标记为未验证。

检查以下情况:devcontainer 镜像大于 2 GB 或包含超过 10 个 feature,机器类型超出使用数据支持的范围,缺失 devcontainer-lock.json(建议添加 — 许多仓库早于锁文件支持),预构建范围过宽,以及空闲超时与使用模式不匹配。

2. 应用护栏

在推荐每项拟议修复之前,对照以下规则进行检查:

  1. 不得移除团队每天使用的工具 — 放弃任何会移除所需开发工具或扩展的修复。
  2. 不得假设越小越好 — 在机器成本与开发者体验和吞吐量之间取得平衡。
  3. 不得将 devcontainer 变成生产镜像 — 放弃任何添加仅用于生产的依赖项的修复,除非团队明确要求。
  4. 优先采用增量变更 — 只有在不存在 .devcontainer/ 时才适合全新基线;对于会重构现有配置的变更,请标记(不要放弃)。
  5. 仓库变更与组织设置保持分离 — 将任何混合了仓库可编辑文件与组织级或用户级 Codespaces 设置的修复拆分为两条不同的建议。
3. 选择前 3 项修复

从以下六个候选项中,仅保留有步骤 1 审计证据支持且通过步骤 2 所有护栏的项。按预估每月成本节省(USD)对通过项排序。选择所有同时满足两项标准的候选项,最多 3 项。

  1. 精简 devcontainer — 移除日常开发工作不需要的 feature、包或扩展;目标镜像小于 2 GB 且 feature 少于 10 个
  2. 调整机器类型至合适规格 — 匹配观察到的使用模式;如果数据不可用,请明确说明假设
  3. 限定预构建范围 — 为默认分支、最近 14 天内活跃的 release/* 分支以及每周超过 5 个 Codespaces 的分支启用;其他分支全部禁用
  4. 调整空闲超时 — 默认 30 分钟;如果大多数会话在 30 分钟前结束,则为 15 分钟;如果大多数会话运行时间更长,则为 60 分钟
  5. 移除未使用的扩展或端口转发规则
  6. 减小 devcontainer 镜像大小并改进层缓存
4. 验证
  • 启动一个测试 Codespace,以确认 devcontainer 变更能够按预期构建和启动。
  • 在有遥测数据时,根据观察到的使用情况验证机器规格选择;否则标记为未验证。
  • 即使配置看起来正确,也要将意外的构建或启动失败视为真实 bug。

必需输出

浪费源: [主要成本或启动时间驱动因素]

建议修复: [审计证据支持且通过护栏的前 3 项变更]

验证: [已验证线上 / 仅静态 / 剩余风险]

影响:

  • 启动时间:[预期] / [如有测量值]
  • 每月支出:[预期] / [如有测量值]
  • 资源利用率:[预期] / [如有测量值]

参考

评论

支持 Markdown