2949984428_claude-skill-sync/PUBLISH.md
2026-04-23 16:16:00 +08:00

4.9 KiB
Raw Permalink Blame History

发布到 GitHub + Obsidian 插件商店

本指南假设你已安装 gitghGitHub CLI且已 gh auth login

一次性准备:替换占位符

发布前先把这些 <YOUR-...> 占位符替换成你的真实信息:

# 在仓库根目录执行macOS
cd ~/Documents/claude-skill-sync
sed -i '' 's/<YOUR-NAME>/你的真名/g' manifest.json LICENSE
sed -i '' 's/<YOUR-GITHUB>/你的GitHub用户名/g' manifest.json README.md docs/USAGE.md

或者手动编辑:

  • manifest.jsonauthorauthorUrl
  • LICENSE → 版权人姓名
  • README.md → repo 链接
  • docs/USAGE.md → repo 链接

第一阶段:发布到 GitHub

1. 初始化 git 仓库

cd ~/Documents/claude-skill-sync
git init
git add .
git status     # 确认 data.json 已被 .gitignore 忽略
git commit -m "Initial release v0.1.0"

2. 在 GitHub 创建公开 repo 并 push

gh repo create claude-skill-sync --public --source=. --push --description "Manage AI coding agent Skills from your Obsidian vault"

或网页创建后:

git branch -M main
git remote add origin https://github.com/<你的用户名>/claude-skill-sync.git
git push -u origin main

3. 创建 v0.1.0 ReleaseObsidian 商店硬要求

商店审核会从 GitHub Releases 拉取 manifest.json / main.js / styles.csstag 名必须等于 manifest.json 的 version不带 v 前缀

gh release create 0.1.0 \
  manifest.json main.js styles.css \
  --title "0.1.0 — 首发版本" \
  --notes-file CHANGELOG.md

注意三个 asset 必须直接上传到 release不是源码 zip 里)。

4. 验证 release 可访问

curl -sI https://github.com/<你的用户名>/claude-skill-sync/releases/download/0.1.0/manifest.json | head -1
# 期望 200 或 302

第二阶段:提交到 Obsidian 插件商店

1. Fork obsidianmd/obsidian-releases

gh repo fork obsidianmd/obsidian-releases --clone --remote
cd obsidian-releases

2. 编辑 community-plugins.json追加你的条目

打开文件,在数组末尾追加(注意前一项末尾要补逗号):

{
  "id": "claude-skill-sync",
  "name": "Claude Skill Sync",
  "author": "<你的真名>",
  "description": "Manage AI coding agent Skills (Claude Code, Codex, Cursor, Gemini, and more) from your Obsidian vault. One source, symlinked to each tool.",
  "repo": "<你的GitHub用户名>/claude-skill-sync"
}

repo 字段格式必须是 <owner>/<repo-name>,不带 https://。

3. 提交 PR

git checkout -b add-claude-skill-sync
git add community-plugins.json
git commit -m "Add Claude Skill Sync plugin"
git push origin add-claude-skill-sync
gh pr create --repo obsidianmd/obsidian-releases \
  --title "Add Claude Skill Sync" \
  --body "Plugin repo: https://github.com/<你的用户名>/claude-skill-sync

Manages AI coding agent Skills from Obsidian vault, symlinked to Claude Code / Codex / Cursor / 18+ tools."

4. 等待审核

  • 自动检查bot通常几分钟内完成会跑 manifest.json 校验、文件存在性、命名规范等
  • 人工审核1-4 周(受 Obsidian 团队的处理速度影响)
  • 如果 bot 标红,修复后 push 同分支即可重新触发

常见审核问题与修复

问题 原因 修复
Release tag 不匹配 tag 用了 v0.1.0 而非 0.1.0 gh release delete v0.1.0 后用正确 tag 重发
manifest.json not found in release 上传到 release 时没附 asset gh release upload 0.1.0 manifest.json main.js styles.css
id 已被占用 跟现有插件 id 冲突 改一个独特的 id记得 manifest.json 和商店 PR 都改
包含 console.log 商店要求 production 代码无调试输出 全文搜 console. 删除或注释
data.json 被提交 .gitignore 没生效 git rm --cached data.json && git commit
Description 太长 > 250 chars 会被警告 精简到一句话
innerHTML 用法 Obsidian 出于 XSS 安全禁止 innerHTML 改用 createEl / setText

后续版本发布流程

# 1. 改 manifest.json 的 version (如 0.2.0)
# 2. versions.json 加新条目: "0.2.0": "1.4.0"
# 3. CHANGELOG.md 加新版本说明
# 4. 提交并打 tag
git add manifest.json versions.json CHANGELOG.md
git commit -m "Release v0.2.0"
git push

# 5. 创建新 release
gh release create 0.2.0 manifest.json main.js styles.css \
  --title "0.2.0 — 描述" \
  --notes "见 CHANGELOG.md"

新版本发布后不需要再提交 PR 到 obsidian-releases,商店会自动从你的 GitHub Releases 拉新版。

用户安装方式

商店审核通过后,用户可以:

  1. Obsidian → 设置 → 第三方插件 → 浏览
  2. 搜索 "Claude Skill Sync"
  3. Install → Enable

也可以用 BRAT 提前预览(无需等审核):

  • 在 BRAT 里 Add Beta Plugin → 输入 <你的用户名>/claude-skill-sync