Application skeleton for the Marko Framework.
composer create-project marko/skeleton my-app
cd my-apppublic/index.php— Web entry pointapp/— Your application modulesmodules/— Third-party modulesconfig/— Root configurationstorage/— Logs, cache, sessions.env.example— Environment template
- Copy
.env.exampleto.env - Install dev tools:
composer install - Start the dev server:
marko up - Visit http://localhost:8000
The skeleton ships a working Pest test harness out of the box. tests/Pest.php binds Marko\Testing\TestCase as the base, which registers PSR-4 autoloaders for app/* and modules/* automatically. Run tests with:
composer testCreate a module inside app/ (for example app/foo/, with a composer.json that maps App\Foo\ to src/), then add a controller. Routes are declared with attributes:
<?php
declare(strict_types=1);
namespace App\Foo\Controller;
use Marko\Routing\Attributes\Get;
use Marko\Routing\Http\Response;
class HomeController
{
#[Get('/')]
public function index(): Response
{
return new Response(
body: 'Hello, Marko!',
);
}
}See Your First Application for the full walkthrough, including the module's composer.json.