PHPackages                             netmex/lumina - 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. [Database &amp; ORM](/categories/database)
4. /
5. netmex/lumina

ActiveSymfony-bundle[Database &amp; ORM](/categories/database)

netmex/lumina
=============

LuminaBundle: A Symfony bundle providing Lighthouse-inspired GraphQL support with automatic Doctrine integration, custom resolvers, scalars, directives, queries, and mutations.

1.0.0(5mo ago)00MITPHP

Since Jan 11Pushed 5mo agoCompare

[ Source](https://github.com/netmexmedia/Lumina)[ Packagist](https://packagist.org/packages/netmex/lumina)[ RSS](/packages/netmex-lumina/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (11)Versions (2)Used By (0)

Netmex Lumina
=============

[](#netmex-lumina)

[![Packagist Version](https://camo.githubusercontent.com/5350951923ea68db08b853927d0c045ab5f6774f95a7e1ebae4dfe53f866720a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e65746d65782f6c756d696e613f636f6c6f723d626c7565266c6162656c3d7061636b6167697374)](https://packagist.org/packages/netmex/lumina)[![PHP Version](https://camo.githubusercontent.com/95c3565f22cbdc876cf7703fedf4f040c8db1aec534c8416296289cc2efc1c79/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6e65746d65782f6c756d696e613f636f6c6f723d627269676874677265656e)](https://www.php.net/)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)

**LuminaBundle** — A Symfony bundle providing Lighthouse-inspired GraphQL support with automatic Doctrine integration, custom resolvers, scalars, directives, queries, and mutations.

About
-----

[](#about)

Netmex Lumina is a **directive-driven GraphQL framework for Symfony**.

Instead of writing resolvers, repositories, or query builders by hand, Lumina lets you describe behavior directly in your GraphQL schema using custom directives. Those directives are compiled once into Intents, which are then executed efficiently at runtime.

Lumina focuses on:

- Clean architecture
- Zero boilerplate resolvers
- Strong separation between schema, intent, and execution
- First-class Symfony &amp; Doctrine integration

Core Concepts
-------------

[](#core-concepts)

### 1. Schema-Driven Behavior

[](#1-schema-driven-behavior)

Your GraphQL schema is the source of truth.

```
type Query {
  users(name: String @where): [User] @all
}
```

No resolver classes.

No wiring.

The schema defines everything.

---

### 2. Directives = Behavior

[](#2-directives--behavior)

Each directive represents a unit of intent.

Examples:

- `@all` - Fetch all records.
- `@where` - Filter records by field.
- `@orderBy` - Sort records.

Directives are:

- Reusable
- Composable
- Framework-agnostic at the schema level

### 3. Intent Compilation

[](#3-intent-compilation)

At schema compile time:

1. The GraphQL AST is traversed once
2. Directives are instantiated
3. Intents are built per Type.Field

These intents are stored in an IntentRegistry and reused during execution.

- No runtime AST traversal
- No resolver discovery
- No reflection hacks

### 4. Execution via Doctrine

[](#4-execution-via-doctrine)

At runtime:

- Lumina resolves a field
- Looks up its compiled intent
- Builds a Doctrine `QueryBuilder`
- Applies argument directives
- Executes the resolver directive

Installation
------------

[](#installation)

```
composer require netmex/lumina
```

---

### Using Directives

[](#using-directives)

Lumina comes with many **built-in directives**, including:

- Query directives: `@all`, `@find`, `@where`, `@orderBy`, `@limit`, `@offset`, `@paginate`
- Relation directives: `@hasMany`, `@belongsTo`, `@join`
- Mutation directives: `@create`, `@update`, `@delete`, `@validate`
- Aggregation directives: `@count`, `@sum`, `@avg`
- Access control directives: `@can`, `@role`, `@owner`
- Utilities: `@deprecated`

For detailed usage and examples, see the [Directive Documentation](docs/directives/README.md).

---

Extending Lumina
----------------

[](#extending-lumina)

### Creating a Directive

[](#creating-a-directive)

Lumina allows you to create custom directives that can:

1. Modify query execution
2. Create input types
3. Attach arguments to fields
4. Modify the field’s output type
5. Transform runtime output data

See the Creating a [Directive Guide](docs/directives/creating-a-directive.md) for a full example.

Why Lumina?
-----------

[](#why-lumina)

1. No resolvers
2. No controller logic
3. No duplicated query code
4. One AST pass
5. Explicit intent
6. Symfony &amp; Doctrine native

### Lumina is ideal if you want:

[](#lumina-is-ideal-if-you-want)

- Schema-first GraphQL
- Strong consistency
- Minimal boilerplate
- High performance

Project Status
--------------

[](#project-status)

#### Actively developed

[](#actively-developed)

The core architecture is stable and functional. More directives and documentation are planned.

License
-------

[](#license)

MIT License

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance70

Regular maintenance activity

Popularity0

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 99.2% of commits — single point of failure

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

Unknown

Total

1

Last Release

174d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/41392004?v=4)[Danny Verhoeven](/maintainers/Zany101)[@Zany101](https://github.com/Zany101)

---

Top Contributors

[![Dvosensets](https://avatars.githubusercontent.com/u/212354996?v=4)](https://github.com/Dvosensets "Dvosensets (130 commits)")[![Zany101](https://avatars.githubusercontent.com/u/41392004?v=4)](https://github.com/Zany101 "Zany101 (1 commits)")

---

Tags

apidirectivesdoctrinegraphqlgraphql-schemaormphpsymfonyvalidation

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/netmex-lumina/health.svg)

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

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M388](/packages/easycorp-easyadmin-bundle)[2lenet/crudit-bundle

The easy like Crud'it Bundle.

1616.4k14](/packages/2lenet-crudit-bundle)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k61](/packages/open-dxp-opendxp)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M577](/packages/shopware-core)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M204](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.1k17.8k](/packages/prestashop-prestashop)

PHPackages © 2026

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