A template repository for creating Python CLI applications.
- Rename "my_app" to the desired app name across the repo. (May be helpful to do a project-wide find-and-replace).
- Update Python version if needed.
- Install all dependencies with make installto create initial Pipfile.lock with latest dependency versions.
- Add initial app description to README and update initial required ENV variable documentation as needed.
- Update license if needed (check app-specific dependencies for licensing terms).
- Check Github repository settings:
- Confirm repo branch protection settings are correct (see dev docs for details)
- Confirm that all of the following are enabled in the repo's code security and analysis settings:
- Dependabot alerts
- Dependabot security updates
- Secret scanning
 
 
- Create a Sentry project for the app if needed (we want this for most apps):
- Send initial exceptions to Sentry project for dev, stage, and prod environments to create them.
- Create an alert for the prod environment only, with notifications sent to the appropriate team(s).
- If not using Sentry, delete Sentry configuration from config.py and test_config.py, and remove sentry_sdk from project dependencies.
 
Description of the app
- To preview a list of available Makefile commands: make help
- To install with dev dependencies: make install
- To update dependencies: make update
- To run unit tests: make test
- To lint the repo: make lint
- To run the app: pipenv run my_app --help
SENTRY_DSN=### If set to a valid Sentry DSN, enables Sentry exception monitoring. This is not needed for local development.
WORKSPACE=### Set to `dev` for local development, this will be set to `stage` and `prod` in those environments by Terraform.Delete this section if it isn't applicable to the PR.
<OPTIONAL_ENV>=### Description for optional environment variable