KMP developer documentation
Kingdom Management Portal is a CakePHP 5.4 application with a Vite-built Stimulus/Bootstrap frontend and first-party domain plugins. Hosted KMP is a managed, database-per-tenant platform: one PostgreSQL database owns platform metadata and each kingdom has an isolated application database.
These guides describe current behavior. Source code, migrations, tests, and runtime configuration remain authoritative when a low-level detail changes. Generated PHP and JavaScript class references are rebuilt during the Pages workflow instead of being maintained by hand.
Start here
| Goal | Guide |
|---|---|
| Learn the system’s purpose and boundaries | Introduction |
| Run KMP locally | Getting started |
| Understand the system | Architecture |
| Work safely across tenants | Multi-tenant architecture |
| Configure the runtime | Configuration |
| Make and verify a change | Development workflow |
| Choose the correct test lane | Testing infrastructure |
| Extend KMP or a plugin | Extending KMP |
| Operate the managed platform | Deployment and operations |
Architecture and data
- Architecture overview
- Multi-tenant architecture and isolation contract
- Application foundation
- Model behaviors
- Data architecture
- Application, plugin, and platform migrations
- Data seeding
Domain and extension points
- Core modules
- Authorization and RBAC
- Gatherings
- Documents and retention
- Plugin architecture
- Activities, Officers, Awards, and Waivers
- Service ownership map
- Workflow approval nodes
Frontend and UI
- UI and view patterns
- Dataverse grids
- JavaScript and Stimulus
- Vite asset management
- Timezone handling
- Turbo Frame navigation
- Accessibility review baseline
Development and quality
- Development workflow
- Security practices
- Testing infrastructure
- Security debug tooling
- Console command map
- Performance sizing and telemetry
- API reference portal
- Troubleshooting, glossary, and framework references
Operations
- Managed deployment overview
- Environment and role configuration
- Docker development
- Deployment runbooks
- Backup and restore
- Managed trust documentation
The standalone installer and provider-specific single-tenant quick starts are retained only where they help maintain legacy environments. They are not a supported path for new hosted tenants.
Documentation maintenance
When behavior changes, update the nearest owning guide and remove superseded
instructions. Do not copy secrets, customer data, generated reports, temporary
plans, or exhaustive class snapshots into this site. See
docs/AGENTS.md for the documentation contract.
The for_kids material is a separate educational audience;
it is not part of the developer reference.