An open API service indexing awesome lists of open source software.

https://github.com/derekbar90/hypermock

An AI-powered CLI tool that generates mock APIs from natural language descriptions.
https://github.com/derekbar90/hypermock

Last synced: about 2 months ago
JSON representation

An AI-powered CLI tool that generates mock APIs from natural language descriptions.

Awesome Lists containing this project

README

        

# Hypermock

An AI-powered CLI tool that generates mock APIs from natural language descriptions. Simply describe the API you need, and Hypermock will create a fully functional mock server with OpenAPI documentation.

## Features

- Generate OpenAPI specifications from natural language descriptions
- Automatically create mock endpoints with realistic data
- Interactive API documentation with Swagger UI
- AI-powered response generation
- Fallback to deterministic mock data when needed
- Direct LLM mode for dynamic response generation without OpenAPI specs

## Prerequisites

- Node.js 16 or higher
- OpenAI API key

## Installation

```bash
# Install globally
npm install -g hypermock

# Or run directly with npx
npx hypermock
```

## Usage

1. Set your OpenAI API key:
```bash
export OPENAI_API_KEY='your-api-key-here'
```

2. Choose your preferred mode:

### OpenAPI Mode (Default)
Creates a mock API with OpenAPI specification and documentation:
```bash
hypermock create "I need a user management API with CRUD operations"
```

### Direct LLM Mode
Creates a flexible mock API that generates responses dynamically without OpenAPI specs:
```bash
hypermock direct "I need a user management API with CRUD operations"
```

3. Access your mock API:
- API endpoints will be available at `http://localhost:3000`
- In OpenAPI mode, documentation will be available at `http://localhost:3000/api-docs`

## Options

- `-p, --port `: Specify the port number (default: 3000)
- `-v, --version`: Display version information
- `-h, --help`: Display help information

## Examples

```bash
# Create an e-commerce API with OpenAPI specification
hypermock create "Create an e-commerce product catalog API with endpoints for listing products, getting product details, and searching products by category"

# Create a flexible todo list API using direct LLM mode
hypermock direct "I need a todo list API with tasks, due dates, and categories" --port 8080
```

## Mode Comparison

### OpenAPI Mode (`create`)
- Generates a formal OpenAPI specification
- Provides Swagger UI documentation
- Consistent response schemas
- Better for development and testing against a fixed API contract

### Direct LLM Mode (`direct`)
- More flexible and dynamic responses
- No predefined schema constraints
- Adapts to any endpoint path or request structure
- Better for rapid prototyping and exploration

## Development

1. Clone the repository
2. Install dependencies:
```bash
npm install
```

3. Build the project:
```bash
npm run build
```

4. Run in development mode:
```bash
npm run dev
```

## License

ISC