github项目Readme文档制作与远程推送(全自动化上传)

注:使用前需要自行检查与配置环境依赖(下方已指明安装工具)!!!

Skill作用总结

github‑project‑publisher 是一套本地项目首次标准化发布到GitHub的工作流技能,完整覆盖从本地项目到GitHub公开仓库+Release版本发布的全流程,分为5个顺序执行阶段,每个阶段设置明确确认门控,防止误提交敏感信息、错误创建仓库、误发布Release。 主要能力:

  1. 补全/创建规范的README.md,强制要求5个必备章节,保证项目文档完整性;
  2. 扫描项目目录,排查密码token、隐私信息、本地路径、临时垃圾文件等敏感内容,仅输出报告不做git操作,规避泄露风险;
  3. 完成本地git仓库初始化、main分支设置、首次commit;
  4. 使用gh工具创建公开GitHub远程仓库,关联remote并推送main主分支,执行前需要用户确认仓库名、可见性、操作清单;
  5. 可选步骤:打v0.1.0标签并创建GitHub Release,发布前需要用户单独确认Release相关内容。

约束要点:必须按阶段顺序执行;涉及用户确认的步骤,无确认不能继续执行;敏感扫描阶段只报告,不做任何git操作。

github-project-publisher SKILL.md(原文)

复制代码
---
name: github-project-publisher
description: 标准化的 GitHub 项目首次发布工作流,涵盖 README 完善、敏感信息排查、Git 仓库初始化、GitHub 远程仓库创建与推送、v0.1.0 Tag 与 Release 发布五个阶段,每阶段设有明确的确认门控。当用户需要将本地项目从零发布到 GitHub、要求按规范流程完成首次提交与公开推送、或提到"发布到 GitHub""初始化仓库""打 Tag 发 Release"等场景时使用。

---

# GitHub Project Publisher

将本地项目按标准化流程首次发布到 GitHub。全程分为五个阶段,必须按顺序执行;涉及用户确认的阶段,未获确认不得继续。

## 前置约定

- 工作目录:用户当前项目根目录。
- Git 与 GitHub CLI(gh)均已安装,无需检查安装状态。
- 所有命令在项目根目录下执行。

## 阶段一:完善 README.md

检查项目根目录是否存在 `README.md`。若不存在则创建;若存在则补全缺失部分。

README 必须包含以下五个章节,且内容必须与项目真实功能一致,不得虚构:

1. **项目解决什么问题** --- 说明项目背景与目标。
2. **主要功能** --- 列出核心功能点。
3. **安装方法** --- 依赖安装与环境配置步骤。
4. **使用方法** --- 基本运行/调用方式。
5. **输入输出示例** --- 至少一个可运行的示例,包含输入和预期输出。

完成后向用户简要汇报 README 已包含的章节。

## 阶段二:敏感信息排查

对整个项目进行扫描,检查是否存在以下内容:

- 密码或 Token(API Key、Secret、Access Token 等)
- 个人隐私(姓名、邮箱、手机号、身份证号等)
- 本地绝对路径(如 `/home/user/...`、`C:\Users\...`)
- 临时文件(`*.tmp`、`*.log`、`*.bak`、`__pycache__/`、`.DS_Store` 等)
- 测试垃圾文件
- 其他不应该公开的内容

**硬约束:本阶段只向用户报告检查结果,绝不执行任何 Git 操作(不 init、不 add、不 commit)。**

报告格式:逐项列出发现的问题及文件路径;若无问题,明确说明"未发现敏感信息"。发现问题时建议用户处理后再进入下一阶段。

## 阶段三:初始化 Git 仓库并首次提交

在用户确认阶段二无问题(或问题已处理)后执行:

1. 初始化 Git 仓库:`git init`
2. 将默认分支设为 `main`:`git branch -M main`
3. 添加所有文件:`git add .`
4. 首次提交:`git commit -m "Initial commit"`

提交完成后汇报提交哈希与文件数量。

## 阶段四:发布到 GitHub

**执行前必须让用户确认以下三项,未确认不得执行:**

1. **仓库名称** --- 默认使用项目目录名,用户可手动修改。
2. **可见性** --- 固定为 `Public`(公开)。
3. **即将执行的操作** --- 明确列出将创建远程仓库、添加 remote、推送 main 分支。

确认后依次执行:

1. 创建 GitHub 远程仓库(Public):

   ```bash
   gh repo create <仓库名称> --public --source=. --remote=origin
   ```

2. 推送 main 分支到 origin:

   ```bash
   git push -u origin main
   ```

完成后汇报仓库 URL 与推送结果。

## 阶段五:v0.1.0 Tag 与 Release

**本阶段执行前必须单独让用户确认是否执行,用户未明确同意则跳过。**

用户确认后,先检查项目是否适合发布 v0.1.0(功能基本可用、README 完整、无已知阻断性 Bug),然后准备以下内容:

1. **v0.1.0 Tag**
2. **Release 标题** --- 格式建议:`v0.1.0 - <简短描述>`
3. **简洁的发布说明** --- 概述本次发布的核心内容
4. **当前功能列表** --- 列出已实现的功能

准备好后向用户展示以上内容,获得最终确认后执行:

1. 创建并推送 Tag:

   ```bash
   git tag -a v0.1.0 -m "Release v0.1.0"
   git push origin v0.1.0
   ```

2. 发布 GitHub Release:

   ```bash
   gh release create v0.1.0 --title "<Release标题>" --notes "<发布说明 + 当前功能列表>"
   ```

完成后汇报 Release URL。

## 门控汇总

| 阶段 | 确认要求                                        |
| ---- | ----------------------------------------------- |
| 一   | 无需确认,直接执行                              |
| 二   | 只报告,不执行 Git;用户确认无问题后才进阶段三  |
| 三   | 阶段二通过后自动执行                            |
| 四   | 必须确认仓库名称、可见性、操作清单              |
| 五   | 必须单独确认是否执行;执行前再确认 Release 内容 |

项目解决什么问题

在把本地项目首次发布到GitHub时,经常遇到这些问题:README文档缺失关键信息、项目内混入密钥/本地路径等敏感文件直接提交泄露、Git仓库初始化步骤混乱、创建GitHub仓库漏确认参数、打Tag与Release发布流程不规范,容易产生安全风险与发布失误。

本项目提供一套标准化首次发布工作流,把本地项目安全、规范地发布到GitHub,通过分阶段门控确认,规避敏感信息泄露、误推送、错误发布Release等问题。

主要功能

  1. 自动检查并补全项目README.md文档,强制覆盖5个必备文档章节;
  2. 全项目敏感信息扫描:检测Token密钥、个人隐私、本地绝对路径、临时日志缓存垃圾文件,输出问题报告,不执行Git操作;
  3. 本地Git仓库初始化:初始化仓库、设置main默认分支、生成项目首次提交;
  4. 通过GitHub CLI(gh)创建公开远程仓库,关联origin远端,推送main分支代码;
  5. 可选流程:创建v0.1.0git tag,生成GitHub Release版本,填写标题与发布说明。

安装方法

环境依赖

  • Git 工具,已加入系统环境变量
  • GitHub CLI(gh),完成登录授权 本工作流不做依赖检查,使用前请自行确认两个工具已安装可用。

准备工作

  1. 将工作目录切换至你的项目根目录;
  2. 确认gh已经完成登录:gh auth status

使用方法

本工作流严格按5个阶段顺序执行,带用户确认门控:

  1. 阶段一:完善README.md 在项目根目录,脚本会检测是否存在README.md,不存在则新建,补齐「项目解决什么问题、主要功能、安装方法、使用方法、输入输出示例」5个章节。

  2. 阶段二:敏感信息排查 扫描整个项目目录,输出所有敏感/垃圾文件的问题清单;若无问题则输出未发现敏感信息。

    本阶段仅输出报告,不会执行任何git操作,需要用户确认问题处理完毕,才进入下一阶段。

  3. 阶段三:初始化Git仓库并首次提交 用户确认阶段二通过后自动执行:

    git init
    git branch -M main
    git add .
    git commit -m "Initial commit"

执行完成输出本次commit哈希以及提交文件数量。

  1. 阶段四:发布到GitHub 需要用户确认:仓库名称、仓库为Public公开、确认即将创建远程仓库+添加remote+推送main分支。 确认后执行:

    gh repo create <仓库名称> --public --source=. --remote=origin
    git push -u origin main

完成输出GitHub仓库访问链接。

  1. 阶段五:v0.1.0 Tag与Release(可选) 需要用户单独确认是否执行。 确认后,生成tag、整理Release标题、发布说明、功能列表,再次确认内容后执行:

    git tag -a v0.1.0 -m "Release v0.1.0"
    git push origin v0.1.0
    gh release create v0.1.0 --title "<Release标题>" --notes "<发布说明 + 当前功能列表>"

执行完成输出Release访问地址。

输入输出示例

示例输入

项目目录:demo-project,本地已有业务代码,无README,未初始化git;gh工具已登录成功。 用户确认:仓库名使用demo-project,公开仓库;同意执行v0.1.0 Release发布。

示例输出

复制代码
【阶段一】已生成README.md,包含章节:项目解决什么问题、主要功能、安装方法、使用方法、输入输出示例
【阶段二】未发现敏感信息
【阶段三】git初始化完成,commit哈希:aabbccdd,本次提交文件数:12
【阶段四】已创建远程仓库,仓库地址:[https://github.com/username/demo-project](https://github.com/username/demo-project),main分支推送完成
【阶段五】已创建v0.1.0标签,Release地址:[https://github.com/username/demo-project/releases/tag/v0.1.0](https://github.com/username/demo-project/releases/tag/v0.1.0)

若阶段二扫描发现敏感文件,示例输出:

复制代码
【阶段二】检测到敏感信息:
1. ./config/app.ini 包含API Key
2. ./temp/log.tmp 临时日志文件
请处理上述文件后,再继续后续流程。
相关推荐
毕竟是shy哥1 小时前
远程服务器使用github代理
github
Web极客码1 小时前
GPT-6 Astra 上手体验:如何让编码代理真正提速
服务器·gpt·ai·大模型·astra
EAIReport1 小时前
GitHub 超全使用指南|托管、协作、开源实战教程
开源·github
GHL2842710902 小时前
豆包换脸学习
学习·ai
GISMagic2 小时前
2.从零制作第一个天气 Agent:理解 Prompt、Skill 与 LangChain
ai·langchain·prompt·agent
知了一笑2 小时前
AI知识库,是捷径吗?
人工智能·ai·知识库
xiezhr2 小时前
每天白嫖 WorkBuddy 100 积分,我让WorkBuddy自己领
ai·ai agent·workbuddy
乱码三千2 小时前
密码管理工具站正式上线啦
前端·html·github