We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SupenBysz/gitea-mcp-tool'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
# AI Claude 开发规范
本文档为 AI 助手(Claude)提供项目开发和发布的标准操作流程。
## 项目概述
- **项目名称**: gitea-mcp-tool
- **npm 包名**: gitea-mcp-tool
- **主仓库**: Gitea (gitea.ktyun.cc:Kysion/entai-gitea-mcp)
- **镜像仓库**: GitHub (github.com:SupenBysz/gitea-mcp-tool)
- **npm 发布**: 通过 GitHub Actions 自动化
## 发布工作流
```
本地开发 → Gitea (主仓库) → GitHub (镜像) → npmjs (自动发布)
```
## 标准发布流程
### 1. 版本更新
根据更新类型选择版本号:
```bash
# 修复 bug (1.5.3 → 1.5.4)
npm version patch
# 新功能 (1.5.3 → 1.6.0)
npm version minor
# 重大变更 (1.5.3 → 2.0.0)
npm version major
```
### 2. 构建项目
```bash
npm run build
```
### 3. 提交更改
```bash
git add .
git commit -m "chore: release vX.X.X"
```
### 4. 同步到两个仓库
**推荐方式**:使用同步脚本
```bash
./sync-to-github.sh
```
**手动方式**:
```bash
# 推送到 Gitea
git push origin main --tags
# 推送到 GitHub
git push github main --tags
```
### 5. 创建 Gitea Release(可选)
如果需要在 Gitea 上创建 Release:
```bash
# 使用 keactl 创建
keactl release create --tag vX.X.X --name "vX.X.X" --body "发布说明"
# 或使用 API
curl -X POST \
-H "Authorization: token ${GITEA_API_TOKEN}" \
-H "Content-Type: application/json" \
"https://gitea.ktyun.cc/api/v1/repos/Kysion/entai-gitea-mcp/releases" \
-d '{
"tag_name": "vX.X.X",
"name": "vX.X.X",
"body": "发布说明"
}'
```
### 6. 验证自动发布
推送 tag 到 GitHub 后,自动触发:
1. ✅ GitHub Actions 构建
2. ✅ 发布到 npmjs
3. ✅ 创建 GitHub Release
查看状态:https://github.com/SupenBysz/gitea-mcp-tool/actions
## 完整发布清单
在发布新版本前,请确认:
- [ ] 代码已经过测试
- [ ] 更新 `package.json` 版本号(`npm version` 会自动完成)
- [ ] 更新 `README.md` 版本说明(如有必要)
- [ ] 运行 `npm run build` 构建成功
- [ ] 提交所有更改
- [ ] 创建版本标签
- [ ] 推送到 Gitea:`git push origin main --tags`
- [ ] 推送到 GitHub:`git push github main --tags`
- [ ] 验证 GitHub Actions 发布成功
- [ ] 验证 npm 包已更新:`npm view gitea-mcp-tool`
## GitHub Actions 配置
### 必需的 Secret
在 GitHub 仓库设置中配置:
- **NPM_TOKEN**: npm 访问令牌
- 位置:https://github.com/SupenBysz/gitea-mcp-tool/settings/secrets/actions
- 值:你的 npm access token(从 npmjs.com 获取)
- 获取方式:`npm login && npm token create --read-only=false`
### 工作流文件
`.github/workflows/npm-publish.yml`
- 触发:推送 `v*` 格式的 tag
- 步骤:checkout → setup Node.js → install → build → publish
- 自动创建 GitHub Release
## 故障排查
### 发布失败
1. **检查 GitHub Actions 日志**
- https://github.com/SupenBysz/gitea-mcp-tool/actions
- 查看失败的步骤和错误信息
2. **常见问题**
- NPM_TOKEN 过期或未配置
- 版本号已存在(需要增加版本)
- 构建失败(检查本地是否能成功构建)
3. **回滚操作**
```bash
# 删除本地标签
git tag -d vX.X.X
# 删除远程标签
git push origin :refs/tags/vX.X.X
git push github :refs/tags/vX.X.X
```
### 同步问题
如果两个仓库不同步:
```bash
# 查看远程仓库状态
git remote -v
# 强制同步到 GitHub
git push github main --tags --force
# 查看所有标签
git tag
# 单独推送某个标签
git push github vX.X.X
```
## 远程仓库配置
项目配置了两个远程仓库:
```bash
# Gitea (origin) - 主仓库
origin gitea.ktyun.cc:Kysion/entai-gitea-mcp.git (fetch)
origin gitea.ktyun.cc:Kysion/entai-gitea-mcp.git (push)
# GitHub (github) - 镜像仓库
github git@github.com:SupenBysz/gitea-mcp-tool.git (fetch)
github git@github.com:SupenBysz/gitea-mcp-tool.git (push)
```
## 维护命令
```bash
# 查看当前版本
npm view gitea-mcp-tool version
# 查看包信息
npm view gitea-mcp-tool
# 查看所有标签
git tag
# 查看最近的提交
git log --oneline -10
# 查看远程仓库
git remote -v
# 测试本地安装
npm link
gitea-mcp --help
```
## 开发提示
### 本地测试
```bash
# 监听模式开发
npm run dev
# 构建
npm run build
# 本地全局安装测试
npm link
```
### 代码规范
```bash
# 检查代码风格
npm run lint
# 自动修复
npm run lint:fix
# 类型检查
npm run typecheck
```
## 相关链接
- **Gitea 仓库**: https://gitea.ktyun.cc/Kysion/entai-gitea-mcp
- **GitHub 仓库**: https://github.com/SupenBysz/gitea-mcp-tool
- **npm 包**: https://www.npmjs.com/package/gitea-mcp-tool
- **GitHub Actions**: https://github.com/SupenBysz/gitea-mcp-tool/actions
## 注意事项
1. **不要手动发布到 npm**
- 所有 npm 发布都应通过 GitHub Actions 自动完成
- 避免因手动操作导致的版本不一致
2. **标签命名规范**
- 必须使用 `v` 前缀:`v1.5.3`
- 遵循语义化版本:`vMAJOR.MINOR.PATCH`
3. **同步顺序**
- 始终先推送到 Gitea(主仓库)
- 再推送到 GitHub(触发自动发布)
4. **版本一致性**
- package.json 版本号
- git tag 版本号
- README.md 版本说明
- 三者必须保持一致
5. **构建验证**
- 推送前必须确保本地构建成功
- 检查 `dist/` 目录是否正确生成
## 快速参考
```bash
# 完整发布流程(一键)
npm version patch && \
npm run build && \
git add . && \
git commit -m "chore: release v$(node -p 'require("./package.json").version')" && \
./sync-to-github.sh
# 查看发布状态
open https://github.com/SupenBysz/gitea-mcp-tool/actions
# 验证 npm 发布
npm view gitea-mcp-tool version
```