Org-wide defaults and documentation for the ARTPARK Hub GitHub organization.
Note: This repo isn't a project. It holds files that GitHub uses as defaults across all repos in the
artpark-huborg, plus org-wide docs.
profile/
README.md ← Public landing page at github.com/artpark-hub
docs/
team-norms.md ← How we work — the canonical source of truth
.github/
ISSUE_TEMPLATE/ ← Default issue templates (used by repos without their own)
config.yml
task.yml
bug.yml
feature.yml
CONTRIBUTING.md ← Default contribution guide
pull_request_template.md ← Default PR template
labels.json ← Standard labels — apply to each repo with the script below
scripts/
apply_labels.py ← Bulk-apply labels.json to a repo
GitHub treats certain files in an organization's .github repo as defaults:
profile/README.mdshows up as the public landing page at https://github.com/artpark-hub- Files under
.github/(issue templates, PR template, CODE_OF_CONDUCT.md, CONTRIBUTING.md, SECURITY.md) act as defaults for every repo in the org that doesn't have its own version
This means you set the templates here once, and every project repo inherits them automatically. A project repo can still override by adding its own .github/ folder.
If you're setting this up from scratch:
- Create the repo: in the
artpark-huborg, create a public repo named exactly.github(with the dot). - Push these files: clone this scaffold and push to
artpark-hub/.github.git init git remote add origin git@github.com:artpark-hub/.github.git git add . git commit -m "Initial org defaults" git branch -M main git push -u origin main
- Verify the profile: within a few minutes, https://github.com/artpark-hub will show the contents of
profile/README.md. - Verify the templates: open any repo in the org that doesn't have its own
.github/ISSUE_TEMPLATE/and click "New issue" — you should see the templates from this repo.
Issue/PR templates work as org defaults automatically, but labels are per-repo in GitHub — they don't inherit. Use the script to apply the standard label set to each project repo:
# Install GitHub CLI if needed: https://cli.github.com
gh auth login
# Apply to one repo
python scripts/apply_labels.py --repo artpark-hub/your-project-repo
# Apply to many at once
for repo in artpark-hub/alpha-backend artpark-hub/alpha-frontend artpark-hub/beta-infra; do
python scripts/apply_labels.py --repo "$repo"
done
# Update existing labels (e.g., after editing labels.json)
python scripts/apply_labels.py --repo artpark-hub/your-project-repo --forceChanges to docs/team-norms.md go through a PR like any other change:
- Open a PR with the change
- Tag at least one project lead and the org admin
- Discuss, merge
- Announce in
#announcementsif it's a meaningful change
Treating norms as version-controlled docs means we have a clear history of why rules exist and when they changed.
If you have more docs to share org-wide (onboarding guides, glossary, architecture overviews, etc.), add them under docs/. Once docs/ grows past ~5-10 files, consider moving to a dedicated artpark-hub/handbook repo to keep this one focused on GitHub-defaults.
If a project needs additional rules on top of the org norms (e.g., extra review requirements), put those in the project repo at docs/contributing.md. The project doc should start with:
These are additions to the org team norms. Read those first.