io.github.sethclawd-prog/schemaguard
编码与调试by sethclawd-prog
API Schema Drift Monitor — detect breaking changes in OpenAPI specs
什么是 io.github.sethclawd-prog/schemaguard?
API Schema Drift Monitor — detect breaking changes in OpenAPI specs
README
SchemGuard
API Schema Drift Monitor — detect breaking changes in OpenAPI specs before they break your consumers.
Why
APIs break silently. A field gets renamed, an endpoint gets removed, an enum value disappears — and downstream consumers break in production. SchemGuard catches these before deploy.
Install
npm install -g schemaguard
Usage
Diff two specs
schemaguard diff old-api.yaml new-api.yaml
Output:
Found 11 change(s):
❌ BREAKING CHANGES (9):
──────────────────────────────────────────────────
⛔ [endpoint-removed]
Endpoint removed: DELETE /pets/{petId}
at: DELETE /pets/{petId}
⛔ [field-type-changed]
Parameter type changed: petId (string → integer)
at: GET /pets/{petId} > param petId
...
🚨 9 breaking change(s) detected — deployment blocked.
CI mode
schemaguard ci --spec ./openapi.yaml --baseline ./main-openapi.yaml
- Exit
0= no breaking changes, safe to deploy - Exit
1= breaking changes detected, blocks the pipeline - Exit
2= error (invalid spec, file not found)
Lint a spec
schemaguard lint ./openapi.yaml
Checks for missing operationId, missing descriptions, no security schemes, etc.
JSON output
schemaguard diff old.yaml new.yaml --format json
Returns structured JSON for programmatic consumption by agents and CI tools.
What it detects
Breaking changes (exit code 1)
| Rule | Description |
|---|---|
endpoint-removed | An endpoint was deleted |
method-removed | An HTTP method was removed from a path |
required-param-added | A new required parameter was added |
param-removed | An existing parameter was removed |
request-field-made-required | A request field became required |
field-type-changed | A field's type was changed |
response-field-removed | A response field was removed |
enum-value-removed | An enum value was narrowed |
auth-requirement-changed | Security schemes were modified |
response-code-removed | A response status code was removed |
Non-breaking changes (info only)
| Rule | Description |
|---|---|
endpoint-added | A new endpoint was added |
optional-param-added | A new optional parameter was added |
response-field-added | A new response field was added |
enum-value-added | An enum value was widened |
description-changed | Description or summary text changed |
deprecated | An endpoint was marked as deprecated |
GitHub Actions
- name: Check API compatibility
run: npx schemaguard ci --spec ./openapi.yaml --baseline ./baseline.yaml
Programmatic API
import { parseSpec, diffSpecs, formatDiff } from 'schemaguard';
const oldSpec = parseSpec('./v1.yaml');
const newSpec = parseSpec('./v2.yaml');
const result = diffSpecs(oldSpec, newSpec);
if (result.hasBreakingChanges) {
console.log(`${result.breaking.length} breaking changes found`);
}
License
MIT
常见问题
io.github.sethclawd-prog/schemaguard 是什么?
API Schema Drift Monitor — detect breaking changes in OpenAPI specs
相关 Skills
网页构建器
by anthropics
面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。
✎ 在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。
前端设计
by anthropics
面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。
✎ 想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。
网页应用测试
by anthropics
用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。
✎ 借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。
相关 MCP Server
GitHub
编辑精选by GitHub
GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。
✎ 这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。
Context7 文档查询
编辑精选by Context7
Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。
✎ 它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。
by tldraw
tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。
✎ 这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。