Samurai
, (*1)
Samurai is a PHP scaffolding tool.
It helps you to :, (*2)
-
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., (*3)
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., (*4)
, (*5)
What does Samurai scaffold?
Samurai installs and params your project:, (*6)
- Download the bootstrap and its dependencies with Composer
- Param the Composer config (composer.json)
- Dump the autoloader of Composer with your new package name
- 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:, (*7)
$ 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., (*8)
Scaffold your project
To create a new project, run the new
command of Samurai and choose your bootstrap:, (*9)
$ samurai new
For more information, see the detailed scaffolding doc of Samurai., (*10)
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., (*11)
You can easily develop your own module and add it to Samurai., (*12)
The modules can run during the scaffolding of a new project, or improve an existing project., (*13)
For more information, see the detailed modules doc of Samurai., (*14)
Install pre-defined modules
$ samurai module install
Run modules on an existing project
$ samurai module run
Documentation
See the Samurai documentation.
- Installation
- Usage
- Aliases
- Modules, (*15)
Contribution and roadmap
See the Samurai wiki., (*16)