The audit dashboard provides a declarative approach to managing repository changes over time for current and future projects in a GitHub organization. It's built using Streamlit and can be configured for multiple organizations and repositories within those organizations.
- Homepage link
- Code Of Conduct
- Code Of Conduct File
- Contributing
- Pull Request Template
- License
- Readme
GitHub topics help with marketing and discoverability for a repository. Also, ensure that certain topics are present.
The expectation is that the label set may change over time which will be captured through the audit process.
- Present - standardize names, colors, and descriptions
- Missing - identify similar labels for adjustment and not present
- Deprecated - stop using and transition away
Provide entry points for open source contributions.
In GitHub, issues labeled with good first issue
indicate to open source contributors that the contribution requires a lower barrier to entry.
good first issue
question
Utilities and configurations to help develop consistency in communication and expectations across repositories.
- Code Owners
- Issue templates
- Examples can be found in the Amplify CLI repo (issue, feature-request)
- Suggested GH Actions
- Create a Python virtual environment.
Using pyenv
:
pyenv virtualenv github-repository-audit
- Activate the virtual environment
pyenv activate github-repository-audit
- Install the dependencies from
requirements.txt
pip install -r requirements.txt
- Add a GitHub token in the
.env
file - Update the
audit_config.toml
file - Run
streamlit run app.py
The following configurations can be set adjusted in the audit_config.toml
.
Name | Description | Example |
---|---|---|
deprecated_labels |
Existing labels that are no longer used | ["enhancement"] |
required_topics |
Required repository marketing topics | ["aws-amplify"] |
topics |
Additional topic suggestions | ["aws-amplify","serverless",] |
repo_health_items |
Settings and files that help facilitate OSS contributions | ["code_of_conduct","code_of_conduct_file","contributing","pull_request_template","license","readme", ] |
For example:
[[orgs]]
name = "aws-amplify"
[[orgs.repositories]]
name = "amplify-cli"
label = "CLI"
[[orgs.repositories]]
name = "amplify-js"
label = "JS"
[[orgs.repositories]]
name = "amplify-ui"
label = "UI"
For example:
[[labels]]
label = "transferred"
color = "f9d0c4"
description = "This issue was transferred from another Amplify project"
[[labels]]
label = "question"
color = "cc317c"
description = "General question"
[[labels]]
label = "feature-request"
color = "6f8dfc"
description = "Request a new feature"
Any example Dockerfile
can be used as a starting point to deploy as a container. A few options include.