Syntro Silverstripe SSTO (from the abbreviation for Single-stage-to-orbit) provides a prepackaged recipe for starting a new Silverstripe project from scratch. Featured are:
- bootstrap based styling
- webpack based build tooling
- elemental editor with some standard blocks to get you started
To get started, simply run: (see ssdev for more info on our devenv.)
npx ssdev init -r syntro/ssto:^2 projectname
After installation, consult the checklist to make the newly created project your own. Then, you should replace this part of the readme with a guide on how to clone the new project
To start the server via docker, run
npx ssdev serve
This will start a host and database container running your project. To stop it, run
npx ssdev down
-> Refer to the 📖 theming docs
By default, this recipe supplies PHPUnit, PHPCS and PHPStan for testing. you can run the tests by executing:
npx ssdev run -- vendor/bin/phpunit
npx ssdev run -- vendor/bin/phpstan analyse --memory-limit=1G -l4 -c phpstan.neon app/src/
npx ssdev run -- vendor/bin/phpcs app/
npx ssdev run -- vendor/bin/phpcbf app/
We recommend using the Gitflow Workflow (for big teams) or the Git Feature Branch Workflow (for small teams). When creating new PRs with features, use the "squash and merge" option and prefix the resulting commit with (it helps adding the prefix to the PR title):
add:
when something new is addedfix:
when something is fixedchange:
when something is changeddeprecate:
when something will be removedremove:
when something was removed- (
Bump:
for dependency updates)
Following this makes releasing easier and allows using an automatically generated changelog.
After you have a deployable application / website, you can deploy it to a server. We recommend you follow these steps (which will incidentally also trigger the production deployment job):
- Make sure all tests pass
- Run
npm run release --next="x.x.x"
- Commit the changes as
release/x.x.x
and push them - Create a new release
x.x.x
on Github
Check out the following for more informations: