semitexa / ultimate
Semitexa Ultimate - full-stack project skeleton for SSR applications with docs and core modules
Package info
github.com/semitexa/semitexa-ultimate
Language:Shell
Type:project
pkg:composer/semitexa/ultimate
Requires
- php: ^8.4
- semitexa/api: 2026.06.21.0352
- semitexa/auth: 2026.06.21.0352
- semitexa/authorization: 2026.06.21.0352
- semitexa/cache: 2026.06.21.0352
- semitexa/core: 2026.06.22.0520
- semitexa/dev: 2026.06.21.0352
- semitexa/docs: 2026.06.21.0352
- semitexa/ledger: 2026.06.21.0352
- semitexa/llm: 2026.06.21.0352
- semitexa/locale: 2026.05.09.0726
- semitexa/mail: 2026.06.21.0352
- semitexa/media: 2026.06.21.0352
- semitexa/orm: 2026.06.21.0352
- semitexa/project-graph: 2026.06.21.0352
- semitexa/rbac: 2026.06.21.0352
- semitexa/scheduler: 2026.06.21.0352
- semitexa/search: 2026.06.21.0352
- semitexa/ssr: 2026.06.21.0352
- semitexa/storage: 2026.06.21.0352
- semitexa/tenancy: 2026.06.21.0352
- semitexa/theme: 2026.06.21.0352
- semitexa/update: 2026.05.12.0933
- semitexa/webhooks: 2026.06.21.0352
- semitexa/workflow: 2026.06.21.0352
Requires (Dev)
- semitexa/testing: 2026.06.21.0352
This package is auto-updated.
Last update: 2026-06-22 06:34:48 UTC
README
Source:
semitexa/ultimatescaffold. This file is bundled with the Semitexa Ultimate package and is copied into new projects bybin/semitexa init. In thesemitexa.devmonorepo edit the root copy and runbin/semitexa scaffold:sync-docsto propagate; in a consumer project,bin/semitexa init --only-docsrefreshes the file and local edits will be overwritten.
"Make it work, make it right, make it fast." — Kent Beck
Semitexa isn't just a framework; it's a philosophy of efficiency. Engineered for the high-performance Swoole ecosystem and built with an AI-first mindset, it allows you to stop fighting the infrastructure and start building the future.
Simple by design. Powerful by nature.
Requirements
- Docker and Docker Compose
- Composer (on host for install)
Install
From an empty folder (get the framework and install dependencies):
composer require semitexa/ultimate
From a clone or existing project (dependencies already in composer.json):
composer install
Then:
cp .env.default .env
Run (Docker — supported way)
bin/semitexa server:start
To stop:
bin/semitexa server:stop
Default URL: http://0.0.0.0:9502 (configurable via .env SWOOLE_PORT).
Documentation
Official framework documentation lives in packages/semitexa-docs/. Package-level deep reference lives in vendor/ (or packages/ in the monorepo).
| Topic | File or folder |
|---|---|
| AI context for this project | AI_CONTEXT.md |
| Framework docs hub | packages/semitexa-docs/docs/README.md |
| Workspace / monorepo docs — architecture, DI, PHPStan, testing, policy | packages/semitexa-docs/docs/workspace/README.md |
| Running the app — Docker, ports, logs | vendor/semitexa/core/docs/RUNNING.md |
| Adding pages and routes — modules, Request/Handler | vendor/semitexa/core/docs/ADDING_ROUTES.md |
| Attributes — AsPayload, AsPayloadHandler, AsResource, etc. | vendor/semitexa/core/docs/attributes/README.md |
| Service contracts — contracts:list, active implementation | vendor/semitexa/core/docs/SERVICE_CONTRACTS.md |
The repository does not treat a root-level ./docs/ directory as canonical. Project-level AI guidance lives at root (AGENTS.md, AI_ENTRY.md, AI_CONTEXT.md, AI_NOTES.md); framework guidance lives in packages/semitexa-docs/; per-package reference lives in packages/<package>/docs/.
Structure
src/modules/– your application modules (add new pages and endpoints here). New routes only in modules.packages/semitexa-docs/– official Semitexa framework and workspace documentation.packages/<package>/docs/– per-package canonical reference.var/docs/– working directory for notes, drafts, research, and remediation reports; not canonical.AI_ENTRY.md,AI_CONTEXT.md,AGENTS.md– AI entrypoints and rules at project root;AI_NOTES.mdis your notes (never overwritten).
Tests
Semitexa is Docker-based. Tests must run inside the project's test container. The only supported command is:
bin/semitexa test:run
This wraps PHPUnit with the correct container, environment, and test-path discovery. Pass PHPUnit arguments positionally:
bin/semitexa test:run --filter MyTest bin/semitexa test:run packages/semitexa-core/tests/Integration
Running vendor/bin/phpunit directly on the host is not supported — the environment, service dependencies, and path resolution only match when tests run through bin/semitexa test:run.
Configuration lives in phpunit.xml.dist; tests live in packages/<package>/tests/ (auto-discovered). Local module tests live next to the module they cover at src/modules/<Module>/tests/. There is no root-level tests/ directory and no shared catch-all test bucket.