Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zuplo/rate-my-openapi
Find API quality and security issues via your OpenAPI spec
https://github.com/zuplo/rate-my-openapi
api api-gateway api-rest linter openapi openapi-spec openapi-specification openapi3
Last synced: 3 days ago
JSON representation
Find API quality and security issues via your OpenAPI spec
- Host: GitHub
- URL: https://github.com/zuplo/rate-my-openapi
- Owner: zuplo
- License: mit
- Created: 2023-06-14T05:39:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-02T10:13:12.000Z (about 2 months ago)
- Last Synced: 2024-12-15T21:03:39.903Z (10 days ago)
- Topics: api, api-gateway, api-rest, linter, openapi, openapi-spec, openapi-specification, openapi3
- Language: TypeScript
- Homepage: https://ratemyopenapi.com
- Size: 4.65 MB
- Stars: 228
- Watchers: 4
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## OpenAPI - Introduction
[OpenAPI](https://www.openapis.org/) is an industry standard to describe HTTP
APIs. When using OpenAPI in your project, you can leverage other tools to help
you generate documentation, code, tests, mock results, or even deploy your API.
It's what's commonly known as the OpenAPI lifecycle, which looks like this:
## Rate My OpenAPI
At Zuplo we believe that the better the quality of an OpenAPI document, the
better the developer experience will be for the consumers of that API. This
experience is important for the success of an API._Rate My OpenAPI_ is a suite of tools designed to help software developers who
are using OpenAPI to design and implement their APIs.Our tools include a
[website](https://ratemyopenapi.com?utm_source=github&utm_medium=web), a
[CLI](https://www.npmjs.com/package/rmoa), a
[GitHub Action](https://github.com/marketplace/actions/rate-my-openapi-action)
and an [API](https://api.ratemyopenapi.com/docs/routes/introduction), all aimed
at ensuring your APIs meet high standards of quality and usability.### Categories of Evaluation
Our tools evaluate your OpenAPI definition files and provide a comprehensive
score based on four key categories:- **Documentation:** Ensure your API is well-documented, making it easy for
users to understand and use.
- **SDK Generation:** Verify that your API definition supports SDK generation,
facilitating integration and usage in different programming languages.
- **Security:** Check for best practices and standards to ensure your API is
secure and protected against common vulnerabilities.
- **Completeness** Ensure your API definition is complete, with all necessary
endpoints, parameters, and responses accurately defined.### Website
[https://ratemyopenapi.com](https://ratemyopenapi.com?utm_source=github&utm_medium=web)
offers a user-friendly interface for developers to upload and analyze their
OpenAPI definition files.Key features include:
- **Linting:** Upload & lint your OpenAPI files to receive detailed feedback.
- **Comprehensive Scoring:** Get a clear, actionable score rating your API's
documentation, SDK generation, security, and completeness.
- **Detailed Reports:** Access in-depth reports that highlight areas of
improvement and provide recommendations.
- **Visualization:** Easily visualize the structure and quality of your API with
in-line feedback.#### Getting Started
To get started visit
[https://ratemyopenapi.com](https://ratemyopenapi.com?utm_source=github&utm_medium=web),
upload your OpenAPI definition file and review the detailed reports to identify
areas for improvement.### CLI
The CLI tool is perfect for developers who prefer working from the command line
or need to integrate quality checks into their development workflow.Key features include:
- <**Automated Checks:** Integrate the CLI into your CI/CD pipeline for
automated quality checks on every commit.
- **Detailed Output:** Get detailed feedback directly in your terminal, with
options to further integrate these results into your development flow.#### Getting Started
To get started install the CLI and start integrating it into your development
workflow.```bash
npm install rmoarmoa lint --filename --api-key
```CLI source code and documentation can be found at
[packages/cli](/packages/cli/README.md).To get an `API_KEY` sign up for free at
[https://api.ratemyopenapi.com/docs](https://api.ratemyopenapi.com/docs).### GitHub Action
Our GitHub Action seamlessly integrates with your repository to ensure your APIs
are consistently of high quality.Key features include:
- **Automated Linting:** Automatically lint OpenAPI definition files on every
pull request and push to ensure code quality.
- **Inline Feedback:** Receive feedback directly in your pull requests with
comments highlighting issues and areas for improvement.
- **Continuous Improvement:** Maintain a high standard of API quality with
continuous monitoring and feedback.#### Getting Started
To get started add our GitHub action to your repository and configure it to run
on Pull Requests and Pushes to ensure continuous quality monitoring.```yaml
steps:
- uses: actions/checkout@v4
- uses: zuplo/rmoa-action@v1
with:
filepath: "./my-api.json"
apikey: ${{ secrets.RMOA_API_KEY }}
```GitHub Action source code and documentation can be found at
[rmoa-action](https://github.com/zuplo/rmoa-action).#### Getting an API key
To get an `API_KEY` you can sign up for free at
[https://api.ratemyopenapi.com/docs](https://api.ratemyopenapi.com/docs).### APIs
All our tools make use of our APIs to analyze and provide detailed results.
You can also make direct use of these APIs, which is a great option for those
developers that want to build their own tools or integrate the Rate My OpenAPI
linting capabilities in a way that's not covered the existing tools.#### Getting Started
To get started, go to
[https://api.ratemyopenapi.com/docs](https://api.ratemyopenapi.com/docs) to get
the detailed documentation on every endpoint available for use.#### Getting an API key
To get an `API_KEY` you can sign up for free at
[https://api.ratemyopenapi.com/docs](https://api.ratemyopenapi.com/docs).# License
[MIT License](./LICENSE)