Maintainable by others.
WHAT MAKES A PROJECT MAINTAINABLE
Documented setup Clear structure Established technology No undocumented manual steps Secrets outside the code Tests, where warranted
THE TEST
Could a competent person set this up and change something safely, from the repository alone?
WHAT TO PROVIDE
A readme covering what it is, how to set it up, how to run it, how to deploy it An example configuration A list of external services and what they are for
WHAT TO AVOID
Dependence on one person's machine Undocumented deployment steps Unusual technology chosen for interest Configuration held only in someone's head
WHAT TO TEST BEFORE HANDING OVER
Setting it up yourself, from scratch, following your own instructions.
WHAT THAT REVEALS
Every step you forgot to write down.
WHAT TO TRANSFER
Accounts, in the client's name Access to everything Documentation
WHAT TO REMOVE
Your own access, once transferred.
WHAT TO AGREE
What support, if any, continues.