PHPackages                             gmx/gmx-skeleton - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. gmx/gmx-skeleton

ActiveProject[Framework](/categories/framework)

gmx/gmx-skeleton
================

GMX Framework — skeleton application template

v3.2.1(1w ago)11proprietaryPHPPHP &gt;=8.5

Since Mar 16Pushed 4mo agoCompare

[ Source](https://github.com/gmxphp/skeleton)[ Packagist](https://packagist.org/packages/gmx/gmx-skeleton)[ Docs](https://gmx.run)[ RSS](/packages/gmx-gmx-skeleton/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (16)Versions (5)Used By (0)

GMX Skeleton
============

[](#gmx-skeleton)

Application skeleton for the [GMX Framework](https://gmx.run) — a high-performance PHP framework for building scalable web applications with a modular monolith architecture.

This repository is the recommended starting point for a new GMX project. It ships:

- the standard project layout (`apps/`, `config/`, `public_html/`, `bin/`, `var/`)
- pre-configured `composer.json` with the GMX package registry
- environment configs for `dev` / `tests` / `stage` / `prod`
- web entrypoint (`public_html/v1/index.php`) and CLI tool (`bin/gmx`)
- an example module to copy from

> Framework features, architecture and philosophy are described in the [GMX Framework overview](https://docs.syn.st/spaces/GMXPHP) — this README only covers bootstrapping a project from the skeleton.

Requirements
------------

[](#requirements)

- PHP 8.2+
- Redis 6.0+
- MySQL 8.0+ / MariaDB 10.5+
- Composer 2.0+

Quick Start
-----------

[](#quick-start)

### 1. Create a project

[](#1-create-a-project)

```
git clone https://github.com/gmxphp/skeleton.git my-project
cd my-project

# start with a fresh git history
rm -rf .git && git init
```

### 2. Install dependencies

[](#2-install-dependencies)

```
composer install
```

The skeleton already includes the GMX composer registry. If you need to add it globally (e.g. for CI), run:

```
composer config repositories.gmx composer https://code.syn.st/api/packages/gmx/composer
```

### 3. Set your license key

[](#3-set-your-license-key)

Edit `config/base.yml`:

```
framework:
  apps:
    use_proxy_mode: true
  license:
    url: "http://license.gmx.run/v1/?key=LICENSE_KEY"
```

For licensing inquiries:

### 4. Run

[](#4-run)

Use [gmx-devstack](https://code.syn.st/gmx/gmx-devstack) — a ready-made Docker environment (PHP + Redis + MySQL) wired for this layout.

Project Structure
-----------------

[](#project-structure)

```
my-project/
├── 3rdparty/            # Global composer dependencies
├── apps/                # Your application modules live here
│   └── hello/           # Example module
│       ├── App.php      # Module entry point
│       ├── manifest.yml # Declarative module config (routes, DI, events, tasks)
│       └── lib/         # Module code (controller/, service/, repository/, ...)
├── bin/
│   └── gmx              # CLI: scheduler, workers, maintenance commands
├── config/              # Environment configuration
├── lib/                 # Project-wide shared libraries
├── public_html/
│   └── v1/index.php     # Web entrypoint (API v1)
├── tests/               # Test suites
└── var/                 # Runtime data, gitignored (cache/, logs/, tmp/)

```

Each module is self-contained: its routes, DI, events, background tasks and config are declared in its own `manifest.yml`. Modules never reference each other's code directly — they communicate via ports, events and queues.

Your First Module
-----------------

[](#your-first-module)

```
mkdir -p apps/hello/lib/controller
```

`apps/hello/manifest.yml`:

```
name: hello
version: 1.0.0
description: My first module

bootstrap:
  helloController:
    class: lib\controller\HelloController

routes:
  - path: /hello
    method: GET
    handler: helloController.index
    id: hello
```

`apps/hello/lib/controller/HelloController.php`:

```
namespace hello\lib\controller;

class HelloController
{
    public function index(): array
    {
        return ['message' => 'Hello from my first GMX module!'];
    }
}
```

```
curl http://localhost/v1/hello
```

Where to go next: services and repositories, `manifest.yml` reference (events, tasks, middleware, DI) — see the [Architecture Guide](https://docs.syn.st/spaces/GMXPHP/pages/51445784).

Testing
-------

[](#testing)

```
./vendor/bin/phpunit          # or: make comp test-unit
```

Module tests live next to the module (`apps//tests/`), project-wide suites — in `tests/`. See the [Testing Guide](https://docs.syn.st/spaces/GMXPHP/pages/51445840).

Documentation
-------------

[](#documentation)

- [Getting Started](https://docs.syn.st/spaces/GMXPHP/pages/51445782)
- [Architecture Guide](https://docs.syn.st/spaces/GMXPHP/pages/51445784)
- [API Reference](https://docs.syn.st/spaces/GMXPHP/pages/51445842)
- [Testing Guide](https://docs.syn.st/spaces/GMXPHP/pages/51445840)

Security
--------

[](#security)

For security issues, please email  instead of using the issue tracker.

License
-------

[](#license)

GMX Framework is proprietary software owned by **Grand Media LLC**. The skeleton itself may be used as a template for projects built on a licensed copy of GMX. Licensing:

© 2026 Grand Media LLC. All rights reserved.

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance84

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~44 days

Total

4

Last Release

11d ago

PHP version history (2 changes)v3.0.0PHP &gt;=8.4

v3.1.0PHP &gt;=8.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/17ede1006930c01492ad1fd2c692b03f2a852955544de0949a3a63ca0e6342ae?d=identicon)[grandmedia](/maintainers/grandmedia)

---

Tags

phpframeworkSkeletonmodular-monolithgmx

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/gmx-gmx-skeleton/health.svg)

```
[![Health](https://phpackages.com/badges/gmx-gmx-skeleton/health.svg)](https://phpackages.com/packages/gmx-gmx-skeleton)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
