← ClaudeAtlas

repo-publishlisted

Private リポを Public 化する。全履歴のシークレットスキャン → 公開 → 公開時にしかできない設定(ruleset・auto-merge)までを一括で行う。公開したいとき、gh repo edit --visibility を打ちたくなったときに必ず使用する。
yktsnet/dotfiles-public · ★ 1 · Testing & QA · score 68
Install: claude install-skill yktsnet/dotfiles-public
# repo-publish Private → Public は**公開後に取り消せない唯一の不可逆点**(履歴は fork・クロール・アーカイブに残りうる)。gh 一発で公開せず、必ず本手順を踏む。 **公開パイプラインの固定順**: `repo-standardize → guarantee-audit → repo-readme → readme-i18n → repo-publish → repo-about`。本 Skill は**第5**。この順は都度再判断しない。 ## 前提 - `repo-standardize` 済み(LICENSE・README コアメッセージ・CI・dependabot)。未実施ならそちらが先。 - README 肉付け(`repo-readme`)・英語版(`readme-i18n`)は公開前に済んでいるのが既定。user が明示的に急ぐ場合のみ省略可。 ## 1. 全履歴シークレットスキャン(公開前・必須) ワーキングツリーだけでなく **git 履歴全体** を見る。 ```bash # 汎用スキャン(gitleaks) nix run nixpkgs#gitleaks -- detect --source . --log-opts="--all" ``` ```bash # フリート固有値スキャン: secrets-agents 辞書の実値が履歴に無いか # ~/dotfiles/secrets-agents/*.md の「実値」列(ドメイン・Tailscale IP・Tunnel UUID・ # OAuth Secret・SSH ユーザ等)を対象に、履歴全体を grep する git grep -I "{実���}" $(git rev-list --all) | head ``` 辞書の実値は多いので、そのリポに関係しうるもの(デプロイ先・使用サービス)に絞ってよい。た��し `<BASE_DOMAIN>`・Tailscale IP・OAuth/tskey 系は必ず全履歴を確認する。 **検出された場合**: 公開を中止して user に報告する。履歴書き換え(`git filter-repo`)は影響が大きいため相談者が勝手にやらない。 ## 2. 直前チェック ``` [ ] スキャン結果クリーン(gitleaks + 辞書 grep) [ ] LICENSE の年・owner が正しい [ ] README の画像・GIF がリポ内パス参照(外部 URL や private 依存が無い) [ ] .env が追跡されていない(git ls-files | grep -c '\.env$' が 0) [ ] GitHub Secrets に登録済みの値がワークフロー YAML に直書きされていない [ ] docs/guarantees.md が存在する、または skip 理由(テストなし等)がチャットで明示されている ``` ## 3. 公開 スキャン結果を user に提示し、公開してよいか**この時点で一度確認する**(不可逆のため。事前に「公開まで一括でやって」と明示されている場合は省略可)。 ```bash gh repo edit {owner}/{repo} --visibility public --accept-visibility-change-consequences ``` ## 4. 公開直後の設定(private/Free では設