We love composer here at ilateral and use it on all or PHP Projects.
We have just started using # create project so that we can quickly build out and install new projects from our default installer, but we always forget the best way to checkout a branch (rather than a tag).
Below is the way we currently do it:
# composer create-project i-lateral/silverstripe-installer:@dev ./project-folder "dev-3.1-framework"
This will create a new project using out framework only branch.