openapi-nexus 0.1.3

OpenAPI 3.x multi-language code generator
Documentation
# Getting Started

## Installation

Download the latest binary from the [releases page](https://github.com/adamcavendish/openapi-nexus/releases), or build from source:

```bash
cargo install openapi-nexus
```

Requires Rust 1.90+ (edition 2024).

## Basic Usage

Generate a TypeScript fetch client:

```bash
openapi-nexus generate \
  --input path/to/openapi.yaml \
  --output generated \
  --generator typescript-fetch
```

Generate clients for multiple languages at once:

```bash
openapi-nexus generate \
  --input spec.yaml \
  --output output \
  --generators typescript-fetch,go-http,rust-reqwest,python-httpx
```

All nine generators:

```bash
openapi-nexus generate -i spec.yaml -o output \
  -g typescript-fetch,go-http,rust-reqwest,rust-ureq,rust-aioduct,python-httpx,python-requests,java-okhttp,kotlin-okhttp
```

## Configuration

Configuration is resolved with the following precedence (highest to lowest):

1. **Command-line arguments**
2. **Environment variables** (prefixed with `OPENAPI_NEXUS_`)
3. **Configuration file** (`openapi-nexus-config.toml`)
4. **Defaults**

### Environment Variables

```bash
export OPENAPI_NEXUS_INPUT="spec.yaml"
export OPENAPI_NEXUS_OUTPUT="generated"
export OPENAPI_NEXUS_GENERATOR="typescript-fetch"
```

### Configuration File

Create an `openapi-nexus-config.toml` in your project root. See the [sample configuration file](https://github.com/adamcavendish/openapi-nexus/blob/master/openapi-nexus-config.toml.example) for all available options.

Generator-specific options live under `[generators.<name>]` sections:

```toml
[generators.go-http]
module_path = "github.com/myorg/myproject/sdk"

[generators.rust-reqwest.extra_derives.structs]
derives = ["PartialEq"]

[generators.rust-reqwest.extra_derives.enums]
derives = ["Hash"]
```

### CLI Reference

```bash
openapi-nexus generate --help
```