VeldoraDocs

1. Getting Started & Installation

Veldora provides two first-class installation methods: Composer (standard for PHP workflows) and npx / npm (an interactive zero-config scaffolder).

System Requirements

Make sure your machine or server meets the following requirements:

RequirementMinimum VersionNote
PHP8.2 or higherStrict typing, readonly classes, constructor promotion
PDO ExtensionEnabledRequired for all database drivers
SQLite ExtensionEnabledUsed by default for instant local setup
Composer2.0+Standard PHP package manager
Node.js18+(Optional) Only required if using npx / npm

You can create a fresh, self-contained Veldora project in seconds using Composer:

Terminal • bash
composer create-project veldora/veldora my-app
cd my-app
php veldora serve

Terminal • bash
Creating a "veldora/veldora" project at "./my-app"
Installing veldora/veldora (v0.6.0)
  - Downloading veldora/veldora (v0.6.0)
  - Installing veldora/veldora (v0.6.0): Extracting archive
Created project in ./my-app
Generating optimized autoload files
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
> @php veldora key:generate

✔ Application key set successfully!

🎉 Success! Created my-app at ./my-app


Option 2 — Interactive npm / npx Installer

If you prefer using Node.js or an interactive prompt:

Terminal • bash
# Run instantly with npx (no global install needed):
npx create-veldora-app my-app

# Or install globally for a permanent `veldora` command:
npm install -g create-veldora-app
veldora new my-app

Terminal • Interactive CLI Setup
  ▲ Veldora Framework  v0.6.0
  The modern PHP framework you actually own.

  ? What is your project named? (my-veldora-app): my-blog

  Creating a new Veldora app in ./my-blog...

  ✔ Configured project skeleton
  ✔ Generated secure APP_KEY
  ✔ Configured storage and logs directory

  🎉 Success! Created my-blog at ./my-blog

npm CLI Options

Terminal • bash
# Create project directly
npx create-veldora-app my-app

# Create using the `new` subcommand
npx create-veldora-app new my-app

# Show help guide and all available flags
npx create-veldora-app --help

# Check installed version
npx create-veldora-app --version


Starting the Development Server

Once your project is created, enter the folder and start the built-in development server:

Terminal • bash
cd my-app
php veldora serve

Open http://localhost:8000 in your browser. You will see the Veldora welcome screen.

To run on a custom port or host:

Terminal • bash
php veldora serve --port=8080 --host=0.0.0.0


Project Structure Overview

Terminal • bash
my-app/
├── app/
│   ├── Controllers/          # Request handlers
│   ├── Middleware/           # HTTP filters (Auth, CSRF, Admin, etc.)
│   ├── Models/               # ActiveRecord ORM entities
│   ├── Services/             # Application business logic
│   ├── Events/               # Event classes
│   ├── Listeners/            # Event listeners
│   ├── Jobs/                 # Background queue jobs
│   ├── Mail/                 # Mailable classes
│   └── Http/
│       ├── Requests/         # Form validation request classes
│       └── Resources/        # JSON API resource transformers
├── bootstrap/
│   └── app.php               # Container & service registration
├── config/
│   ├── app.php               # App name, debug mode, timezone
│   ├── auth.php              # Guard settings & user providers
│   ├── database.php          # Connection credentials (sqlite, mysql, pgsql)
│   ├── mail.php              # SMTP & mail transport settings
│   ├── queue.php             # Queue driver settings (sync, database)
│   ├── cache.php             # Cache store settings (file, array)
│   ├── filesystems.php       # Storage disks (local, public)
│   ├── logging.php           # Log channels & daily log rotation
│   └── session.php           # Session driver & cookie configuration
├── database/
│   ├── factories/            # Model factories for testing & seeding
│   ├── migrations/           # Versioned database schema definitions
│   └── seeders/              # Database seeders
├── public/
│   └── index.php             # Web entry point
├── resources/
│   └── views/                # .veldora.php view templates
│       ├── components/       # UI components (<x-button>, etc.)
│       └── layouts/          # Base layouts
├── routes/
│   └── web.php               # Route definitions
├── storage/
│   ├── app/                  # Private file storage
│   ├── framework/            # Compiled views, sessions, cache
│   └── logs/                 # Daily application logs (app.log)
├── .env                      # Local environment configuration
├── .env.example              # Environment template
└── veldora                   # Framework CLI binary (php veldora ...)


Environment & .env Configuration

Veldora loads environment variables from .env on every boot before configuration files are read:

.env
INI
APP_NAME=Veldora
APP_ENV=local
APP_KEY=base64:your_generated_app_key_here
APP_DEBUG=true
APP_URL=http://localhost:8000

DB_DRIVER=sqlite
DB_DATABASE=database/veldora.sqlite

SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync
CACHE_DRIVER=file

Read environment variables in code using the global env() or config() helpers:

example.php
PHP
$debug = env('APP_DEBUG', false);
$appName = config('app.name', 'Veldora');


Building with AI Assistants?
Copy the Veldora AI Developer Prompt to teach ChatGPT, Claude, Cursor, or Gemini all framework APIs for error-free coding.