Skip to main content
Aikeedo is a self-hosted PHP application, and you get its full source code. This section is for developers who want to extend an installation, change how it looks, integrate it with other systems, or understand how the core works before changing it.
This page applies to Aikeedo 5.x. Class names, paths and signatures match the 5.0 source code.

What you can build

Plugins

Add features, pages, API endpoints, payment gateways, tax engines, storage adapters, AI providers and integrations, all without editing core files.

Themes

Design the public landing page and add your own marketing pages with Twig, Tailwind CSS and Alpine.js.

REST API integrations

Connect external applications to the User and Admin REST APIs, including streamed chat responses.

Core customizations

Learn the architecture, request lifecycle, modules and subsystems before you override or extend core behavior.

Choose where to start

1

Set up a local environment

Install Aikeedo locally, then follow Local development to turn on debug mode, frontend hot reloading and cron.
2

Pick the right extension mechanism

Read Extending Aikeedo to decide between a plugin, a theme and a view override, and to see which changes survive updates.
3

Build something

Follow the plugin quickstart or the theme quickstart. Both take you from an empty directory to working code in an installation.

Technology at a glance

See Core architecture for the full picture.

Conventions in these docs

  • Paths are relative to the Aikeedo installation root, the directory that contains composer.json, bin/ and src/. The web root is public/ by default, or whatever the PUBLIC_DIR environment variable names.
  • Class names are fully qualified. Core classes have no vendor prefix; for example, Billing\Infrastructure\Payments\PaymentGatewayInterface lives in src/Billing/Infrastructure/Payments/PaymentGatewayInterface.php.
  • Examples use a fictional vendor, acme, with packages such as acme/hello and the namespace Acme\Hello\. Replace them with your own vendor and package names.
  • Commands run from the installation root unless a page says otherwise, for example php bin/console app:locale:extract.

Prerequisites

To follow the guides, you should be comfortable with:
  • Modern PHP: namespaces, attributes, enums, readonly properties and Composer
  • Twig templates and basic Alpine.js
  • Working in a terminal with php, composer and npm
Develop and test extensions on a local or staging copy, not on your production installation.