raphhh/samurai

PHP scaffolding tool - creates for you all the files you need to start a new project

Installs: 99

Dependents: 2

Suggesters: 0

Stars: 18

Watchers: 4

Forks: 5

Open Issues: 2

Type:project

1.0.0 2015-12-08 11:52 UTC

README

Latest Stable Version Docs Build Status Scrutinizer Quality Score Code Coverage Total Downloads License

Samurai is a PHP scaffolding tool. It helps you to :

  • start a new project in PHP, generating all the base files in a simple command line.
  • improve an existing project, running several modules with specific actions.

Samurai generates all the files you need for a library, a web application, a frameworked project, and so on. You can even load your own bootstrap.

Samurai will run several modules during the scaffolding of a new project, or independently on an existing project. You can choose which module to install according to your own needs. You can also create your own module.

Samurai during project scaffolding

What does Samurai scaffold?

Samurai installs and params your project:

  1. Download the bootstrap and its dependencies with Composer
  2. Param the Composer config (composer.json)
  3. Dump the autoloader of Composer with your new package name
  4. Execute the installed modules.

Examples of bootstrap

  • A simple PHP library
  • Symfony
  • Laravel
  • Zend
  • CakePHP
  • CodeIgniter
  • Yii
  • Drupal
  • Joomla
  • WordPress
  • Silex
  • Slim
  • .. what you want!

Examples of modules

  • Init git for the project. See raphhh/samurai-module-git.
  • Create a new repo on GitHub and link it to your project (github module) (todo)
  • Clean some files (changelog, ...). See raphhh/samurai-module-cleaner.
  • Init PHPUnit (todo)
  • Init Behat (todo)
  • Link your project to Travis-ci (todo)
  • ... what you want!

Installation

Install Samurai with Composer:

$ composer global require raphhh/samurai

Be sure you have set the COMPOSER_BIN_DIR in your path. For more information, see the detailed installation doc of Samurai.

Scaffold your project

To create a new project, run the new command of Samurai and choose your bootstrap:

$ samurai new

For more information, see the detailed scaffolding doc of Samurai.

Modules

A module is a plugin added to Samurai. This plugin will execute some specific actions. For example, the git module will init Git in your project.

You can easily develop your own module and add it to Samurai.

The modules can run during the scaffolding of a new project, or improve an existing project.

For more information, see the detailed modules doc of Samurai.

Install pre-defined modules

$ samurai module install

Run modules on an existing project

$ samurai module run

Documentation

See the Samurai documentation.

Contribution and roadmap

See the Samurai wiki.