{"id":43906243,"url":"https://github.com/ahmedesa/laravel-api-tool-kit","last_synced_at":"2026-03-17T10:21:14.929Z","repository":{"id":44796888,"uuid":"417239110","full_name":"ahmedesa/laravel-api-tool-kit","owner":"ahmedesa","description":"Your all-in-one solution for building efficient APIs with Laravel.","archived":false,"fork":false,"pushed_at":"2025-03-25T14:37:58.000Z","size":332,"stargazers_count":510,"open_issues_count":0,"forks_count":52,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-11-27T14:57:12.827Z","etag":null,"topics":["api","laravel","laravel-package"],"latest_commit_sha":null,"homepage":"https://laravelapitoolkit.com/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ahmedesa.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-14T18:21:17.000Z","updated_at":"2025-11-12T19:31:50.000Z","dependencies_parsed_at":"2022-07-22T02:17:59.736Z","dependency_job_id":"7659528f-f63d-4248-a672-9b6ff5a3c434","html_url":"https://github.com/ahmedesa/laravel-api-tool-kit","commit_stats":{"total_commits":32,"total_committers":4,"mean_commits":8.0,"dds":0.40625,"last_synced_commit":"3046adfdc3316a4307a0f0e15d300ee95ce28f04"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/ahmedesa/laravel-api-tool-kit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmedesa%2Flaravel-api-tool-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmedesa%2Flaravel-api-tool-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmedesa%2Flaravel-api-tool-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmedesa%2Flaravel-api-tool-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahmedesa","download_url":"https://codeload.github.com/ahmedesa/laravel-api-tool-kit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmedesa%2Flaravel-api-tool-kit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29580622,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T08:38:15.585Z","status":"ssl_error","status_checked_at":"2026-02-18T08:38:14.917Z","response_time":162,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","laravel","laravel-package"],"created_at":"2026-02-06T20:00:20.121Z","updated_at":"2026-03-17T10:21:14.915Z","avatar_url":"https://github.com/ahmedesa.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":"\u003ch1\u003e\u003ccenter\u003e Laravel API tool kit\u003c/center\u003e\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"laravel-api-tool-kit.png\" style=\"width:70%;\"\u003e\n\u003c/p\u003e\n\n[![Latest Version on Packagist](https://img.shields.io/packagist/v/essa/api-tool-kit.svg?style=flat-square)](https://packagist.org/packages/essa/api-tool-kit)\n![Test Status](https://img.shields.io/github/actions/workflow/status/ahmedesa/laravel-api-tool-kit/test.yml?label=tests\u0026branch=master)\n[![Total Downloads](https://img.shields.io/packagist/dt/essa/api-tool-kit.svg?style=flat-square)](https://packagist.org/packages/essa/api-tool-kit)\n\n## Introduction\n\nBuild production-grade Laravel APIs with standardized responses, dynamic pagination, advanced filtering, and **built-in AI architectural rules** that teach your coding assistant to follow your standards from the first draft.\n\n## Installation\n```\ncomposer require essa/api-tool-kit\n```\n\n## 🤖 AI Skill — Teach Your AI Assistant Your Architecture\n\nShip production-grade APIs faster by giving your AI coding assistant a shared understanding of your architecture. One command installs **20 rule files** and **5 guided workflows** that ensure every AI-generated file fits your codebase from the first draft — no manual corrections needed.\n\nSupports **Claude Code**, **Cursor**, **GitHub Copilot**, and **Antigravity**.\n\n```bash\nphp artisan api-skill:install\n```\n\n### What's included\n\n| Category | Contents |\n|----------|----------|\n| **Rules** | Controllers, Models, Actions, DTOs, Services, Repositories, Filters, Enums, Events, Requests, Resources, Responses, Exceptions, Authorization, Testing, Database, Pagination, Anti-patterns, Code Quality, Media |\n| **Workflows** | Scan project conventions, new endpoint step-by-step, add filtering, code review checklist, update knowledge base |\n| **DDD Support** | Works with both standard Laravel and Domain-Driven Design layouts |\n| **Project Defaults** | Configure primary key type, auth guard, and test base class once — the AI applies them everywhere |\n\n\u003e The AI Skill is the recommended way to generate code for projects using this package. It replaces the need for scaffolding generators by teaching your AI assistant the full architecture.\n\n[Read the full AI Skill documentation →](https://laravelapitoolkit.com/#/v3/ai-skill)\n\n---\n\n## Why Choose the Laravel API Toolkit?\n\n### 🤖 Built for AI-Assisted Development\nThe built-in AI Skill teaches your coding assistant to generate code that follows your architecture out of the box — no more fixing AI output to match your standards.\n\n### Consistent Responses, Less Hassle\nThe API Response feature simplifies generating consistent JSON responses. It provides a standardized format for your API responses:\n```json\n{\n  \"message\": \"your resource successfully\",\n  \"data\": [\n    ...\n  ]\n}\n```\n\n### Pagination Done Right\nDon't fuss over managing the number of results per page. The dynamic pagination feature adapts effortlessly to your needs, giving you control without complications.\n\n```php\n$users = User::dynamicPaginate();\n```\n\n### Simplified Filtering\nRefine query results with simplicity. The powerful filtering system lets you filter, sort, search, and even include relationships with ease.\n\n```php\nCar::useFilters()-\u003eget();\n```\n\n### Logic Made Clear\nTackle complex business logic with Actions. These gems follow the command pattern, boosting readability and maintenance for your code.\n\n```php\nclass CarController extends Controller\n{\n    public function __construct(\n        private readonly CreateCarAction $createCar,\n    ) {}\n\n    public function store(CreateCarRequest $request): JsonResponse\n    {\n        $car = $this-\u003ecreateCar-\u003eexecute($request-\u003evalidated());\n        return $this-\u003eresponseCreated(trans('car.created'), new CarResource($car));\n    }\n}\n```\n\n### Media? Handled.\nHandle file uploads and deletions like a pro. The Media Helper streamlines media management, leaving you with clean and organized file handling.\n```php\n$filePath = MediaHelper::uploadFile($file, $path);\n```\n\n### Enums for Clarity\nThe Enum class provides a way to work with enumerations, eliminating hardcoded values in your code:\n```php\nnamespace App\\Enums;\n\nenum UserType: string\n{\n    case ADMIN = 'admin';\n    case STUDENT = 'student';\n}\n```\n\n---\n\n### API Generator\n\nThe API Generator automates file setup, creating key files from migrations to controllers. Use one command to kickstart your API development.\n\n\u003e **Note:** For AI-assisted development, the [AI Skill](#-ai-skill--teach-your-ai-assistant-your-architecture) is the recommended approach. It teaches your AI assistant the full architecture so generated code fits your project from the start. The API Generator remains available for developers who prefer traditional scaffolding.\n\n```\nphp artisan api:generate ModelName --all\n```\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"api-generator.png\"\u003e\n\u003c/p\u003e\n\n## :film_strip: Video Tour\nIf you'd prefer a more visual review of this package, please watch this video on Laravel Package Tutorial.\n\n[\u003cimg src=\"https://img.youtube.com/vi/lZ9PPW-5utw/0.jpg\" width=\"450\"\u003e](https://youtu.be/lZ9PPW-5utw)\n\n## Official Documentation\nAccess our documentation to unlock the full potential of the Laravel API Toolkit:\n\n[Explore the Documentation](https://laravelapitoolkit.com/)\n\n## Contributing\nWe welcome your contributions to help make this package even better. Please refer to our [CONTRIBUTING.md](CONTRIBUTING.md) file for contribution guidelines.\n\n## License\n\nBy contributing to the Laravel API Toolkit, you agree that your contributions will be licensed under the project's [MIT License](LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmedesa%2Flaravel-api-tool-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmedesa%2Flaravel-api-tool-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmedesa%2Flaravel-api-tool-kit/lists"}