This commit represents the complete foundational codebase for Nimbus Alpha, a Laravel package that provides an integrated, in-browser API client with automatic schema discovery from validation rules. IMPORTANT: This is a squashed commit representing the culmination of extensive development, refactoring, and architectural iterations. All previous commit history has been intentionally removed to provide a clean foundation for the public alpha release. The development of Nimbus involved: - Multiple architectural refactorings - Significant structural changes - Experimental approaches that were later abandoned - Learning iterations on the core concept - Migration between different design patterns This messy history would: - Make git blame confusing and unhelpful - Obscure the actual intent behind current implementation - Create noise when reviewing changes - Reference deleted or refactored code If git blame brought you to this commit, it means you're looking at code that was part of the initial alpha release. Here's what to do: 1. Check Current Documentation - See `/wiki/contribution-guide/README.md` for architecture details - Review the specific module's README if available - Look for inline comments explaining the reasoning 2. Look for Related Code - Check other files in the same module - Look for tests that demonstrate intended behavior - Review interfaces and contracts 3. Context Matters - This code may have been updated since alpha - Check git log for subsequent changes to this file - Look for related issues or PRs on GitHub --- This commit marks the beginning of Nimbus's public journey. All future commits will build upon this foundation with clear, traceable history. Thank you for using or contributing to Nimbus!
4.3 KiB
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:
composer require sunchayn/nimbus
Publish the configuration and assets:
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 - Complete guide on using Nimbus's interface, features, and troubleshooting.
- Contributor Guide - 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
- Share ideas: Start a discussion
- Ask questions: Q&A discussions
Contributing
Thanks for considering contributing! Please read the Contributor Guide 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.
