SproutCMS is a flexible and feature rich cms and application framework, developed in PHP, designed to enable quick and agile custom development. SproutCMS was built to reward innovation and encourage developers to produce complex applications. It is built by developers, for developers.
Development docs: http://docs.getsproutcms.com/
User manual: http://manual.getsproutcms.com/3.0
For older versions of PHP (5.5 through 7.2) use the Sprout 3.0 branch or update your hosting (recommended).
PHP 7.3 or later
A web server, e.g. Apache or nginx
MySQL 5.7 or later, or MariaDB 10.3 or later
Composer 2 or later
composer create-project sproutcms/site
- Browse to http://localhost:8080/
This is a quick start example. For a detailed installation walk-through see INSTALL.md
SproutCMS runs natively with git deploy.
- Set up your remote, e.g.
git remote add production "email@example.com:/apps/mynewapp"
- Run the setup task
git deploy setup -r "production"
No need to run
git deploy initas this has already been done
Push the code
git push production master
To run unit tests, execute the following from the root directory:
$ composer test
To run NStrack, our namespace issue finder and fixer, run from the root directory, e.g.
$ composer nstrack
To add license blocks to recently added files, run the following from the root directory:
$ php tools/license_block/license_block.php
To publish a new version simply create a git tag with the next appropriate version. This is then automatically pushed to packagist.org via a web hook.
git tag v3.2.x -m "My (very short) description of new changes." git push origin v3.2.x
For example, given the last version (from
git log) is
v3.2.10 then tag and push
Please be careful and don't publish untested code. Keep your messy business in a branch and require it into your projects using the
composer require sproutcms/cms:dev-my-broken-branch
Or use the
composer patch-locals script to symlink the dependency while locally building your site.