16-listed
Install: claude install-skill xcodethink/open-claude-code-skills
# 开源发布
**核心原则:公开仓库 / npm tarball / GitHub Release / git tag 中,零跨项目泄露、零内部规划、零个人路径、零自家产品硬编码。**
> **历史教训(一次开源发布事故)**:将一个开源 npm 包发布到 GitHub + npm 时,AI 反复声称"已检查、无敏感信息",但实际上把内部规划文档(PLAN.md / docs/research/ / docs/SLO.md)、营销文案(X 推文 / show-hn.md / launch-post / 博主外联清单)、跨项目引用(sibling project URL / 品牌名 / 文件路径如 `<internal-repo>/...`、`~/Developer/...`)、自家产品硬编码示例(scenarios 全部用某产品 URL、personas 围绕某产品评测剧本、config 以某产品命名、CI workflow 默认值是某产品名)全部泄露到公开仓库 + npm。
>
> 用户被迫多轮追加 cleanup(v1.1.2 → v1.1.3 → v1.1.4),过程中 git filter-repo 重写历史 + force-push 5 个 tag + npm deprecate 5 个旧版本。用户对"我自己审过了,没问题"这种声明零容忍。
>
> **本目录是上述教训的工程化沉淀。任何项目准备开源前,必须 100% 走完。**
---
## 触发场景
| 场景 | 必读子文件 |
|---|---|
| 项目第一次决定开源(private → public 转换) | `01-决定开源前必做.md` 全套 |
| 任何一次 publish 前(npm publish / PyPI / Docker push / git push tag / 创建 GitHub Release) | `02-Pre-publish 审计清单.md` 强制走完 |
| 写 / 维护 bundled scenarios / personas / examples / config / workflow | `03-bundled examples 通用化.md` |
| 写 CHANGELOG / Release notes / Release body | `04-CHANGELOG 和 Release 写作.md` |
| 发现已经泄露(自查发现 / 被人提醒 / Github 反馈) | `05-事故修复手册.md` |
| AI 协助开发任何 OSS 项目时 | `06-AI 协助 OSS 项目铁律.md` 必看 |
| **项目存在"私仓 → 公仓 promote"关系(持续同步而非一次性 publish)** | `08-开源专属文件夹规范.md` 强制建立 `opensource/<public-repo>/` 标准目录 |
| **新建仓库前 / 整理混淆命名 / "本地 X 与公开 X 名字一样"** | `09-仓库命名约定.md` 4 大命名分类(私有 `<Handle>-*` / staging `openskills/*` / 公开 collection / 公开独立项目) |
---
## 核心铁律(必须内化,不需要每次重读)
### 铁律 1:默认拒绝
公开仓库 / tarball / Release / tag 中,**默认所有内容都是泄露**,必须显式批准每一项才能进。`package.json#files