Hackathon Repository Template:
A base template for a common and consistent repository initialise and configuration experience.
- Can be
- Cloned from source template on GitHub.com. Quickest
- Cloned standard fashion.
- Forked, in public visibility.
- Downloaded as a zip.
- Using a respository template
- Clone repository template
- Getting Started
- Preconfigured Issues Templates
- Settings
- Acknowledgements
Next Steps
- Create a new repository:
- Select repository template:
{org}/template-hackathon-base
. - Select a
repo owner
or{org}
. - Assign new repo name & description.
- Do not include all branches from source template (
unchecked
). - Designate:
Public
orPrivate
. - Grant Marketplace apps access.
- Select repository template:
- New repo should have
generated from
source template.
- Clone to local machine.
- Check if all team members can clone and fetch to repository.
Per repository settings: https://github.com/{org/owner}/{repo}/settings
Settings/Features
- Enable, if not already, GitHub Issues.
- If agreed, β enable GitHub Discussions.
- If agreed, β enable GitHub Wiki.
- If agreed, β enable GitHub Sponsorships.
Issue Picker/Config
- Edit π./.github/ISSUE_TEMPLATES/config.yml to update urls to new
{org/owner}/{hackathon-repo-url}
Have you:
- Inspect the Issue Templates, preconfigured
yaml
folder, here. - Update the Issue Templates urls and markdown references for
{org/owner}
/{hackathon-repo-name}
and for all references.- Update:
{org/owner}
- Update:
{hackathon-repo-name}
- Update:
- Have you tested if the issue picker and each issue template button works. Don't commit a new issue, just switch to differengt issue on testing.
Per repository settings: https://github.com/{org/owner}/{repo}/settings
Features to select:
- General
- Collaborators
Code and automations
- Branches:
- Tags
- Rules
-
Actions -
Webhooks - Environments:
- Codespaces
- Pages
Security
-
Code security and analysis - Deploy Keys: Guide
- Secrets and variables
- Actions
- Codespaces
-
Depandabot
Integrations
- GitHub Apps
- Email Notifications: Set up notfications for push events.
-
Autolink references
Items strikedout are unlikely needed in a hackathon
The following are the MRU settings groups/categories. Left blank for team selection and configuration per hackathon.
Few selections may advance productivity, collavboration and ease of communication etc. Or not.
Pro:
- Setup email addresses for all team members to receive notifications when push events are triggered.
- Setup email address for selected/elected team leads (primary/secondary). Team decision & choice.
Con: Risk of spam noise to signal during the hackathon.
- Security Tab:
- Security policy:
enabled
: Commit viaπ./.github/SECURITY.md
- Dependabot Alerts
- Security policy:
Given the hidden nature of
π.github/
, it is an excellent candiate to store customisation per repoistory instructions, as per below, and other local configs for each team member without impacting the organisation of the visible solutions project files. The benefits of using preconfigured configurations and templares, in a team collborations, are greater consistency and speed to first commit for the solution.
π.github/readme.md
(this) is displayed untilπ./README.md
is edited and loaded in root of project.π.github/ISSUE_TEMPLATES/readme.md
outlines the issue templates meta and purposes. Adapt as needed.π.github/local-config/readme.md
outline the local configurations for post cloning a repository setup. See also ../CONTRIBUTIONS.md.π.github/workflow/readme.md
outline the GitHub actions in use on the repository.
This readme.md is located in π./.github intentionally as this is a hidden folder and deals with per repo github settings. Edit as needed.
π.github/
stores the following folders:π.github/ISSUE_TEMPLATES/
stores issue templates yml GitHub forms. Adapt as needed.π.github/local-config/
stores the local configurations and samples for a post-cloning repository setup. See also ../CONTRIBUTIONS.md.π.github/PULL_REQUEST_TEMPLATES/
stores PR template, as onlly one automatic, markdown template. Adapt as needed.π.github/workflow/readme.md
stores the GitHub actions in use on the repository. Some can be located underπ.github/
.
Have you
- Added a root level README.md
- Added a read and familarised self with
πISSUE TEMPLATES/readme.md
andπPULL_REQUEST_TEMPLATES/readme.md
. - Copy the contents of local-config to your prefered local settings/per team member.
The following sections cover the common/custom root level files that are best practice and are regularly used. These files can be stored, optionally, under π./github/
, though by convention are stored under the root: π./
- π./AUTHORS.md
- π./CONTRIBUTORS.md
- π./CODE_OF_CONDUCT.md
- π./CITATION.cff πΈ
- π./CODEOWNERS
- π./GOVERNANCE.md Template
- π./LICENSE
- π./SECURITY.md
- π./SUPPORT.md Template
Edit Templates in name or with .tmpl
extension and remove .tmpl|.md.tmpl
when ready
Have you
-
Added/edited an Authors file to specify the hackathon team members.
-
Added/edited the Contributors file. GitHub Docs
-
Discussed and Added/edits a Code of Conduct. GitHub Docs
-
Added/edits an Citations file for good referencing. GitHub Docs
-
Added/edits Codeowners for defining repository, code/path, and PR codeownership and responsibilities. GitHub Docs
-
Added/selected/reviewed the Licence. This is initialised on repository creation. Update as per Choose An Open Source License | GitHub Docs
-
Consider the more optional, for a hackathon, files, like GOVERNANCE, SECURITY and SUPPORT.
Using a support file, via a team agreement, could be a useful location for providing contact details and who to ask for help during remote, days to week long events. This could be a centralised location and is always visible when creating issue on GitHub.com or via cloned files.
The following are adopting practices from using GitHub Marketplace apps/actions or per config variants that control the repository and its behaviours/consistency.
- π./codemeta.jsonOptional - See the CODE FAIR GitHub App and
CITATIONS.cff
πΈ