# Crab > A minimal PHP 8.4 framework for JSON APIs. The application runs as a long-lived server: explicit types, no hidden state, one way to do each thing. In a Crab application, run `php cua describe` to read every route, command, scheduled task, listener, database and setting before reading files (`--json` for JSON Schema). The app's `AGENTS.md` has the conventions, and the guide is also in `vendor/crabphp/framework/docs/`. ## Getting started - [Installation](https://crab.daudau.cc/content/docs/installation.md) - [Directory structure](https://crab.daudau.cc/content/docs/structure.md) - [Configuration](https://crab.daudau.cc/content/docs/configuration.md) - [Request lifecycle](https://crab.daudau.cc/content/docs/lifecycle.md) - [Deployment](https://crab.daudau.cc/content/docs/deployment.md) ## The basics - [Routing](https://crab.daudau.cc/content/docs/routing.md) - [Actions](https://crab.daudau.cc/content/docs/actions.md) - [Validation](https://crab.daudau.cc/content/docs/validation.md) - [Requests](https://crab.daudau.cc/content/docs/requests.md) - [Responses](https://crab.daudau.cc/content/docs/responses.md) - [Middleware](https://crab.daudau.cc/content/docs/middleware.md) - [Error handling](https://crab.daudau.cc/content/docs/errors.md) - [Logging](https://crab.daudau.cc/content/docs/logging.md) ## Digging deeper - [Services and plugins](https://crab.daudau.cc/content/docs/plugins.md) - [Console](https://crab.daudau.cc/content/docs/console.md) - [Cache](https://crab.daudau.cc/content/docs/cache.md) - [File storage](https://crab.daudau.cc/content/docs/storage.md) - [Events](https://crab.daudau.cc/content/docs/events.md) - [Queues](https://crab.daudau.cc/content/docs/queues.md) - [AI applications](https://crab.daudau.cc/content/docs/ai.md) - [Task scheduling](https://crab.daudau.cc/content/docs/scheduling.md) - [HTTP client](https://crab.daudau.cc/content/docs/http-client.md) - [WebSockets](https://crab.daudau.cc/content/docs/websockets.md) - [Broadcasting](https://crab.daudau.cc/content/docs/broadcasting.md) ## Security - [Authentication](https://crab.daudau.cc/content/docs/authentication.md) ## Database - [Getting started](https://crab.daudau.cc/content/docs/database.md) - [Query builder](https://crab.daudau.cc/content/docs/queries.md) - [Migrations](https://crab.daudau.cc/content/docs/migrations.md) ## Testing - [Testing](https://crab.daudau.cc/content/docs/testing.md) ## Packages - [Runs](https://github.com/crabphp/runs) - [Actors](https://github.com/crabphp/actors) - [Redis](https://github.com/crabphp/redis) - [S3](https://github.com/crabphp/s3) - [OpenAPI](https://github.com/crabphp/openapi) - [Clockwerk](https://github.com/crabphp/clockwerk) The whole guide in one file: https://crab.daudau.cc/llms-full.txt