Skip to content
/ tie Public

Tie allows generation of Haskell server stubs from OpenAPI (v 3.x) specifications.

License

Notifications You must be signed in to change notification settings

scarf-sh/tie

Repository files navigation

Tie allows generation of Haskell server stubs from OpenAPI (v 3.x) specifications.

If you are looking for a generator for Haskell client code, check out the Haskell-OpenAPI-Client-Code-Generator project.

Usage

$ tie --help
tie - openapi3 server code generator

Usage: tie [-o|--output DIR] [--module-name MODULE] [--package-name PACKAGE]
           [--extra-package PACKAGE] FILE

  Generate a Haskell server from an OpenAPI3 specification

Available options:
  -o,--output DIR          The directory output (default: "out")
  --module-name MODULE     Name of the generated top level module
                           (default: "OpenAPI")
  --package-name PACKAGE   Name of the generated cabal project
                           (default: "open-api")
  --extra-package PACKAGE  Extra packages to include in the generated cabal
                           project
  FILE                     OpenAPI specification file
  -h,--help                Show this help text

Example

See example/ for the ubiquitous OpenAPI Petstore example.

Installation

Building from source

Below are the steps to install Tie using the Cabal build tool.

First, you need to clone the repository

$ git clone https://github.com/scarf-sh/tie.git
$ cd tie

Then, you need to build it using cabal:

$ cabal build exe:tie

Y ou can install the executable with using:

$ cabal install .

Formatting

To pass the lint workflow run

$ git ls-files | grep -v 'example/' | grep \.hs | xargs ./ormolu --mode=inplace

to format the Haskell files accordingly using Ormolu.

Community & Contact

Feel free to join on us on our community Slack (#tie channel)!

License

This program is under the terms of the Apache License v2.0.

Authors

Tie is originally made and currently sponsored by Scarf among other contributors.

About

Tie allows generation of Haskell server stubs from OpenAPI (v 3.x) specifications.

Resources

License

Stars

Watchers

Forks

Packages

No packages published