/zally

A minimalistic, simple-to-use API linter

Primary LanguageKotlinMIT LicenseMIT

Zally: A minimalistic, simple-to-use OpenAPI 2 and 3 linter

Build Status Codacy Badge Join the chat at https://gitter.im/zalando/zally

Zally is a quality assurance tool. It's a linter for OpenAPI specifications, which:

  • Increases the quality of APIs
  • Checks compliance
  • Delivers early feedback for API designers
  • Ensures the same look-and-feel of APIs
  • Supports API-First approach
  • Provides best practices and advices

Its standard configuration will check your APIs against the rules defined in Zalando's RESTful Guidelines, but anyone can use it out-of-the-box.

Zally's easy-to-use CLI uses the server in the background so that you can check your API on the spot. It also features an intuitive Web UI that shows implemented rules and lints external files and (with its online editor) API definitions.

Features

  • Support for OpenAPI 3 and (Swagger) OpenAPI 2 specifications
  • RESTful API, CLI and Web interface
  • Rich Check configuration
  • Ignore functionality (x-zally-ignore extension)
  • Java/Kotlin API for new Checks + helper functions

Quick start guide

Trying out Zally is easy. You can build and run the whole Zally stack (web-ui, server and database) by executing:

./build-and-run.sh

Web UI is accessible on http://localhost:8080; Zally server on http://localhost:8000

Documentation and Manuals

Please consult the following documents for more information:

Contributing

Zally welcomes contributions from the open source community. To get started, take a look at our contributing guidelines. Then check our Project Board and Issues Tracker for ideas.

Roadmap

For Zally version 1.5, we're focusing on:

  • Improve extensibility of Zally
    • Plugin mechanism for Rules (Sets)
    • Utilities and helper functions for Check development
  • Improve quality by introducing a better testing approach for integration tests
  • Make the usage of Zally easier by providing high-quality documentation for
    • End users
    • Check developers
    • Operators and administrators

If you have ideas for these items, please let us know.

Contact

Feel free to join our Gitter room or contact one of the maintainers directly.

Alternatives

  • spectral also lints OpenAPI v2 and v3. Rules can be written in a declarative way or using JavaScript.

License

MIT license with an exception. See license file.