Ideal experience:
1. I write code in an editor, it auto lints and formats to standards of project.
2. On save, whatever is needed to build and test is automatically run.
3. After repeat 1-2 and ready, commit code and create pull request.
4. On commit, integration tests run and one-off environment to smoke test is created.
5. On accepted review and merged, auto deploy to production or next release.