cursyx/skeleton

Application skeleton for Cursyx (`composer create-project`)

Maintainers

Package info

github.com/FallegaHQ/cursyx-skeleton

Type:project

pkg:composer/cursyx/skeleton

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-05-05 17:23 UTC

This package is auto-updated.

Last update: 2026-05-05 17:27:49 UTC


README

The application template for Cursyx: a minimal MIT-licensed project you can composer create-project into a new directory. It wires cursyx/framework into a conventional layout (front controller, config/, routes/, app/, bin/console) with sane defaults so you can run locally in minutes and evolve toward production without fighting the framework.

Out of the box you get:

  • GET / — small HTML welcome page (edit app/Controllers/WelcomeController.php and routes/web.php).
  • GET /api/health — JSON health probe for load balancers and monitors (routes/api.php).

Defaults lean on file cache and SQLite (see .env.example for APP_*, DB_*, cache store names, and optional Redis). Swap stores and the database driver as your environment demands — the framework docs describe the full matrix.

Features

  • MIT application template — Your generated project code is MIT-licensed; the framework remains a dependency with its own license and release cadence.
  • Conventional structurepublic/, bootstrap/, config/, routes/, app/, storage/, bin/console; ready for incremental growth without reorganizing the tree.
  • Runnable defaults — File cache and SQLite work out of the box; .env.example documents the key switches.
  • Console-first operationsphp bin/console is the entry point for local serving and operational commands.

Documentation

Topic guides (routing, middleware, errors, validation, Slate, i18n, package:discover, …) live in cursyx/docs: start with README.md and DOCUMENTATION.md, then GETTING_STARTED.md for install and first routes.

Release notes for this template: CHANGELOG.md in this repository (template and default config changes — not framework semver, which is tracked in cursyx/framework).

Create a new project

composer create-project cursyx/skeleton my-app
cd my-app
cp .env.example .env
composer install
composer serve

Visit http://localhost:8000. Adjust .env, register providers in config/app.php, and grow routes/web.php / routes/api.php.

Layout (high level)

Path Role
public/index.php Front controller — autoload, bootstrap, dispatch.
bootstrap/ app.php (HTTP), cli.php (console) — env, config, container, middleware, routes.
bin/console CLI entry; same container as HTTP without the web middleware stack.
config/ PHP config files merged into config('dot.keys').
routes/ web.php, api.php — register HTTP surface.
app/ App\* controllers, providers, exception handler, rules, etc.
database/ Migrations and seeders (empty directories with .gitkeep in a fresh skeleton).
resources/lang/ Optional translation catalogues — see cursyx/docs I18N.md.

Composer scripts

Script What it runs
serve php bin/console serve (local dev server, public/ as docroot).
post-autoload-dump php bin/console package:discover — refreshes package manifest for extra.cursyx.providers.

This template includes a minimal PHPUnit + ParaTest setup. Add extra dev tooling (PHPStan, etc.) if your application needs it.

CI: .github/workflows/ci.yml validates composer.json, runs composer install, then executes php bin/console list as a smoke test (framework is pulled from Packagist).

Requirements

Matches cursyx/framework: PHP ≥ 8.4, intl, pdo, fileinfo — see the framework composer.json require block.

License

MIT — see LICENSE in this repository (copyright line as maintained in the project).