Roadmap

Guides

Roadmap

Product vision: the easiest way to build modern websites with PHP only — Flutter-like widgets, beautiful defaults, zero Tailwind for common UI.

Completed

Milestone 1 — Rendering engine

  • [x] Base component / widget engine
  • [x] Renderer
  • [x] Button, Card, Text, Container
  • [x] Method chaining, escaping, PHPUnit

Milestone 2 — Layout engine & theme

  • [x] Row, Column, Center, Padding, Spacer, Expanded, SizedBox, Stack, Divider
  • [x] ThemeInterface, DefaultTheme, ThemeManager
  • [x] Fluent Button aliases (primary(), large(), …)

Milestone 3 — Framework foundations (v0.3.0)

  • [x] Widget vocabulary + Component BC aliases
  • [x] WidgetTree, TreeWalker, lifecycle hooks
  • [x] StateManager (memory-only)
  • [x] Design tokens
  • [x] Event interfaces (prep only)
  • [x] AccessibilityBuilder

Milestone 4 — Runtime Core (v0.4.0)

  • [x] WidgetContext + RenderContext
  • [x] Service Container
  • [x] WidgetRegistry + WidgetMetadata
  • [x] Render Pipeline + HtmlWriter
  • [x] Plugin contracts + PluginManager
  • [x] Inspector / Snapshot / Performance contracts

Milestone 5 — Document & Asset Engine (v0.5.0)

  • [x] Document, Html, Head, Body
  • [x] Title, Meta, Link, Script, Style
  • [x] SeoManager (OG, Twitter, JSON-LD placeholder)
  • [x] AssetManager, AssetBundle, AssetManifest, AssetResolver
  • [x] DocumentRenderer + Renderer document detection

Milestone 5.1 — API Stewardship (v0.5.1)

  • [x] Public API freeze / stability docs
  • [x] Exception hierarchy
  • [x] PHPStan + PHP-CS-Fixer + EditorConfig
  • [x] GitHub Actions CI
  • [x] ADRs, versioning & deprecation policies
  • [x] @internal markers on non-SemVer types

Milestone 5.2 — DX cleanup (v0.5.2)

  • [x] Fluent Padding builder (Padding::make()->x()->y()->child())
  • [x] Structural Scaffold widget (appBar / sidebar / body / footer)
  • [x] Canonical Serixa\ namespace across the codebase
  • [x] Namespace / architecture docs

Milestone 6.0 — UI Foundation (v0.6.0)

  • [x] AppBar, Sidebar, MainContent, Footer
  • [x] Form, Label, Input, PasswordInput, Textarea, Checkbox, Radio, SwitchControl, Select
  • [x] Link, FieldGroup, HelperText, ErrorText
  • [x] Divider orientation / spacing improvements

Milestone 7.0 — Data Display & Application Widgets (v0.7.0)

  • [x] DataTable + Table primitives (convenience headers()/rows() + composition child(Table))
  • [x] SearchField, Pagination, Toolbar, PageHeader
  • [x] Avatar, Image, Logo
  • [x] StatCard, Metric, EmptyState, ActivityList / ActivityItem
  • [x] Playground CRUD / Dashboard / Profile wired to real widgets

Milestone 8.0 — Progressive Enhancement Foundation (v0.8.0)

  • [x] Fluent DOM events (onClick, onChange, onInput, onSubmit, …) → data-serixa-on-*
  • [x] HTML validation attributes (min/max/minLength/maxLength/pattern/readonly/…)
  • [x] Tiny client runtime assets/runtime/serixa.js (no VDOM / hydration / routing)
  • [x] EventRegistry + ClientRuntime registration helpers
  • [x] Playground Login / CRUD event metadata demos

Milestone 8.1 — Stability patch (v0.8.1)

  • [x] Checkbox / Radio / SwitchControl / SearchField attribute isolation

Milestone 9.0 — Interactive Components (v0.9.0)

  • [x] Modal, Drawer, Popover, Tooltip
  • [x] Toast, Alert, Badge, Chip, Spinner, Progress, Skeleton
  • [x] Dropdown / DropdownMenu / DropdownItem
  • [x] Accordion / AccordionItem
  • [x] Tabs / Tab / TabPanel
  • [x] Modular runtime modules + WAI-ARIA patterns
  • [x] Playground Interactive page demos

Milestone 10.0 — Developer Experience / CLI (v0.10.0)

  • [x] bin/serixa + CommandRegistry / Application
  • [x] new, make:*, docs, build, dev
  • [x] Filesystem templates + project presets (blog/crm/ecommerce)
  • [x] Plugin command registration facade

Upcoming

Milestone 7.1 — Polish & validation display

  • [ ] Chart placeholder contract / adapters
  • [ ] Field validation adapters (UI only)

Milestone 9.1 — Interactive polish

  • [ ] Focus trap hardening / stacked overlays API
  • [ ] Toast queue / portal helpers

Milestone 10.1 — CLI polish

  • [ ] Browser live-reload hook for serixa dev
  • [ ] Installable community template packages

Milestone 11 — Ecosystem monorepo (v0.11.1)

  • [x] Move production package to framework/
  • [x] Package skeletons (packages/*)
  • [x] Starter skeletons (starters/*)
  • [x] Root meta Composer + CI matrix for framework / packages / starters
  • [x] docs/monorepo.md

Milestone 12 — Extract CLI (serixa/cli v0.1.0 / framework v0.12.0)

  • [x] Move Console + templates to packages/cli
  • [x] Framework runtime-only (no bin/, no scaffolding)
  • [x] Namespace Serixa\Cli\

Milestone 7 — Interactive widgets (historical)

  • [x] Modal, Tabs, Accordion, Drawer, Dropdown, Toast (delivered in v0.9.0)

Milestone 8 — App DX

  • [ ] App::build / page composition helpers
  • [ ] Dark-mode toggle helpers (using WidgetContext colorMode)
  • [ ] Plugin marketplace adapters (optional)

Later

  • [ ] Routing (optional adapter, not a full framework clone)
  • [ ] Auth / ORM / CLI marketplace — out of core UI scope unless explicitly scheduled
  • [ ] Vite / asset bundler adapters