Prerequisites

Create a New Project

composer create-project waaseyaa/skeleton my-app
cd my-app
php -S localhost:8000 -t public

This scaffolds a minimal Waaseyaa application and starts the built-in PHP server. Open http://localhost:8000 to see it running.

Project Structure

my-app/
├── config/
│   └── waaseyaa.php        # Framework configuration
├── public/
│   └── index.php           # Front controller
├── src/
│   └── Provider/
│       └── AppServiceProvider.php
├── composer.json
└── .env

The front controller boots the Waaseyaa kernel. Configuration lives in config/waaseyaa.php. Your application logic goes in service providers under src/Provider/.

Define Your First Entity

use Waaseyaa\Entity\EntityType;
use Waaseyaa\Field\FieldDefinition;
use Waaseyaa\Field\Type\StringField;
use Waaseyaa\Field\Type\TextField;

EntityType::define('article')
    ->label('Article')
    ->addField(FieldDefinition::create('title', StringField::class)->required())
    ->addField(FieldDefinition::create('body', TextField::class))
    ->revisionable()
    ->register();

This registers an article entity type with two fields. Waaseyaa handles storage, validation, and API generation automatically.

What's Next

Visit the GitHub repository for full documentation, package reference, and examples. Read the blog series for the story behind the framework.