用途
该技能用于把一个已完成的本地项目整理成干净、可发布的 GitHub 仓库。它把仓库创建、公开可见性和部署视为相互独立的关卡,并明确指出:推送成功并不代表公开站点可以正常工作。
主要能力
技能会产出以下适用项:范围明确的 Git 仓库、有意设定为公开或私有的 GitHub 仓库、项目专属的 README.md、项目为视觉类时提供真实预览图、在能增加价值时提供可移植的构建或重混提示、为兼容的 Web 项目配置 GitHub Pages 站点,以及推送后和部署后的回读验证。
使用方式
技能按以下步骤推进:
-
确认范围与授权:检查本地项目、仓库状态、远程和本地说明,确认项目目录、仓库名与所有者、公开或私有、更新已有仓库还是新建、是否需要在线站点。只有在用户明确要求公开分享、公开 URL、开源或同等意图时,才授权创建公开仓库。
-
打包前审计:在项目根目录运行捆绑的审计脚本
bash /path/to/publish-project-to-github/scripts/audit_public_project.sh .,然后人工检查发现的问题。遇到 API 密钥、令牌、私钥、密码或 .env 文件、个人数据、运行时必需的绝对本地路径、未授权资产、缺失运行时文件、仓库名归属不清等情况时,阻止发布。 -
选择打包模型:根据现有仓库是否干净、工作区是否混杂、是否已有公开仓库,选择清理现有仓库、创建干净项目目录或检查已有公开仓库。静态单文件实验推荐最小结构:
project-name/下含index.html、README.md、可选PROMPT.md、可选assets/和.gitignore。 -
构建仓库展示:基于真实项目撰写 README,可使用
assets/README-template.md作为起始结构。内容应包含项目名与一句话说明、顶部附近的在线演示链接、真实运行截图或 GIF、关键交互或功能、架构与特殊实现说明、准确的本地运行说明、项目结构、运行时依赖与网络要求、原创性或归属说明。避免“前沿”“惊艳”“生产就绪”等泛泛表述。 -
本地验证:使用项目真实运行时,而非直接从磁盘打开基于模块的站点。静态站点可运行
python3 -m http.server 4173 --bind 127.0.0.1,检查初始渲染、主要交互路径及其返回或关闭路径、桌面与约 390 × 844 的窄视口、README 中每条运行命令、缺失文件与 404、控制台错误与警告、仓库子路径下的相对 URL。 -
提交并创建仓库:需要 GitHub CLI 和已认证会话,运行
gh --version和gh auth status。创建前检查名称可用性:gh repo view OWNER/REPOSITORY。初始化并只提交预期包:git init -b main、git add -- README.md index.html .gitignore、git diff --cached --check、git commit -m "Publish PROJECT_NAME"。审计与本地验证通过后创建并推送:gh repo create OWNER/REPOSITORY --public --source=. --remote=origin --push --description "CONCRETE_DESCRIPTION"。除非已授权公开,否则使用--private。 -
配置公开站点:启用 Pages 前先分类项目。静态根目录发布 main 和
/;静态 docs 文件夹发布 main 和/docs;框架构建使用框架支持的 Pages 输出和当前官方 GitHub Actions 指南;服务器、数据库或私有运行时与 GitHub Pages 不兼容,需说明阻碍并在用户授权下另选主机。更改 Pages 设置前阅读references/github-pages.md。 -
验证外部状态:回读所有外部更改,使用
gh repo view OWNER/REPOSITORY --json nameWithOwner,url,visibility,description,homepageUrl,defaultBranchRef、gh api repos/OWNER/REPOSITORY/pages、gh api repos/OWNER/REPOSITORY/pages/builds/latest。等待 Pages 构建报告 built 或明确失败,然后打开公开 URL 验证 HTTPS 导航、预期 UI、代表性交互、子路径资源、浏览器错误与警告、README 链接。 -
交接确切结果:返回仓库 URL、公开站点 URL(如创建)、提交与分支、Pages 构建状态、实际运行的检查、仍存在的依赖、许可或部署限制。区分“已推送”“Pages 已配置”“Pages 已构建”“在线站点已验证”,不要合并为单一成功声明。
适用场景
适用于将已完成的本地项目发布到 GitHub,尤其是需要生成 README、预览图、配置 GitHub Pages 并验证公开站点可用的场景。
限制
技能包含失败规则:保留无关的未提交工作与历史;不发布密钥,若已提交需在推送前从历史中移除;本地上下文无法解析时不猜测 GitHub 所有者或已有仓库目标;不声称 file:// 预览能证明 GitHub Pages 兼容性;不以 CLI 成功退出作为外部写入的唯一验证;GitHub Pages 不兼容时不静默替换为其他主机。