marko / skeleton
Marko Framework - Application Skeleton
0.7.0
2026-05-27 16:19 UTC
Requires
- php: ^8.5
- marko/env: *
- marko/framework: *
Requires (Dev)
- marko/dev-server: *
- pestphp/pest: ^4.0
Suggests
- marko/authentication-token: Token-based authentication driver (signed token sessions)
- marko/cache-array: In-memory cache driver (request-lifetime only; testing and dev)
- marko/cache-file: File-based cache driver (recommended; no infrastructure, single-server apps)
- marko/cache-redis: Redis cache driver (distributed deployments and high-throughput)
- marko/database-mysql: MySQL/MariaDB database driver
- marko/database-pgsql: PostgreSQL database driver (recommended; strong JSON, FTS, pgvector support)
- marko/database-readwrite: Read/write connection splitting decorator (optional — works alongside a base driver)
- marko/encryption-openssl: OpenSSL-based encryption driver (AES-256-GCM)
- marko/errors-advanced: Advanced errors driver (pretty stack traces and suggestions; for development)
- marko/errors-simple: Simple errors driver (recommended; minimal information disclosure, production-safe)
- marko/filesystem-local: Local disk filesystem driver (recommended; zero infrastructure)
- marko/filesystem-s3: Amazon S3 filesystem driver (cloud and distributed deployments)
- marko/http-guzzle: Guzzle-based HTTP client driver
- marko/inertia-react: React Inertia.js frontend driver (recommended; largest community and tooling ecosystem)
- marko/inertia-svelte: Svelte Inertia.js frontend driver
- marko/inertia-vue: Vue Inertia.js frontend driver
- marko/log-file: File-based log driver (with log rotation)
- marko/mail-log: Log-based mail driver (writes emails to LoggerInterface; for development and testing)
- marko/mail-smtp: SMTP mail driver (recommended; for production)
- marko/media-gd: GD media driver (recommended; built into most PHP installations)
- marko/media-imagick: ImageMagick media driver (higher fidelity; requires ext-imagick)
- marko/notification-database: Database-backed notification driver
- marko/page-cache-entity: Auto-purges page-cache tags on entity save/delete (optional add-on)
- marko/page-cache-file: File-based page cache driver
- marko/pubsub-pgsql: PostgreSQL LISTEN/NOTIFY pub/sub driver (no additional infrastructure if you already use Postgres)
- marko/pubsub-redis: Redis pub/sub driver (recommended; purpose-built for messaging)
- marko/queue-database: Database-backed queue driver (production-ready; uses your existing database)
- marko/queue-rabbitmq: RabbitMQ queue driver (high-throughput production deployments)
- marko/queue-sync: Synchronous queue driver (recommended; runs jobs inline, no infrastructure)
- marko/session-database: Database-backed session driver (distributed deployments and queryable session data)
- marko/session-file: File-based session driver (recommended; single-server apps)
- marko/translation-file: File-based translation driver (PHP array files per locale)
- marko/view-latte: Latte view driver (compile-time safety, n:attribute syntax)
- marko/view-twig: Twig view driver (recommended; broader ecosystem familiarity)
README
Application skeleton for the Marko Framework.
Installation
composer create-project marko/skeleton my-app
cd my-app
What's Included
public/index.php— Web entry pointapp/— Your application modulesmodules/— Third-party modulesconfig/— Root configurationstorage/— Logs, cache, sessions.env.example— Environment template
Getting Started
- Copy
.env.exampleto.env - Install dev tools:
composer install - Start the dev server:
marko up - Visit http://localhost:8000
Next Steps
Create your first controller inside app/:
<?php declare(strict_types=1); namespace App\Http\Controllers; use Marko\Http\Request; use Marko\Http\Response; class HomeController { public function index(Request $request): Response { return new Response('Hello, Marko!'); } }