Search by

zalliant / ethernize

zalliant

Application skeleton for Zalliant Ethernize (experimental beta).

Package info

github.com/zalliant/ethernize-skeleton

Type:project

pkg:composer/zalliant/ethernize

Statistics

Installs: 4

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.0-beta.1 2026-10-20 22:00 UTC

This package is auto-updated.

Last update: 2026-10-20 22:28:17 UTC


README

A small, working Ethernize application. Experimental beta: the API can change between betas, so do not use it in production yet.

Portuguese version: README.pt-BR.md.

Requirements

  • PHP 8.2 or newer with the filter, hash, json, mbstring, ctype and pdo extensions
  • Composer 2
  • No Node.js

Start

composer create-project zalliant/ethernize my-project --stability=beta
cd my-project
php ethernize run

Open the address it prints (http://127.0.0.1:8000). The page you see is rendered by Weave from apps/app/resources/views/pages/welcome.weave.

Commands

php ethernize run                      # development server of the only application
php ethernize run app --port=9000      # a named application on another port
php ethernize help                     # list commands
php ethernize --version

run starts PHP's built-in server for development only, with APP_ENV=local and debug on. It listens on 127.0.0.1 and stops with Ctrl+C. Applications are the folders inside apps/ that have a public/index.php; add another folder there and run finds it. Default ports: 8080 for aether, 8081 for website, 8000 for any other name.

What is here

apps/app/
  public/index.php        the only file the web server exposes
  routes/web.php          routes (controller classes, not closures)
  src/Controllers/        your code, namespace App\
  resources/views/        Weave templates
  config/                 configuration (one file per area)
  .env                    environment (created from .env.example; never commit it)
  var/                    cache, sessions and other runtime files (not committed)
ethernize                 the command line
bin/manifest.php          builds the Manifest for production
bin/strata.php            database migrations (when Strata is enabled)

The framework itself lives in vendor/zalliant/. You never edit it.

Modules

Ethernize is modular. Only Weave is on. The others are installed but not started until you list them in apps/app/config/app.php:

Module Provider For
Pulse Ethernize\Pulse\PulseProvider reactive components driven by the server
Strata Ethernize\Strata\StrataProvider database access and migrations
Shield Ethernize\Shield\ShieldProvider sessions, login, authorization, CSRF

Shield never turns authentication on by itself. You protect routes explicitly. Without it, no session is created and no cookie is sent. Pulse needs a signing key outside local development (PULSE_KEY, see .env.example). Each module has a ready-to-edit file in apps/app/config/.

Production checklist

  1. Copy only the files, run composer install --no-dev --optimize-autoloader.
  2. Create .env outside version control with APP_ENV=production, APP_DEBUG=false, your APP_URL and TRUSTED_HOSTS.
  3. Point the web server at apps/app/public, nothing else.
  4. php bin/manifest.php build, then php bin/manifest.php check, and run with the process environment variable APP_MANIFEST=required.
  5. Reload PHP so OPcache drops the old files.

Updating

composer update "zalliant/*". Read the release notes first: during the beta, minor versions can change the API.