EN

Every package, by area

Plerino is a monorepo of Composer packages under the plerino vendor name. Each package has its own tests, changelog and documentation page. No stable release has been published yet.

Client librariesStandards

packages in the repository
30
planned packages
5
areas
10

Foundation

Contracts, the kernel and the building blocks every package shares

  • plerino/contractsIn the repository

    Interfaces, enums and value-object contracts that define the public API surface, with PSR re-exports.

  • plerino/kernelIn the repository

    Boot, the build pipeline, discovery, request scopes, the middleware pipeline and the error boundary.

  • plerino/containerIn the repository

    A compiled service container with singleton, scoped and transient lifetimes declared by attributes.

  • plerino/configIn the repository

    Typed configuration classes compiled at build time from environment variables, with secrets kept out of the compiled file.

  • plerino/cryptoIn the repository

    libsodium wrappers: authenticated encryption, a key ring with rotation, hashing, signing and the Secret value type.

  • plerino/clockIn the repository

    A PSR-20 clock, a frozen clock for tests and a Duration type.

  • plerino/collectionIn the repository

    Typed immutable collections, maps and lazy sequences.

  • plerino/moneyIn the repository

    Exact monetary amounts with ISO 4217 currencies, allocation and formatting.

  • plerino/frameworkIn the repository

    The meta-package that requires the core packages.

HTTP and runtime

Messages, routing, runtime drivers and an outbound client

  • plerino/httpIn the repository

    A PSR-7, PSR-15 and PSR-17 implementation with typed input classes, a response factory, Problem Details and security headers.

  • plerino/routingIn the repository

    Route attributes, typed parameters, a compiled matcher and URL generation.

  • plerino/kineticIn the repository

    The runtime: FrankenPHP worker and PHP-FPM drivers, worker recycling and health endpoints. Swoole and RoadRunner drivers are planned.

  • plerino/http-clientIn the repository

    A PSR-18 client with a server-side request forgery guard, redirect control, retries, a pool and fakes.

Templates and front end

Compiled templates and front-end integration

  • plerino/weftIn the repository

    An HTML-native template compiler with components, slots and escaping by default. It also renders mail markup and PDF documents.

  • plerino/bridgePlanned

    An adapter for client-side front ends with server-side rendering.

Data

SQL, documents, vectors, caching and file storage

  • plerino/tesseraIn the repository

    Entities, repositories, an immutable query builder and migrations for PostgreSQL, MySQL and SQLite, a MongoDB document store and vector search.

  • plerino/cacheIn the repository

    PSR-6 and PSR-16 caches with file, memory, Redis and Memcached stores, tags, locks and stampede protection.

  • plerino/filesystemIn the repository

    Local and S3-compatible storage with validated paths, streams, upload inspection and presigned URLs.

  • plerino/seekerPlanned

    Search drivers and a vector search bridge.

Background work

Queues, workflows, schedules and events

  • plerino/fluxIn the repository

    Queue drivers for Redis Streams, PostgreSQL and SQS, jobs, batches, durable workflows and a dashboard.

  • plerino/schedulerIn the repository

    Scheduled classes compiled at build time, cron expressions, time zones and locks across nodes.

  • plerino/eventsIn the repository

    Typed events with listeners compiled at build time, asynchronous delivery and a transactional outbox.

Realtime

A realtime server and its protocol

  • plerino/cometIn the repository

    A realtime server over WebSocket and server-sent events with channels, policies, presence, replay and end-to-end encrypted channels.

Security

Authentication, authorization and protection

  • plerino/aegisIn the repository

    Sessions, guards, passkeys, TOTP, recovery codes, magic links, OAuth sign-in, API tokens and policies for RBAC, ABAC and ReBAC.

  • plerino/bastionPlanned

    Runtime application protection.

  • plerino/wardenPlanned

    Data classification, an audit chain and GDPR tooling.

Communication

Mail and multi-channel notifications

  • plerino/mailIn the repository

    Messages, MIME building, SMTP, SES, Postmark and Resend transports, DKIM, queued delivery and preview.

  • plerino/notificationsIn the repository

    Notifications over mail, SMS, Telegram, Web Push, Slack and a database inbox, with preferences and queue hand-off.

Application support

Validation, localisation, logging and the command line

  • plerino/validationIn the repository

    Attribute rules, a validator and translated messages.

  • plerino/i18nIn the repository

    ICU MessageFormat, locale negotiation, formatters and the core translations.

  • plerino/logIn the repository

    A PSR-3 JSON lines logger with secret redaction and size-based rotation.

  • plerino/consoleIn the repository

    Command attributes, input and output, prompts and tables.

  • plerino/cliIn the repository

    The plerino binary: build, serve, routes, container, doctor, secrets, key rotation and generators.

  • plerino/facetPlanned

    Feature flags.

Observability

Telemetry and development tooling

  • plerino/lensIn the repository

    OpenTelemetry traces, metrics and logs over OTLP, development panels, a toolbar and a detailed error page.

Client libraries

Published outside Composer.

  • @plerino/cometIn the repository

    The typed TypeScript client for Comet: reconnection, resume, offline publishing, presence and end-to-end encryption.

  • Weft for Visual Studio CodeIn the repository

    Syntax highlighting for Weft templates.

Built on standards

Plerino implements open interfaces and specifications instead of private conventions.

  • PSR-3
  • PSR-6
  • PSR-7
  • PSR-15
  • PSR-16
  • PSR-17
  • PSR-18
  • PSR-20
  • ICU MessageFormat
  • RFC 9457 Problem Details
  • OpenTelemetry
  • WebAuthn
  • libsodium

Follow the road to 1.0

Explore what exists today, or write to us if you want to talk about the project.

Explore the ecosystemGet in touch

Type to search. Use the arrow keys to move and Enter to open.

Suggested