Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/medunes/noise-php

A starter-kit for your PHP project.
https://github.com/medunes/noise-php

continuous-delivery continuous-integration continuous-testing github-actions opensource php php7 phpstan phpunit psalm skeleton-application skeleton-template sonarcloud sonarqube starter starter-kit starter-template travis-ci

Last synced: 4 months ago
JSON representation

A starter-kit for your PHP project.

Awesome Lists containing this project

README

        


PHP Noise



A starter-kit for your PHP project. It includes frequently needed boilerplate setups (ci, badges, etc.)

[![release](https://img.shields.io/packagist/v/medunes/noise-php?style=flat-square)](https://packagist.org/packages/medunes/noise-php)
[![Build Status](https://github.com/medunes/noise-php/workflows/build/badge.svg?style=flat-square)](https://github.com/MedUnes/noise-php/actions?query=workflow%3A%22build%22)
[![Author](https://img.shields.io/badge/[email protected]?style=flat-square)](https://twitter.com/medunes2)
[![codecov](https://codecov.io/gh/medunes/noise-php/branch/master/graph/badge.svg)](https://codecov.io/gh/medunes/noise-php/branch)
[![SonarQube Quality](https://sonarcloud.io/api/project_badges/measure?project=MedUnes_noise-php&metric=alert_status)](https://sonarcloud.io/dashboard?id=MedUnes_noise-php)
[![PHPStan](https://img.shields.io/badge/PHPStan-Level%205-brightgreen.svg?style=flat&logo=php)](https://shields.io/#/)
[![Psalm](https://img.shields.io/badge/Psalm-Level%205-brightgreen.svg?style=flat&logo=php)](https://shields.io/#/)
[![Psalm Coverage](https://shepherd.dev/github/MedUnes/noise-php/coverage.svg)](https://shepherd.dev/github/MedUnes/noise-php/coverage.svg)

[![Total Downloads](https://img.shields.io/packagist/dt/medunes/noise-php?style=flat-square)](https://packagist.org/packages/medunes/noise-php)


## đŸ“Ļ Installation

To install this application, first ensure you have [Composer](https://getcomposer.org/download//) installed, then:

```bash
# Create your skeleton app (feel free to change the folder name instead of the demo one)
$ composer create-project medunes/noise-php my-demo-project

# Enter your app folder
$ cd my-demo-project

# Install dependencies
$ composer setup:clean

# Run the build script (tests, etc.)
$ composer build

```

## ℹī¸ FAQ

#### So what is this?
This is PHP Noise !

An empty skeleton, a list of ready to customize setups.

These setups are commonly used when publishing PHP opensource projects or libraries.

I use this skeleton as a basis when I start a new project on Github.

Instead of spending time setting up configs from scratch, I'd rather customize them.

#### More details?
Nowadays, you don't just write some "working" code and ship it to the community.

There are a couple of disciplines you should follow in order to have your library acceptable by the community (or by yourself :) )

For example, code quality, tests, README, Documentation, License, logo, CHANGELOG, CI and many others.

I call these requirement: **noise**, not in a pejorative way, but maybe because writing new code is more fun than spending time fixing, testing, validating or documenting it.

#### Which kind of noise?

Currently, we support the following noise, but feel free to increase the volume:

* [PHPUnit](https://phpunit.de/announcements/phpunit-9.html)
* [PHPStan](https://github.com/phpstan/phpstan)
* [Psalm](https://github.com/vimeo/psalm)
* [SonarQube](https://docs.travis-ci.com/user/sonarcloud/)
* [Github Actions](https://github.com/marketplace/actions/setup-php-action)
* [PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer#usage)
* [README](https://github.com/medunes/noise-php/blob/master/README.md)
* [CONTRIBUTING](https://github.com/medunes/noise-php/blob/master/CONTRIBUTING.md)
* [LICENSE](https://github.com/medunes/noise-php/blob/master/LICENSE.md)
* [LOGO](https://github.com/medunes/noise-php/blob/master/logo.png)
* [CHANGELOG](https://github.com/medunes/noise-php/blob/master/CHANGELOG.md)

#### Where to go next?

Writing noise projects for other languages: Javascript, Go, C, C++, ..