Skip to content

juliangut/generator-barephp

Repository files navigation

Latest Version License

Build status Total Downloads Monthly Downloads Downloads Statistics

Generator-BarePHP

PHP project scaffold with lots of integrations

Normally when starting a new PHP project you'd just copy/paste configuration files from another project in order to set the project environment ready as quickly as possible, but you'll forget to copy some files and more often than not you'll forget to change names or routes on those files.

Scaffolding project environments with the same files once and again is painfully boring, error prone, and leaves a feeling of time waste.

Let Yeoman do the heavy lifting and get your projects scaffold and ready to start developing in a breeze with this generator, it will prepare a shiny and clean PHP project structure ready to develop for you, sit and focus on the actual code.

Features

  • Project complies with pds/skeleton directory structure
  • Load existing configuration from composer.json
  • Git use is assumed by default (.gitignore and .gitattributes included)
  • Integration with Github and Bitbucket accounts
  • Composer ready (global/local detection, or local installation)
  • Project ready to be added to Packagist
  • Select minimum supported PHP version (from 5.6 up)
  • Symfony polyfills compatibility packages included based on minimum supported PHP version
  • Editorconfig definitions file
  • Development environment integration
  • QA utilities configured and integrated into Composer scripts and Travis build
  • External tools
  • Initial documentation structure in Markdown
  • Basic annotated kickoff code (with tests and coverage report!)
  • Common SPDX FOSS license selection

Would you like to see a tool, library, configuration, ... added to the generator? file an issue with your feature request

Quick assistant / fast mode

As the list options and tools configured is quite long a quick/fast mode has been introduced. In fast mode only the basic questions will be asked and then the generator will do its best guessing the rest for you to get the environment ready faster.

Getting Started

Install generator

npm install -g generator-barephp

Usage

Once the generator and dependencies are installed you can start using it by calling Yeoman

yo barephp

Post run configuration

barephp generator comes with many pre-configured tools and services ready to be used, anyway some of them need extra setup once generator has finished:

  • Packagist: your package must be submitted to be available
  • Travis CI: you need to activate the project repository in your profile page
  • Coveralls: the project repository needs to be activated
  • Scrutinizer: rhe repository has to be added to Scrutinizer
  • StyleCI: enable the repo on your account, then update StyleCI badge's repository code on README.md file.

If you install Laravel Homestead then nginx will be automatically configured to serve your project from http://project-name.app url.

If you installed PhpMyAdmin within Laravel Homestead it will be available at http://phpmyadmin-`project-name`.app url.

VirtualBox constraints hostname to only contain letters, numbers, hyphens and dots and so nginx has been configure to serve with those names for consistency

If you have Vagrant hostupdater plugin installed then host's /etc/hosts will be automatically updated every time you start/stop Vagrant (sudo privileges needed), otherwise you should configure hosts file manually.

Contributing

Found a bug or have a feature request? Please open a new issue. Have a look at existing issues before.

See file CONTRIBUTING.md

License

See file LICENSE included with the source code for a copy of the license terms.