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

https://github.com/sunchayn/nimbus

Nimbus automatically analyzes your routes and validation rules to build interactive request schemas and a native interface for testing and exploring your APIs
https://github.com/sunchayn/nimbus

api-client api-testing http-client laravel schema-generation

Last synced: about 1 month ago
JSON representation

Nimbus automatically analyzes your routes and validation rules to build interactive request schemas and a native interface for testing and exploring your APIs

Awesome Lists containing this project

README

          

# Nimbus

![Nimbus - Integrated API Client With a Touch of Magic](./art/nimbus-cover.png)

[![Latest Version on Packagist](https://img.shields.io/packagist/v/sunchayn/nimbus.svg?style=flat-square)](https://packagist.org/packages/sunchayn/nimbus)
[![License](https://img.shields.io/packagist/l/sunchayn/nimbus.svg?style=flat-square)](https://packagist.org/packages/sunchayn/nimbus)
[![PHP Version](https://img.shields.io/packagist/php-v/sunchayn/nimbus.svg?style=flat-square)](https://packagist.org/packages/sunchayn/nimbus)
[![codecov](https://codecov.io/github/sunchayn/nimbus/graph/badge.svg?token=IPMYSPI2T4)](https://codecov.io/github/sunchayn/nimbus)

**An integrated, in-browser API client for Laravel with a touch of magic.**
Nimbus automatically analyzes your routes and validation rules to build interactive request schemas and a native interface for testing and exploring your APIs.

---

## Why Nimbus?

Traditional API testing tools require manual setup for every endpoint. Nimbus removes that friction by automatically discovering your Laravel routes, generating schemas from validation rules, and handling authentication, cookies, and test data. All without leaving your development environment.

### What Nimbus Is NOT

Nimbus is **NOT** an API documentation generator. It doesn't produce client-facing API documentation. Instead, it's a **developer-focused API playground** designed to improve your development experience while building and testing APIs.

## Features

- Automatic route and schema discovery from Laravel routes and validation rules.
- Built-in, polished interface for testing API endpoints in your browser.
- Response viewer with JSON formatting and syntax highlighting.
- Cookie inspection with automatic Laravel cookie decryption.
- Special authentication modes:
- Make requests as the currently logged-in user.
- Impersonate other users by ID.
- Bearer token and Basic Auth support.
- Inline value generators for realistic test data (UUIDs, emails, names, dates, etc.).
- Global headers automatically applied to every request.
- One-click payload population with realistic test data.
- Export requests as cURL commands.

---

## Quick Start

### Requirements

- PHP 8.2 or higher.
- Laravel 10.x, 11.x, or 12.x.

### Installation

Install via Composer:

```bash
composer require sunchayn/nimbus
```

Publish the configuration and assets:

```bash
php artisan vendor:publish --tag=nimbus-assets --tag=nimbus-config
```

This publishes `config/nimbus.php` and the necessary frontend assets.

### Access Nimbus

Start your Laravel application and navigate to:

```
http://your-app.test/nimbus
```

That's it! Nimbus will automatically discover your API routes and their validation schemas.

> **Note:** Nimbus requires a real web server (Herd, Sail, Docker, Nginx, etc.). PHP's built-in server (`php artisan serve`) will not work properly due to single-threaded request handling limitations.

## Documentation

- **[User Guide](wiki/user-guide/README.md)** - Complete guide on using Nimbus's interface, features, and troubleshooting.
- **[Contributor Guide](wiki/contribution-guide/README.md)** - Architecture overview and development guidelines.

## Security Considerations
- **Development Only**: Nimbus is designed for local development environments. Do not deploy it to production servers.
- **User Impersonation**: The impersonation feature allows making requests as any user. Ensure Nimbus is only accessible in trusted development environments.

## Alpha Release Notice

Nimbus is currently an **alpha** release to validate the concept. You may encounter unexpected behaviors or bugs. All feedback is welcome:

- Report bugs: [Open an issue](https://github.com/sunchayn/nimbus/issues/new/choose)
- Share ideas: [Start a discussion](https://github.com/sunchayn/nimbus/discussions/categories/ideas)
- Ask questions: [Q&A discussions](https://github.com/sunchayn/nimbus/discussions/categories/q-a)

## Contributing

Thanks for considering contributing! Please read the [Contributor Guide](wiki/contribution-guide/README.md) for the following:

- Architecture overview and design principles.
- Development environment setup.
- Coding standards and testing guidelines.
- Pull request process.

## License

Nimbus is open-source software licensed under the [MIT license](LICENSE.md).