minimal best practices
- branch & release protection
- github flow with linear, conventional commits
- codeQL merge protection
requires zero maintenance & setup1
Download ZIP
add a contribution guide & security policy.2
Head to repository main page:
- Above the list of files
- Select
Add file
>Create new file
For each document
:
- Add
name
andcontents
. - Click
Commit Changes
- copy paste each documents
commit msg
field
into thecommit message
field in form. - Select
Commit Changes
add the following:
file name
:.github/CONTRIBUTING.md
contents
:CONTRIBUTING.md
contentcommit msg
:docs: added contribution guide
file name
:.github/SECURITY.md
contents
:SECURITY.md
contentcommit msg
:docs: added security policy
- Head to
Settings
>Rules
>Rulesets
- Select
New Ruleset
>Import a ruleset
- Import each
<ruleset>.json
included here.
- Head to
Settings
>Code Security
>Private vulnerability reporting
- Select
Enable
must use default setup, not workflow
- Head to
Settings
>Code Security
>Code Analysis
- Select
Tools:CodeQL
>Setup
>Default
- Select
Enable/Submit
w/o changing anything
MIT-0 No Attribution
Copyright 2O24
Nicholas Kyriakides, @nicholaswmin
This work (entire project, repository or all files in "gist")
is licensed under the terms of the MIT-0 license.
For a copy, see <https://opensource.org/licenses/MIT-0>.
inspired by dziuba: who needs process? (2011) & ossf:scorecard
Footnotes
-
rules that might need a code/dependency update in the future or require any form of collaborator setup are excluded.
*allowed: CodeQL but only when using the default setup, since its configuration is automatically managed by Github.
*excluded: any rules relying on custom workflows, their versioned@actions/checkout-v<x>
steps require updates.
*excluded: signed-commits require local setup ↩ -
required documentation like
LICENSE
are out of scope of this guide but assumed to exist and correctly configured. ↩