You’re reading the v0.1 development preview. APIs may change.
~ 4 min readUpdated 2026-10-29

Install Elang from your terminal

Elang applications are installed with Composer. The current development preview is distributed through Elang's Composer repository, so the repository option is part of the working command. No manual source download or extraction is needed.

Before you start

Install PHP 8.3+ within PHP 8.x and Composer 2. Run php -v and composer --version to verify them. If either command is unavailable, follow environment setup. Check the requirements for extensions and database drivers.

Create your first application

Run this in the parent directory where you want the new project:

composer create-project --repository=https://elangphp.com/packages elang/elang my-app 0.1.0-dev
cd my-app
php elang serve

Composer creates my-app, installs Elang and its dependencies, generates an application key, and runs doctor. When the server starts, open http://127.0.0.1:8000.

Expected result: a welcome page saying “Your next idea starts here.” The generated application also includes /api/hello/Ada, which returns {"message":"Hello, Ada!"}.

Use a new or empty directory. If my-app already has files, choose another name instead of overwriting your work. Press Ctrl+C to stop the local server.

Install the Elang CLI once

If you prefer an elang new command, register the Composer repository and install the CLI globally:

composer global config repositories.elang composer https://elangphp.com/packages
composer global require elang/installer:0.1.0-dev

Find the executable directory with:

composer global config bin-dir --absolute

Add the printed directory to your user PATH and reopen the terminal. On Windows, use the user environment-variable editor and add that directory to Path. On macOS or Linux, add the directory to PATH in your shell profile. Then verify elang --version.

Now create projects with:

elang new my-app
cd my-app
php elang serve

The installer calls Composer to create the application. It does not require the framework source checkout to remain on your machine.

Start with a complete learning project

Create the task board directly through Composer:

composer create-project --repository=https://elangphp.com/packages elang/task-board task-board 0.1.0-dev
cd task-board
php elang serve

Or, after installing the global CLI:

elang new task-board --example=task-board

Follow the complete task board walkthrough for the source files, request lifecycle, expected results, and exercises. This example stores temporary tasks in the current browser session.

Understand the two console commands

elang new is the globally installed project creator. php elang ... runs the console belonging to the application directory you are currently in. Use the application console for doctor, routes, migrations, generators, and the local server.

php elang doctor
php elang routes
php elang make:controller HelloController

Preview distribution and Packagist

The nine current packages are elang/framework, elang/elang, elang/task-board, elang/installer, elang/auth-starter, elang/blog, elang/dashboard, elang/api, and elang/realtime. They are Composer packages hosted at https://elangphp.com/packages.

A public Packagist release has not been published yet, so omitting the repository option from an ordinary Composer installation is not supported today. Do not assume a short Packagist-only command works before that publication. The current version remains a changing development preview.

If installation stops

Read the first Composer error. Missing extensions, an unsupported PHP version, an occupied destination directory, or inability to reach the HTTPS repository need different fixes. Do not hide platform requirements with --ignore-platform-reqs.

If dependency installation succeeded but a post-create check failed, enter the new directory, fix the reported requirement, and run php elang doctor again. Preserve the generated .env key. See troubleshooting.

For framework contributors

Clone the source repository, run composer install, and use php elang new ../my-app --local to test a sanitized local framework snapshot. This contributor workflow is separate from installing an application through Composer. See CONTRIBUTING.md for repository checks and bin/build-packages for distribution builds.

Choose a complete starter

elang new accounts --starter=auth
elang new journal --starter=blog
elang new workspace --starter=dashboard
elang new notes-api --starter=api

Each starter includes its own migrations and complete source. Composer applies the starter schema during project setup. Read the authentication, models, Studio, blog, dashboard, and protected API guides before deploying a public application.

Need a hand?

Check the troubleshooting guide, look up a term in the glossary, or work through the complete task board project.

Search Elang documentation

Start typing to find your next step.