Semitexa
Explore Articles ↗

Semitexa documentation

Find a concept, task, or command

Type to search every documentation page.

  • Section Start Here The shortest path from fresh scaffold to a trustworthy local Semitexa runtime: install, boot, understand the module map, bind a real host, and reach the first tenant boundary.
  • Start Here Module Structure The minimal Semitexa module is a typed HTTP spine of payload, handler, resource, and template.
  • Start Here Installation Create the project, review the baseline env contract, and bring up the Semitexa runtime the supported way.
  • Start Here Local Domain Register .test domains through the built-in local-domain helper instead of relying on ad hoc host setup.
  • Start Here Base Tenant Establish one default tenant context early so tenant-aware behavior is visible before the rest of the application grows.
  • Start Here Locale Setup Configure the minimal Locale contract so translations and locale-aware rendering become explicit early.
  • Start Here AI Console Use the Semitexa AI console as a command translation surface over real operator commands.
  • Start Here Beyond Controllers Understand why Semitexa keeps transport, use case, and rendering as separate explicit responsibilities.
  • Section Routing & Handlers Attribute-driven routes, typed handlers, and content negotiation in one coherent request pipeline.
  • Routing & Handlers Basic Route Define a route with one access attribute on the payload — no XML, no YAML, no config files.
  • Routing & Handlers Parameterized Route Path parameters with regex constraints, how the hydrator injects them, and why a default does not make a segment optional.
  • Routing & Handlers Env Route Override Keep the payload as the route source of truth while allowing operations to remap the public URL through .env.
  • Routing & Handlers Payload As A Shield Hydration happens before the handler, and each setter owns the normalization and guard logic for its own field.
  • Routing & Handlers Payload Parts One module owns the route, another module can extend the same payload contract without forking or reopening the base class.
  • Routing & Handlers Content Negotiation One endpoint, multiple response formats — automatically.
  • Routing & Handlers Public Payload Anonymous endpoints opt in explicitly with the public access attribute. Every other payload requires authentication.
  • Section Dependency Injection Single-path DI with explicit lifecycles, deterministic contracts, and stable boot behavior for long-running workers.
  • Dependency Injection DI Canon One canonical DI path for container-managed classes — protected property attributes, no constructor arguments, validated at boot and enforced by lint:di.
  • Dependency Injection Readonly Injection The default tier — one instance per worker, injected into a protected property, with optional injection for dependencies that may not be installed.
  • Dependency Injection Mutable Injection #[ExecutionScoped] opts a class into a per-execution clone; #[InjectAsMutable] marks the properties re-injected on that clone.
  • Dependency Injection Factory Injection #[InjectAsFactory] injects a ContractFactory that selects among a contract's implementations by backed-enum key — not a closure, and not a new instance per call.
  • Dependency Injection Service Contracts One module declares an interface, implementations advertise themselves with SatisfiesServiceContract, and the active one is visible in contracts:list.
  • Section Persistence Attribute-mapped resources, repositories, filtering, pagination, and relations with real demo data.
  • Persistence Domain-Level Models Semitexa separates persistence resources from business models. Resources map tables; domain models carry behavior and invariants.
  • Persistence Repository Workflow The canonical Semitexa path: handlers depend on repository contracts, repositories return domain models, and persistence resources stay behind the boundary.
  • Persistence Schema Sync, Not Migration Churn Semitexa creates SQL only when the real schema changed, blocks destructive drops by default, and logs the exact DDL plan as SQL and JSON.
  • Persistence Query Builder Compose type-safe queries with a fluent API — no raw SQL, no magic strings.
  • Persistence Filtering Mark a property #[Filterable] and the ORM handles the rest — no manual WHERE clauses.
  • Persistence Pagination Offset and cursor pagination out of the box — switch modes with a single query parameter.
  • Persistence Relations Declare parent and child links on the resource itself, then read typed relations from the handler.
  • Persistence Shared Table Extension Two modules can extend one table independently, and the ORM merges the schema without forcing either side to edit the other.
  • Persistence N+1 Without Magic Semitexa avoids N+1 by using resource slices for the exact columns and relations each screen needs, instead of hiding database traffic behind implicit relation loading.
  • Section Security Typed session payloads, machine credentials, RBAC, and route protection without string-key auth chaos.
  • Security Session Auth Google signs the user in, then the session stores the selected demo role and re-hydrates it on every request.
  • Security Session Payloads Semitexa forbids string-key session chaos: session state lives in typed Session Payloads or it does not exist.
  • Security Google Authorization Authorization is required for demo SSE blocks that keep a long-lived backend connection open.
  • Security Machine Auth Service-to-service authentication via Bearer tokens — scoped, revocable, and audited.
  • Security Protected Route Add one access attribute and one optional permission attribute and the framework enforces access — 401 for unauthenticated requests, 403 for unauthorized ones.
  • Security Requires Permission Declare one permission slug on the payload and let the framework enforce it before your handler runs.
  • Security RBAC Hybrid RBAC with coarse-grained capabilities, exact permission slugs, and module-owned permission catalogs.
  • Section Async Synchronous and deferred event flows, queues, and SSE-style interactions.
  • Async Execution Arena Launch the same backend intent in sync, Swoole async, and queued modes, then watch the proof arrive over SSE.
  • Async Sync Events Dispatch an event and all sync listeners run before the response is sent.
  • Async Deferred Handler Heavy work runs after the response is sent — the user gets instant feedback.
  • Async Queued Handler Events survive restarts and scale across workers — backed by a durable message queue.
  • Async SSE Stream Real-time server push without WebSockets — connect once and receive real backend events over plain HTTP.
  • Section UI Rendering & SSR One rendering story from handler to HTML: page data, page regions, and live updates stay in the same server-driven model instead of splitting into frontend and backend template logic.
  • UI Rendering & SSR SSR Philosophy Semitexa SSR is one continuous rendering architecture: page, slots, deferred regions, live refresh, and interactive components stay inside one server-owned story.
  • UI Rendering & SSR Resource DTOs A Resource DTO is the one typed source of presentation data: handlers shape it once, templates consume it everywhere, and no view has to dissect random arrays.
  • UI Rendering & SSR Slot Resources Each page region is its own resource pipeline with the same template system as the main page — no scattered partial glue, no mystery wiring.
  • UI Rendering & SSR Components Reusable, attribute-registered UI components — discovered automatically from the classmap.
  • UI Rendering & SSR SEO Set title, description, and Open Graph tags from your handler — no template hacks needed.
  • UI Rendering & SSR Asset Pipeline Declare assets with glob patterns in assets.json — served, versioned, and injected automatically.
  • UI Rendering & SSR Component Script Assets A Semitexa SSR component can own its optional enhancement asset, so behavior travels with the component instead of leaking into page-level glue.
  • UI Rendering & SSR Script Injection Deferred blocks carry their own JS — injected once when the block arrives, never duplicated.
  • UI Rendering & SSR Deferred Blocks SSR renders the shell first, then expensive regions stream in as real HTML over SSE — no SPA handoff and no client-side page rebuild.
  • UI Rendering & SSR Block Isolation Two identical blocks on the same page run independently — scoped DOM, scoped JS, no conflicts.
  • UI Rendering & SSR Live Widgets The server re-renders a live slot on a cadence and pushes it down the page's own SSE connection — SSR-first, no SPA runtime, and no polling anywhere.
  • UI Rendering & SSR Reactive Report Background work updates an SSR-first slot in place, so the UI feels live without falling back to SPA state orchestration.
  • UI Rendering & SSR Reactive Import Background batches keep moving, and the page reflects server progress as live HTML instead of a client-managed progress app.
  • UI Rendering & SSR Reactive Analytics Independent analytics jobs can light up one dashboard progressively, while the page stays server-rendered from the first byte.
  • UI Rendering & SSR Reactive AI Task Submit a task and watch the AI pipeline stages reveal one by one as the cron job processes it.
  • Section Tenancy Multi-tenant resolution, tenant-aware configuration, and strict isolation of data and background work.
  • Tenancy Tenant Context Resolution See how Semitexa resolves the active tenant from subdomain, header, path, or query input before the rest of the platform runs.
  • Tenancy Per-Tenant Configuration Three demo tenants with distinct branding -- switch tenant, everything changes without if/else.
  • Tenancy Multi-Layer Tenancy Organization, Locale, Theme, Environment -- four independent layers compose into one TenantContext.
  • Tenancy Data Isolation Product listing scoped by tenant -- switch tenant, list changes. Zero manual WHERE clauses.
  • Tenancy Queue Tenant Propagation Tenant context travels with queued jobs -- _tenant key injected automatically, restored by worker.
  • Section API External API endpoints, machine auth, versioning, and consumer-facing schema behavior.
  • API REST API Classic Semitexa REST endpoints with typed payloads, versioning, and consumer-friendly response shaping.
  • API Structured Errors Throw domain exceptions and let semitexa-api map them into stable machine-readable error envelopes.
  • API Active Version The current collection endpoint with a clean X-Api-Version header and no deprecation noise.
  • API Sunset Version A deprecated product endpoint that emits both Deprecation and Sunset headers.
  • API Schema Discovery A mini Swagger-style explorer for the live product API contract, schema endpoint, and response shapes.
  • API GraphQL API GraphQL-first Semitexa contracts built with typed payloads and typed output DTOs instead of resolver sprawl.
  • API REST + GraphQL One Semitexa use case can serve both REST and GraphQL without duplicating handler logic into separate resolver classes.
  • Section CLI Operational, introspection, and AI-oriented command surfaces that explain and drive the framework from the terminal.
  • CLI Project Graph Introspection Routes, modules, contracts, and handlers can be introspected directly from the CLI instead of reverse-engineering the framework graph by hand.
  • CLI Runtime Maintenance Reload workers, clear stale cache, sync registries, lint architecture rules, and probe handler wiring without reaching for ad-hoc shell scripts.
  • CLI Scaffolding Generators Scaffold modules, pages, payloads, services, and contracts through commands that already understand Semitexa structure and AI-friendly output modes.
  • CLI Workers & Scheduling Run queues, scheduler pools, mail delivery, webhooks, and tenant-scoped commands from a coherent operator surface instead of bespoke daemons.
  • CLI Semitexa Dev Use Semitexa Dev as the project-aware operating layer for orientation, planning, structural inspection, runtime debugging, durable work memory, and precise verification.
  • CLI ORM Console Toolkit The ORM ships with a practical CLI surface: status, diff, sync, and seed commands with dry-run safety and SQL plan export.
  • Section LLM Module The dedicated `semitexa/llm` module: AI assistant entrypoint, skill discovery, planner, executor, provider backends, and skill authoring rules.
  • LLM Module LLM Module Overview What `semitexa/llm` adds to the framework and how your project can expose its own CLI skills to the assistant.
  • LLM Module Providers & Backends Provider contracts, backend resolution, local vs remote Ollama, and the environment knobs that shape LLM runtime behavior.
  • LLM Module Adding Skills How a console command becomes AI-executable through `#[AsAiSkill]`, metadata policy, and registry discovery.
  • LLM Module Execution Flow How a user request becomes a planner decision, a reviewed skill proposal, and finally a real console execution.
  • Section Project Graph The `semitexa-project-graph` package: stored structural graph, intelligence layer, impact analysis, and task-scoped context for serious repository work.
  • Project Graph Project Graph Overview Understand what `semitexa-project-graph` adds: a stored structural map, an intelligence layer, and task-scoped context for large-codebase work.
  • Project Graph Inspecting the Graph Use Project Graph queries and intelligence views to inspect modules, dependencies, flows, events, and hotspots without reconstructing the repository manually.
  • Project Graph Impact, Context, and Watch Mode Use impact analysis, context packing, and watch mode to scope risky changes and keep graph-backed answers current during long work sessions.
  • Section Testing Contract-level verification patterns for payloads and other framework boundaries.
  • Testing Payload Contract Testing Run one project-level contract suite through the canonical test runner and let strategy profiles verify payload boundaries without hand-writing repetitive negative cases.

No matching documentation. Try a shorter task or a framework term.

↑↓ navigate↵ open
Sign in
Explore Semitexa
Explore the framework↗ Articles↗ Get started↗
Sign in
Guided path Start Here
  • Installation
  • Local Domain
  • Module Structure
  • Base Tenant
  • Locale Setup
  • AI Console
  • Project Graph Overview
  • Basic Route
  • DI Canon
Route-first map Full Catalog
GO Get Started
Module Structure
  • Module Structure
Onboarding
  • Installation
  • Local Domain
  • Base Tenant
  • Locale Setup
  • AI Console
  • Beyond Controllers
RT Routing & Handlers
Foundations
  • Basic Route
  • Parameterized Route
  • Env Route Override
Request Model
  • Payload As A Shield
  • Payload Parts
Delivery
  • Content Negotiation
  • Public Payload
DI Dependency Injection
Container Basics
  • DI Canon
  • Readonly Injection
  • Mutable Injection
  • Factory Injection
  • Service Contracts
DB Persistence
Modeling & Workflow
  • Domain-Level Models
  • Repository Workflow
  • Schema Sync, Not Migration Churn
Querying
  • Query Builder
  • Filtering
  • Pagination
  • Relations
  • Shared Table Extension
  • N+1 Without Magic
AU Security
Identity
  • Session Auth
  • Session Payloads
  • Google Authorization
  • Machine Auth
Access Control
  • Protected Route
  • Requires Permission
  • RBAC
EV Async
Event Flow
  • Execution Arena
  • Sync Events
  • Deferred Handler
  • Queued Handler
  • SSE Stream
UI UI Rendering & SSR
SSR Foundation
  • SSR Philosophy
  • Resource DTOs
  • Slot Resources
  • Components
  • SEO
  • Asset Pipeline
  • Component Script Assets
  • Script Injection
Deferred Delivery
  • Deferred Blocks↗
  • Block Isolation
Reactive UI
  • Live Widgets
  • Reactive Report
  • Reactive Import
  • Reactive Analytics
  • Reactive AI Task
TN Tenancy
Tenant Resolution
  • Tenant Context Resolution
Tenant Configuration
  • Per-Tenant Configuration
  • Multi-Layer Tenancy
Isolation & Work
  • Data Isolation
  • Queue Tenant Propagation
API API
REST Surface
  • REST API
  • Structured Errors
  • Active Version
  • Sunset Version
Schema Discovery
  • Schema Discovery
  • GraphQL API
  • REST + GraphQL
CLI CLI
Describe & Inspect
  • Project Graph Introspection
  • Runtime Maintenance
Automation
  • Scaffolding Generators
  • Workers & Scheduling
  • Semitexa Dev
  • ORM Console Toolkit
PG Project Graph
Start Here
  • Project Graph Overview
Explore & Inspect
  • Inspecting the Graph
Impact & Context
  • Impact, Context, and Watch Mode
AI LLM
Assistant Surface
  • LLM Module Overview
  • Providers & Backends
Skill System
  • Adding Skills
  • Execution Flow
QA Testing
Contracts
  • Payload Contract Testing
← All sections
TN

Section Overview

Tenancy

5 live features

Multi-tenant resolution, tenant-aware configuration, and strict isolation of data and background work.

Support Semitexa
Built for developers who prefer control over magic. Your support helps keep it fast, open, and evolving.

Donate via PayPal

Route Map

Each feature page pairs live output with the source that produced it.

Tenant Resolution

1

Tenancy

Tenant Context Resolution

See how Semitexa resolves the active tenant from subdomain, header, path, or query input before the rest of the platform runs.

Open feature

Tenant Configuration

2

Tenancy

Per-Tenant Configuration

Three demo tenants with distinct branding -- switch tenant, everything changes without if/else.

Open feature

Tenancy

Multi-Layer Tenancy

Organization, Locale, Theme, Environment -- four independent layers compose into one TenantContext.

Open feature

Isolation & Work

2

Tenancy

Data Isolation

Product listing scoped by tenant -- switch tenant, list changes. Zero manual WHERE clauses.

Open feature

Tenancy

Queue Tenant Propagation

Tenant context travels with queued jobs -- _tenant key injected automatically, restored by worker.

Open feature

© 2026 Semitexa · 2026.09.24.1147