tie/README.md
2024-05-28 15:10:56 +02:00

2.3 KiB

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.