Oasdiff Service

C+ 71 completed
Api
api / go · tiny
29
Files
3,486
LOC
0
Frameworks
4
Languages

Pipeline State

completed
Run ID
#366703
Phase
done
Progress
1%
Started
Finished
2026-04-13 01:31:02
LLM tokens
0

Pipeline Metadata

Stage
Cataloged
Decision
proceed
Novelty
47.79
Framework unique
Isolation
Last stage change
2026-05-10 03:34:57
Deduplication group #49857
Member of a group with 6 similar repo(s) — canonical #68617 view group →
Top concepts (2)
Project DescriptionData/ML
Repobility · MCP-ready · https://repobility.com

AI Prompt

Build me a web API service using Go that compares two OpenAPI specifications (base and revision) to identify differences, breaking changes, and generate changelogs. The service should support creating tenants via a registration endpoint, and provide endpoints to run diff, breaking-changes, and changelog generation. I need to be able to specify the output format (like JSON, YAML, HTML, etc.) and the output language (e.g., Spanish or Russian) via request headers. Please structure it to handle these different API calls.
go api openapi web-api diff changelog yaml json rest
Generated by gemma4:latest

Catalog Information

A web API that compares OpenAPI specifications to identify differences, breaking changes, and generate changelogs for multiple tenants.

Description

The service exposes HTTP endpoints that accept two OpenAPI files—base and revision—and return a detailed comparison. It can report simple differences, detect breaking changes, and produce a changelog in JSON, YAML, HTML, plain text, or Markdown. The API supports multi‑tenant usage, where each tenant is identified by a unique ID obtained during registration. Clients can specify the desired output format via the Accept header and the language via Accept‑Language. The service is designed for integration into CI/CD pipelines, allowing automated validation of API evolution. It is built in Go and uses a lightweight router and gRPC for internal communication.

الوصف

يُقدّم هذا المشروع واجهات HTTP تسمح بتحميل ملفين من مواصفات OpenAPI – الأساس والتعديل – ثم يُرجِع مقارنة مفصلة بينهما. يمكن للواجهة إظهار الاختلافات البسيطة، اكتشاف التغييرات المدمرة، وإنشاء سجل التغيير بصيغ JSON أو YAML أو HTML أو نص عادي أو Markdown. تدعم الخدمة بيئة متعددة المستأجرين، حيث يُحصل كل مستأجر على معرّف فريد عند التسجيل، ويُستخدم هذا المعرف لتحديد نطاق المقارنة. يمكن للمستخدم تحديد تنسيق الإخراج عبر رأس Accept، ولغة الإخراج عبر رأس Accept‑Language، ما يتيح دعم لغات متعددة مثل الإنجليزية، الروسية، البرتغالية البرازيلية، والإسبانية. تم تصميم الخدمة لتتكامل بسلاسة مع خطوط أنابيب CI/CD، مما يتيح التحقق التلقائي من تطور واجهات برمجة التطبيقات. يميز المشروع قدرته على التعامل مع عدة مستأجرين وتوفير تنسيقات إخراج متعددة، ما يجعله حلاً مرنًا ومتكاملاً لإدارة تغييرات OpenAPI.

Novelty

7/10

Tags

openapi-comparison breaking-change-detection changelog-generation multi‑tenant-api specification-validation

Technologies

ent gorilla-mux grpc

Claude Models

claude-opus-4.6

Quality Score

C+
70.9/100
Structure
67
Code Quality
80
Documentation
53
Testing
50
Practices
80
Security
100
Dependencies
50

Strengths

  • Good test coverage (50% test-to-source ratio)
  • Consistent naming conventions (snake_case)
  • Good security practices \u2014 no major issues detected
  • Containerized deployment (Docker)
  • Properly licensed project

Weaknesses

  • No CI/CD configuration \u2014 manual testing and deployment
  • 182 duplicate lines detected \u2014 consider DRY refactoring

Recommendations

  • Add a test suite \u2014 start with critical path integration tests
  • Set up CI/CD (GitHub Actions recommended) to automate testing and deployment
  • Add a linter configuration to enforce code style consistency

Security & Health

5.1h
Tech Debt (C)
A
OWASP (100%)
PASS
Quality Gate
A
Risk (4)
About: code-quality intelligence by Repobility · https://repobility.com
Apache-2.0
License
7.8%
Duplication
Full Security Report AI Fix Prompts SARIF SBOM

Languages

go
50.3%
html
24.0%
yaml
22.9%
markdown
2.7%

Frameworks

None detected

Concepts (2)

Findings produced by Repobility · scan your repo at https://repobility.com/scan/
CategoryNameDescriptionConfidence
Repobility — same analyzer, your code, free for public repos · /scan/
auto_descriptionProject Description![Go Report Card](https://goreportcard.com/report/github.com/oasdiff/oasdiff-service)80%
auto_categoryData/MLdata-ml70%

Quality Timeline

1 quality score recorded.

View File Metrics

Embed Badge

Add to your README:

![Quality](https://repos.aljefra.com/badge/90887.svg)
Quality BadgeSecurity Badge
Export Quality CSVDownload SBOMExport Findings CSV