A small Flask application that displays Linear issues and GitHub pull request stats. It also includes a worker process that posts daily summaries to Slack.
- Create a virtual environment and install dependencies:
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt # includes flake8 for lintingTo lint and type check your code before committing:
flake8 *.py
mypy .- Provide the required environment variables. The application expects the following values:
LINEAR_API_KEY– API token for LinearGITHUB_TOKEN– GitHub token used for pull‑request dataSLACK_WEBHOOK_URL– Webhook URL used by the worker to post messagesMANAGER_SLACK_WEBHOOK_URL– Webhook URL used for manager-facing summariesAPP_URL– Public URL where the app is hostedDEBUG– set totrueto run the scheduled jobs immediatelyOPENAI_API_KEY– API key used to generate weekly changelogs
These can be placed in a .env file or exported in your shell.
- Edit
config.ymlto configure team members and platform ownership.
Start the web server with:
gunicorn app:appTo run the scheduled jobs locally, start the worker:
python jobs.pyThe Procfile defines both commands for platforms such as Heroku.