Thanks for this
My deployment process for CI3 is straight-forward; a simple git push of the localhost project folder to the target server git folder, and a git hook post-receive drops them into public_html.
Secure credentials are stored outwith public_html, updated via ssh using WinSCP and fetched using php file functions.
After reviewing your comments I've had to revise the process a little:
I've allowed the vendor folder to be pushed, but added dev dependencies to the .gitignore file.
I've had to change the document folder on cPanel to point to public and I upload the (appropriate) .env file via WinSCP.
All appeared to work, but then I changed the CI_ENVIROMENT setting from development to testing I got a database error which I tracked to the .env file - it looks you have to set database.tests instead of database.default
When I come to deploy to production will I have to use database.production or can I use database.default?
Thanks again for your time.
(I think I may need to look at modern deployment fundamentals

)