From 389d6f2de9814bdb1a4b4c48a4b9ba6ad69632b0 Mon Sep 17 00:00:00 2001 From: Codex Date: Sat, 18 Jul 2026 03:48:13 -0400 Subject: [PATCH] Require Topics publication and verification --- CHANGELOG.md | 9 +++++++++ README.md | 3 ++- SKILL.md | 4 ++++ references/description-guide.md | 2 +- references/mcp-push-guide.md | 15 +++++++++++++-- 5 files changed, 29 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7398426..c7d3a80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [1.4.1] - 2026-07-18 + +### Fixed + +- Made repository Topics and Description mandatory publication actions rather than recommendations. +- Added post-publish metadata read-back verification for connector and GitHub CLI modes. +- Required manual handoff to mark unset Topics as pending with copy-ready values instead of silently reporting completion. + ## [1.4.0] - 2026-07-18 ### Added @@ -41,3 +49,4 @@ [1.3.0]: https://github.com/hyt315/github-oss-prep/releases/tag/v1.3.0 [1.4.0]: https://github.com/hyt315/github-oss-prep/releases/tag/v1.4.0 +[1.4.1]: https://github.com/hyt315/github-oss-prep/releases/tag/v1.4.1 diff --git a/README.md b/README.md index f1978a6..f5600ce 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ **One-click polish any project into a professional GitHub open-source repo with full community health files** [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) -[![Version](https://img.shields.io/badge/version-1.4.0-green.svg)](https://github.com/hyt315/github-oss-prep/releases/tag/v1.4.0) +[![Version](https://img.shields.io/badge/version-1.4.1-green.svg)](https://github.com/hyt315/github-oss-prep/releases/tag/v1.4.1) [![SKILL.md](https://img.shields.io/badge/Agent%20Skill-SKILL.md-green)](SKILL.md) [English](#english) | [中文](#中文) @@ -33,6 +33,7 @@ | 📤 **灵活交付** | 无认证也能完成整理并导出 ZIP;发布时支持官方 GitHub 连接器或 `gh` CLI | | 🔀 **安全发布** | 公开项目默认走分支、Draft PR、CI 与人工合并;单人低风险改动可选择直推 | | 📣 **发现与推广** | 生成 Topics、社交预览、演示素材、Launch Kit、渠道计划和反馈闭环 | +| 🔎 **元数据闭环** | 发布时真正写入并回读验证 Description 与 Topics;无认证时明确交付手动待办 | | 🌐 **中英双语** | 所有生成文件支持中英双语,符合 GitHub 全球社区最佳实践 | | 📦 **多平台分发** | 代码项目支持 npm、PyPI、crates.io、Docker Hub、Homebrew 等多渠道发布 | diff --git a/SKILL.md b/SKILL.md index 3ffdcbf..788fe34 100644 --- a/SKILL.md +++ b/SKILL.md @@ -269,6 +269,10 @@ GitHub 官方 Community Profile 考核项(Insights → Community): 如未登录,只暂停远程发布,不暂停本地整理和交付。让用户在受信任终端中完成 `gh auth login --web`,或选择手动上传。只有用户明确要求了解 PAT 时才读取 `references/github-pat-setup.md`。 +**仓库元数据是发布必做项,不是建议项**:远程仓库创建或代码推送成功后,必须实际设置已确认的 Description 和 Topics,并从 GitHub 回读验证。不能只在回复中列出 Topics。若当前认证方式无法修改元数据,则把每个未完成项标为 `待手动设置`,给出精确值与网页路径;不得报告“发布全部完成”。 + +发布后最少验证:仓库 URL、可见性、默认分支、Description、Topics、README/文件树和最新 CI 状态。回读值与确认值不一致时立即修正或清楚报告失败。 + ### 5.3 选择变更路径 默认使用 `public-safe`: diff --git a/references/description-guide.md b/references/description-guide.md index 10d4c2b..a82bc5c 100644 --- a/references/description-guide.md +++ b/references/description-guide.md @@ -1,6 +1,6 @@ # Description 生成指南 -仓库 Description 是 GitHub 搜索和「第一眼」理解项目的重要信息。写好后在 Step 5 通过已授权的官方 GitHub 连接器或 GitHub CLI 设置;无认证时将文案交给用户手动填写。 +仓库 Description 是 GitHub 搜索和「第一眼」理解项目的重要信息。写好后在 Step 5 通过已授权的官方 GitHub 连接器或 GitHub CLI 实际设置 Description 与 Topics,并从仓库回读验证;无认证时将两者作为明确的待办和可复制内容交给用户手动填写,不能只生成后跳过。 --- diff --git a/references/mcp-push-guide.md b/references/mcp-push-guide.md index 202479d..61299bb 100644 --- a/references/mcp-push-guide.md +++ b/references/mcp-push-guide.md @@ -4,7 +4,7 @@ Use this guide only after the user has approved the repository name, visibility, ## Mode A: official GitHub connector -If the current platform exposes an authenticated official GitHub connector, use its repository-creation and file-push operations. Verify the resolved GitHub account and intended repository before creating anything. Do not request, read or print a token. +If the current platform exposes an authenticated official GitHub connector, use its repository-creation, file-push and repository-metadata operations. After the repository exists, set the approved Description and full Topics list; then read repository metadata back and compare exact values. Verify the resolved GitHub account and intended repository before creating anything. Do not request, read or print a token. Do not tell users to install an arbitrary npm MCP package. GitHub's maintained MCP implementation is `github/github-mcp-server`; prefer its remote OAuth setup when the host supports it, and follow that host's current configuration schema. @@ -33,6 +33,15 @@ git remote add origin https://github.com/OWNER/REPO.git git push -u origin BRANCH ``` +Set repository metadata after the repository exists: + +```text +gh repo edit OWNER/REPO --description "APPROVED DESCRIPTION" --add-topic topic-one --add-topic topic-two +gh repo view OWNER/REPO --json description,repositoryTopics,defaultBranchRef,visibility +``` + +Pass every approved Topic with a separate `--add-topic`. Compare the returned topic names with the approved list. If the CLI version cannot manage Topics, use the authenticated official connector or mark Topics as pending manual setup; do not silently omit them. + Never embed credentials in a remote URL, command argument, file, log or chat message. ## Mode C: manual handoff @@ -44,8 +53,10 @@ When neither connector nor GitHub CLI authentication is available, finish the wo - the exact file list and privacy-scan result; - simple instructions to create a blank GitHub repository in the browser and upload the prepared files. +For manual metadata setup, tell the user to open the repository homepage, select the gear beside **About**, paste the exact Description and Topics, save, and then confirm the visible values. Keep `Description` and `Topics` in a copy-ready block. + Clearly report only remote publishing as pending. Do not call the whole open-source preparation blocked or failed. ## Post-push verification -Confirm the repository URL, default branch, visibility, description and uploaded file list. Re-scan the published tree for secrets and unresolved placeholders. Do not create a Release, tag, package publication or repository setting change without a separate user confirmation. +Confirm the repository URL, default branch, visibility, Description, complete Topics list and uploaded file tree. Re-scan the published tree for secrets and unresolved placeholders, and report the latest required CI checks. A repository with missing or mismatched Topics is not fully published: correct it or label it `pending manual metadata setup`. Do not create a Release, tag, package publication or external promotion without separate user confirmation.