| name | altis-development |
| description | Altis DXP development environment and architecture. Apply when working on Altis projects, running local development commands, or understanding Altis project structure. Covers local server commands, mu-plugins architecture, asset handling, and deployment. |
Altis DXP Development
Altis is an enterprise WordPress platform by Human Made. Projects use a specific architecture and tooling.
Project Structure
project/
├── .config/ # Altis configuration
│ └── environments/ # Environment-specific config
├── content/
│ ├── mu-plugins/ # Must-use plugins (auto-loaded)
│ │ ├── plugin-name/
│ │ │ ├── plugin.php # Main plugin file
│ │ │ └── inc/ # Namespaced code
│ │ └── loader.php # Loads all mu-plugins
│ ├── plugins/ # Standard plugins
│ └── themes/
│ └── theme-name/
│ ├── functions.php
│ ├── inc/
│ └── theme.json
├── composer.json
├── package.json
└── webpack.config.js
mu-plugins Architecture
Must-use plugins in content/mu-plugins/ are auto-loaded via loader.php:
<?php
namespace Project\MyFeature;
function bootstrap() : void {
add_action( 'init', __NAMESPACE__ . '\\register' );
}
bootstrap();
The loader typically includes each plugin's main file which calls its bootstrap function.
Local Development Commands
Altis uses composer server for local development:
Server Management
composer server start
composer server stop
composer server restart
composer server status
composer server destroy
WP-CLI Access
composer server cli -- <command>
composer server cli -- post list --post_type=page
composer server cli -- user list
composer server cli -- option get siteurl
composer server cli -- cache flush
Database Access
composer server db info
composer server db
composer server db export
composer server db import dump.sql
Logs
composer server logs
composer server logs php
composer server logs nginx
Running PHP Scripts
composer server cli -- eval-file path/to/script.php
composer server cli -- eval "echo get_option('siteurl');"
Asset Handling
Assets are typically built with webpack:
npm install
npm run build
npm run start
Enqueue in PHP:
function enqueue_assets() : void {
$asset_file = include get_template_directory() . '/build/index.asset.php';
wp_enqueue_script(
'theme-scripts',
get_template_directory_uri() . '/build/index.js',
$asset_file['dependencies'],
$asset_file['version'],
true
);
}
add_action( 'wp_enqueue_scripts', __NAMESPACE__ . '\\enqueue_assets' );
Elasticsearch
Altis includes Elasticsearch for search:
composer server cli -- elasticpress index --setup
composer server cli -- elasticpress index
Redis Object Cache
Object caching is handled automatically. Clear with:
composer server cli -- cache flush
Environment Configuration
Environment-specific settings in .config/:
<?php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'SCRIPT_DEBUG', true );
Fetching Pages for Debugging
curl -s https://project.altis.dev/page-slug | head -100
curl -s -b "wordpress_logged_in_xxx=value" https://project.altis.dev/wp-admin/
For JavaScript-rendered content, use browser dev tools or Playwright.