Install in 60 seconds

composer create-project webtigers/tiger my-app --stability=beta
cd my-app

cp application/configs/local.ini.dist application/configs/local.ini   # set DB creds
bin/tiger install:secrets        # app crypto key + password pepper
bin/tiger migrate                # org / user / org_user / acl_* …
bin/tiger install:admin          # your founding org + owner account
bin/tiger link:assets            # wire the theme/asset symlinks
php -S localhost:8000 -t public

Open http://localhost:8000 — you're running Tiger. (The --stability=beta flag drops away at the stable 1.0.)

What just happened

  • create-project copied the skeleton into my-app/ — that part is yours; Composer never touches it again.
  • It pulled the framework into vendor/ (tiger-core + tigerzf), updatable any time with composer update.
  • migrate built the multi-tenant substrate (org / user / membership / ACL); install:admin gave you a login.

The bin/tiger console

Your Swiss-army knife lives at bin/tiger:

bin/tiger make:module billing     # scaffold a live feature (controller + /api service + acl)
bin/tiger migrate:status          # what's applied / pending
bin/tiger module:activate <slug>  # turn a drop-in module on (assets auto-publish)
bin/tiger version

Deploy anywhere

Point a web server's docroot at public/ and route every non-file request to index.php. On Apache the shipped public/.htaccess does it with zero config (AllowOverride FileInfo); nginx/Caddy examples live in deploy/. It runs happily on shared hosting / cPanel too — the entry shim self-locates whether the app sits beside public/ or above the docroot.