|
| 1 | +<h1 align="center">SAMT - Simple API Modeling Toolkit</h1> |
| 2 | + |
| 3 | +<div align="center"> |
| 4 | + |
| 5 | +[](https://github.com/samtkit/core/releases/latest) |
| 6 | +[](https://github.com/samtkit/core/releases/latest) |
| 7 | +[](./LICENSE) |
| 8 | + |
| 9 | +</div> |
| 10 | + |
| 11 | +<p align="center"> |
| 12 | + <i>Tired of unreadable OpenAPI YAML files and a plethora of different tools? |
| 13 | + <br>SAMT is a developer-focused, extendable and easy-to-learn toolkit for modeling APIs using a business-first approach</i> |
| 14 | + <br> |
| 15 | +</p> |
| 16 | + |
| 17 | +<hr> |
| 18 | + |
| 19 | +## Documentation |
| 20 | + |
| 21 | +Get started with SAMT, learn fundamental concepts or extend SAMT with a custom generator. |
| 22 | + |
| 23 | +- [Getting Started](https://github.com/samtkit/core/wiki/Getting-Started) |
| 24 | +- [Modeling Concepts](https://github.com/samtkit/core/wiki/Modeling-Concepts) |
| 25 | +- [Visual Studio Code Plugin](https://marketplace.visualstudio.com/items?itemName=samt.samt) |
| 26 | + |
| 27 | +### Advanced |
| 28 | + |
| 29 | +- [Authoring Generators](https://github.com/samtkit/core/wiki/Authoring-Generators) |
| 30 | +- [Architecture](https://github.com/samtkit/core/wiki/Architecture) |
| 31 | + |
| 32 | +## Development Setup |
| 33 | + |
| 34 | +SAMT is written in [Kotlin](https://kotlinlang.org/) and uses [Gradle](https://gradle.org/) as a build tool, for the best developer experience we recommend using [IntelliJ](https://www.jetbrains.com/idea/). |
| 35 | + |
| 36 | +If you want to start SAMT locally, simply clone the repository and compile it using Gradle: |
| 37 | + |
| 38 | +```shell |
| 39 | +./gradlew assemble |
| 40 | +``` |
| 41 | + |
| 42 | +You can also compile the CLI module locally: |
| 43 | + |
| 44 | +```shell |
| 45 | +./gradlew :cli:shadowJar |
| 46 | +``` |
| 47 | + |
| 48 | +And then compile SAMT files using this locally compiled version: |
| 49 | + |
| 50 | +```shell |
| 51 | +java -jar ./cli/build/libs/samt-cli.jar ./specification/examples/todo-service/*.samt |
| 52 | +``` |
| 53 | + |
| 54 | +If you're more interested in the [SAMT Visual Studio Code plugin](https://github.com/samtkit/vscode) or the related language server, you can also compile it locally as well: |
| 55 | + |
| 56 | +```shell |
| 57 | +./gradlew :language-server:shadowJar |
| 58 | +``` |
| 59 | + |
| 60 | +## Contributing |
| 61 | + |
| 62 | +Want to report a bug, contribute code, or improve documentation? Excellent! |
| 63 | +Simply create an [issue](https://github.com/samtkit/core/issues), |
| 64 | +open a [pull request](https://github.com/samtkit/core/pulls) or |
| 65 | +start a [discussion](https://github.com/samtkit/core/discussions). |
0 commit comments