Tie allows generation of Haskell server stubs from OpenAPI (v 3.x) specifications.
Go to file
2023-04-12 13:46:28 +02:00
.github/workflows Revert "upload build artifacts instead of creating releases" 2023-02-28 15:40:43 +01:00
assets Update logo 2022-06-20 12:10:34 +02:00
bin Support x-tie-haskell-name to override field names 2023-04-07 10:47:46 +02:00
example Change spelling in example app 2022-06-29 11:52:29 +02:00
src Don't forget the haskell field lookup for composite names 2023-04-12 13:46:28 +02:00
test Don't forget the haskell field lookup for composite names 2023-04-12 13:46:28 +02:00
.gitignore create and upload binaries on tags 2022-11-03 22:53:03 +01:00
cabal.project Use Relude from Hackage again 2022-06-12 14:58:07 +02:00
CHANGELOG.md Initial commit 2022-02-15 11:01:21 +01:00
default.nix Sync default.nix with tie.cabal 2022-06-13 13:37:38 +02:00
LICENSE Cabal file updates 2022-06-12 14:58:07 +02:00
README.md Petstore example 2022-06-26 12:06:01 +02:00
Request.template.hs Support x-tie-haskell-name to override field names 2023-04-07 10:47:46 +02:00
Response.template.hs Support x-tie-haskell-name to override field names 2023-04-07 10:47:46 +02:00
scarf-api.yaml Add petstore golden test 2022-02-22 10:34:38 +01:00
shell.nix deveplopment nix shell 2022-02-26 22:49:03 -05:00
tie.cabal add version output to tie 2022-11-04 07:06:52 +01:00

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

Finally, you can copy the resulting executable to your desired location:

$ cp $(cabal exec -- which tie) ~/.local/bin/tie

Alternatively, instead of manually copying the executable you can install with cabal:

$ cabal install .

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.