Skip to content
This repository has been archived by the owner on Apr 30, 2021. It is now read-only.

phogolabs/stride

Repository files navigation

stride

A code generator for OpenAPI v3.x BETA.

The tool is depracted. I am recommending using GRPC + PLEX.

Documentation License Build Status Coverage Go Report Card

Overview

Stride is a command line tool for rapid application development with OpenAPI v3 specification.

Motivation

There are a lot of tools around the OpenAPI initiative. However neither of them gives comprehensive solution for rapid application development. The goal is to provide a tool that you can use to generate production ready server applications.

Doesn't matter whether you are starting from just concept, prototype or building your v1 product. The tool provides functionality for editing and viewing of OpenAPI specification. It generates a production ready scaffold projects. Also it can start a mock server. So you can quickly start building your front-end app without waiting for your actual back-end.

Thanks to the contributors of the following projects that empower stride:

Introduction

It provides the following subcommands:

NAME:
   stride - OpenAPI viewer, editor, generator, validator and mocker
USAGE:
   stride [global options]
COMMANDS:
     edit      Edit an OpenAPI specification in the browser
     view      Shows an OpenAPI specification in the browser
     mock      Runs a mock server from an OpenAPI specification
     generate  Generates a project from an OpenAPI specification
     validate  Validates an OpenAPI specification
     help, h   Shows a list of commands or help for one command

OPTIONS:
   --version, -v  prints the version
   --help, -h     shows help

Right now stride supports only golang. There are a few limitations that the generator does not support for now. The following features are not supported:

  • Inheritance and Polymorphism
  • OneOf, AnyOf, AllOf and Not (there are some limitations due to the language constraints)
  • Links
  • Callbacks
  • Authentication

Note that the code generated by the golang generator compiles and run out of the box. However, the package restify that will support the generated code is still in development phase.

Road map

  • Golang generator (in testing phase)
  • Enable a mock server for given OpenAPI specification
  • Download the OpenAPI specification from different sources (local, s3, git and etc.)
  • Support for Dictionaries, Hash Maps and Associative Arrays in Golang
  • Support for application/xml and application/x-www-form-urlencoded
  • Improve the OpenAPI validation reports
  • Allow implementation of 3rd party generators in other languages (via GRPC)

Installation

There are a few ways to install it:

GitHub

$ go get -u github.com/phogolabs/stride
$ go install github.com/phogolabs/stride/cmd/stride

Homebrew (for Mac OS X)

$ brew tap phogolabs/tap
$ brew install stride

Contributing

We are open for any contributions. Just fork the project.