Skip to content



  • PHP 8.2 or above
  • Node 16up / npm or yarn
  • Composer and web server

Starter Package

Go to

Follow the instructions (replace {folder} with your installation directory)

composer create-project windwalker/starter {folder} ^4.0 --remove-vcs

After installing a series of dependencies, it will ask a few questions. Enter the database information as instructed. Then the installer will continue to install the CSS/JS dependencies.

This tutorial will use pdo_mysql as default.

> Windwalker\Core\Composer\StarterInstaller::rootInstall
App Name: WW Tutorial
Remove .lock files from .gitignore.

Enter a custom secret [Leave empty to auto generate]:

Do you want to use database? [Y/n]: y
Please select database drivers:
  [1] pdo_mysql
  [2] mysqli
  [3] pdo_pgsql
  [4] pgsql
  [5] pdo_sqlsrv
  [6] sqlsrv
  [7] pdo_sqlite
> 1
Selected driver: pdo_mysql
Database host [localhost]:
Database name [acme]: ww4tut
Database user [root]:
Database password:

Database config setting complete.

Install complete.
> php windwalker run prepare

Start Custom Script: prepare
>>> yarn install

After the installation is complete, open the localhost URL:


or start the php server:

php windwalker server:start

Then open http://localhost:8000 to see the homepage.


Go to: http://localhost:8000/admin to see a simple fake dashboard.


Install Default Database Files

If you want to use database, please install windwalker/database and windwalker/orm first:

composer require windwalker/database windwalker/orm

Then run migration (add -s to run seeder)

php windwalker mig:go -s

It will ask if you really want to run migration/seeding.

Do you really want to run migration/seeding?: [N/y] y

If you don't want to be asked this question again and want to run it directly, you can add -f to future migration commands.

After execution:

$ php windwalker mig:go -s
Do you really want to run migration/seeding?: [N/y] y

Backing up SQL...
SQL backup to: ...

Migration start...

2021061915530001 AcmeInit UP... Success



Import seeder: Acme Seeder (/acme-seeder.php)
  (15) \
  Import completed...

Open the project URL http://{site}/www/admin/acme, and if you see the following list, it means success.


Directory Structures

cacheCache directory
etcConfiguration files
logsLog files
resourcesVarious resource files- assets / languages / migrations / registry / seeders
routesRoute configuration files
srcProject code files
tmpTemporary files
vendorExternal libraries
viewsTemplate files
wwwPublic directory

CLI Auto-Completion

Windwlaker Console currently supports auto-completion on macOS zsh terminal. If you want to enable it, run this command once:

php windwalker completion

source ~/.zshrc

And now Windwalker auto-completion have registered to your zsh profile and can work for every Windwalker project. You can auto complete any commands or arguments when you're using console interface.


Released under the MIT License.