Skip to content

Latest commit

 

History

History
91 lines (58 loc) · 3.62 KB

README.md

File metadata and controls

91 lines (58 loc) · 3.62 KB

Build Status Codacy Badge Codacy Badge

Zally - Zalando's API Linter loves you

Minimalistic API linter of awesomeness, bringing order to a sea of APIs.

  • Ensures API definitions conform to our standard REST guidelines.
  • Does not require a deployed service, only an API definition.
  • Accepts swagger yaml and json formats.
  • Easy-to-use CLI allows you to check your API right now.
  • Web UI provides an intuitive web interface with tons of features.

Core Technical Concepts

  • Parses swagger files using swagger-parser
  • Written in Java 8 with Spring Boot
  • Zally comes with a server which lints your swagger files
  • Zally CLI is handy command-line tool, it uses the server in the background
  • Zally Web UI is another client build on top of React and Node.js
  • Rule changes only have to be applied in the server component

Tech Stack: Zally server is written in Java 8 with Spring Boot. We made rule implementation optional possible in Kotlin. API-specific code remains in Java 8 due to better integration with Spring Boot. Further details can be found here. With Spring 5 we consider using Kotlin also on API side directly. Stay tuned.

Dependencies

  • Java 8

Installation and Usage

You can find installation steps in the Server Readme, CLI Readme and Web UI Readme.

If you just wanna try it out: first run the server locally, then just use the cli tool as it is provided.

Roadmap

For version 1.1 we focus on these three main areas:

  • improve rule implementations
  • improve CLI user experience
  • improve web UI
  • use better integration testing approaches

Feel free to contribute on related issues for version 1.1.

Afterwards we focus on Github integration and more sophisticated features.

Quick start guide

git clone [email protected]:zalando-incubator/zally.git zally
cd zally

# Disable authentication and start a local version of Zally server
cd server
echo "spring.profiles.active=dev" >> application.properties
./gradlew clean build
./gradlew bootRun > /dev/null &
cd ..

# Build and run Zally CLI
cd cli/
./gradlew clean build
bin/zally /path/to/swagger/definition.yaml

Contributing

We are happy to accept contributions. First, take a look at our contributing guidelines.

Please check our Project Board or Issues Page for contribution ideas.

Contact

Feel free to contact one the maintainers

License

MIT license with an exception. See license file.