Specify app's low-level dependencies and its versions, e.g. Ruby, Rails, Spree, RefineryCMS, Node.js...
Specify all the necessary steps to successful setup the app in a development machine.
Such steps would include how to:
- Clone the repository.
- Setup the database.
- Populate sample data.
- Install dependencies/libraries.
- Run the application.
## Production environment
Specify all the necessary information to access the production server.
Such information would include how to:
- Ask for a valid public key or setup current public key in the remote server.
- Establish a SSH connection.
- Specify Web and App servers that are being used.
## Staging environment
Specify all the necessary information to access the staging server.
Such information would include how to:
- Ask for a valid public key or setup current public key in the remote server.
- Establish a SSH connection.
Specify what's the deployment workflow and caveats in both staging and production environments.
## Tests suite
Specify dependencies and how to run and maintain the app's test suite.
Specify any other information that developers working with the source code should be aware of.