Prerequisites
- A local Aikeedo installation with
DEBUG=trueandCACHE=false. See Local development. - Node.js 18 or newer, and Composer.
- Administrator access to the admin panel.
Step 1: Clone the starter
Step 2: Rename the package
Editstatic/composer.json. Three things must agree: the package name, the entry class namespace and the autoload map.
static/composer.json
static/src/Theme.php and static/src/CustomView.php to match.
Step 3: Point the build at your installation
The starter readsBUILD_DIR and AIKEEDO_SERVER from its environment. Copy the committed defaults into a local file and set your own paths:
.env.local
Step 4: Tell Aikeedo to load assets from Vite
In the Aikeedo installation’s.env:
.env
Step 5: Start the dev server
AIKEEDO_SERVER, so you can browse the whole site through it. It also copies static/ into BUILD_DIR as you edit.
Open http://localhost:5174.
Step 6: Install the theme
The starter ships a PHP entry class, which Composer has to autoload. From the installation root:A theme without PHP doesn’t strictly need this: Aikeedo discovers any valid package directory under
extra/extensions/. Installing with Composer is still the tidier path, and it’s required as soon as you add an entry class.Step 7: Publish it
1
Preview
Visit
/preview?theme=acme/aurora to see the theme without switching the live site.2
Publish
In the admin panel, open Themes, find Aurora, and select Publish.
3
Verify
Load the home page. You should see the starter’s landing page.
Editing
static/templates/index.twig reloads the page, and editing src/css/index.css updates styles without a reload.Step 8: Make it yours
Add a pricing section next: the landing template receives
plans, and Pricing and plans shows how to render them.
Step 9: Package a release
Troubleshooting
The theme isn't listed in the admin panel
The theme isn't listed in the admin panel
Check that the directory path matches the package name, that
type is aikeedo-theme, and that require includes heyaikeedo/composer.Styles are missing, or assets 404
Styles are missing, or assets 404
THEME_ASSETS_SERVER must match the Vite port, and npm run dev must be running. Without the dev server, build once so the files exist in BUILD_DIR.Class Acme\Aurora\Theme not found
Class Acme\Aurora\Theme not found
Run
composer require acme/aurora, and check that the namespace in composer.json, Theme.php and the autoload map all agree./custom returns 404
/custom returns 404
Routes are cached when
CACHE=true. Set CACHE=false, or clear the cache from Status → Clear cache.Twig errors about undefined variables
Twig errors about undefined variables
Debug mode enables strict variables. Guard optional values, for example
{% if user is defined %}.