Skip to content
Tim Burks edited this page Jan 26, 2018 · 25 revisions

A Framework for Open Source API Tools

gnostic is a tool that reads and processes API descriptions and calls plugins that provide services that use those API descriptions. Plugins can provide model-checking, documentation generation, code generation, API mocking, and other API services.

gnostic currently supports OpenAPI 2.0, OpenAPI 3.0, and Google's API Discovery Format.

gnostic reads API descriptions from local files or remote URLs, checks for errors, and generates equivalent binary Protocol Buffer representations. Protocol Buffer models allow tools and plugins to use generated models and support code that provide efficient, statically-typed access to these API descriptions.

Parts of gnostic are automatically generated by gnostic-generator.

Go code for a sample application is in apps/report/main.go.

The gnostic Plugin Architecture supports creation of API tools in any language that is supported by protoc, the Protocol Buffer compiler. Sample plugins are in the plugins directory.