Skip to content

Commit 51da256

Browse files
authored
Merge pull request #119 from dotkernel/readme-improvements
Align README with dotkernel.com wording and simplify installation
2 parents 8a401b2 + 8d2c6ff commit 51da256

1 file changed

Lines changed: 48 additions & 14 deletions

File tree

‎README.md‎

Lines changed: 48 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,9 @@
22

33
Dotkernel Light is the smallest complete Mezzio application — a PSR-15 pipeline, routing and templating, with nothing to strip out.
44
A real starting point for a simple site.
5-
Underneath it uses Laminas Service Manager as the PSR-11 container and Laminas Diactoros for PSR-7 messages, with FastRoute for routing and Twig for templating.
65

76
> Check out our [demo](https://light.dotkernel.net/).
87
9-
## Documentation
10-
11-
Documentation is available at: https://docs.dotkernel.org/light-documentation/
12-
138
## Badges
149

1510
![OSS Lifecycle](https://img.shields.io/osslifecycle/dotkernel/light)
@@ -28,8 +23,41 @@ Documentation is available at: https://docs.dotkernel.org/light-documentation/
2823
[![PHPStan](https://github.com/dotkernel/light/actions/workflows/static-analysis.yml/badge.svg?branch=1.0)](https://github.com/dotkernel/light/actions/workflows/static-analysis.yml)
2924
![PHPstan Level](https://img.shields.io/badge/PHPStan-level%208-brightgreen)
3025

26+
## What's Inside
27+
28+
Light is built on [Mezzio](https://docs.mezzio.dev/mezzio/) and Laminas components, around the PSR standards:
29+
30+
| Concern | Standard | Implementation |
31+
| --- | --- | --- |
32+
| Containers | [PSR-11](https://github.com/php-fig/container) | [Laminas Service Manager](https://github.com/laminas/laminas-servicemanager) |
33+
| HTTP messages | [PSR-7](https://github.com/php-fig/http-message) | [Laminas Diactoros](https://github.com/laminas/laminas-diactoros) |
34+
| Middleware pipeline | [PSR-15](https://github.com/php-fig/http-server-middleware) | Mezzio |
35+
| Routing | — | [FastRoute](https://github.com/nikic/FastRoute) |
36+
| Templating | — | [Twig](https://twig.symfony.com/), through [Mezzio TwigRenderer](https://github.com/mezzio/mezzio-twigrenderer) |
37+
38+
Two Dotkernel components are registered out of the box in [`config/config.php`](config/config.php):
39+
40+
- [dot-log](https://github.com/dotkernel/dot-log) — generic logging component
41+
- [dot-errorhandler](https://github.com/dotkernel/dot-errorhandler) — error logging component
42+
43+
## The Dotkernel Family
44+
45+
Dotkernel is a collection of open-source PHP application skeletons built on Mezzio and Laminas, which can be adopted separately or together:
46+
47+
- [API](https://github.com/dotkernel/api) — REST APIs on a readable PSR-15 middleware pipeline
48+
- [Admin](https://github.com/dotkernel/admin) — table-based backend for managing platform records, plus tools to build reports and dashboards
49+
- [Queue](https://github.com/dotkernel/queue) — background job processing for the platform
50+
- [Frontend](https://github.com/dotkernel/frontend) — web starter package for frontend applications
51+
- **Light** — this repository, for the simplest use cases
52+
53+
## Documentation
54+
55+
Documentation is available at: https://docs.dotkernel.org/light-documentation/
56+
3157
## Contents
3258

59+
- [What's Inside](#whats-inside)
60+
- [The Dotkernel Family](#the-dotkernel-family)
3361
- [Requirements](#requirements)
3462
- [Composer](#composer)
3563
- [Choosing an Installation Path](#choosing-an-installation-path)
@@ -39,6 +67,7 @@ Documentation is available at: https://docs.dotkernel.org/light-documentation/
3967
- [Running the Application](#running-the-application)
4068
- [Testing and Code Quality](#testing-and-code-quality)
4169
- [Going Live](#going-live)
70+
- [Resources](#resources)
4271

4372
## Requirements
4473

@@ -75,20 +104,14 @@ Example:
75104

76105
After you choose the path for Dotkernel light (`dk` will be used for the remainder of this example), let's move onto installation.
77106

78-
Clone the repository into that path — git creates the directory for you:
107+
Composer creates the directory, installs the application with its dependencies, and enables development mode — all in one step:
79108

80109
```shell
81-
git clone https://github.com/dotkernel/light.git dk
110+
composer create-project dotkernel/light dk
82111
cd dk
83112
```
84113

85-
This method ensures that the default branch is installed, even if it is not released.
86-
87-
The dependencies have to be installed separately by running this command:
88-
89-
```shell
90-
composer install
91-
```
114+
### Installation Prompts
92115

93116
During installation, the `laminas/laminas-component-installer` Composer plugin prompts for some configuration settings, for example the lines below:
94117

@@ -131,6 +154,9 @@ It will also make sure that any existing config cache is cleared.
131154
composer development-enable
132155
```
133156
157+
> `composer create-project` already runs this for you, so you only need it after a `composer development-disable`.
158+
> Run `composer development-status` to check which mode you are in.
159+
134160
## Bundling Static Modules
135161
136162
> Prerequisite software: Node.js `^20.19.0 || >=22.12.0`
@@ -215,3 +241,11 @@ Before deploying to production, rename the robots file and adjust it for your si
215241
```shell
216242
mv public/robots.txt.dist public/robots.txt
217243
```
244+
245+
## Resources
246+
247+
- [Documentation](https://docs.dotkernel.org/light-documentation/) — installation, request lifecycle, file structure and how-tos
248+
- [Changelog](CHANGELOG.md) — release history
249+
- [Security policy](SECURITY.md) — supported versions and how to report a vulnerability
250+
- [License](LICENSE) — MIT
251+
- [Issues](https://github.com/dotkernel/light/issues) — bug reports and feature requests

0 commit comments

Comments
 (0)