This is a special base template repo that contains default community health files, templates, workflows, and other files to be shared with derived repositories. For more information on how this special repo works, see this article on freeCodeCamp.
---
title: Personal GitHub Repo Structure
---
flowchart TB
subgraph row1 [" "]
github(<b>.github</b>
repo)
githubNote[Contains core files
to be included in all repos.]
end
subgraph row2 [" "]
templateA(<b>.template-a</b>
repo)
repo1(repo-1)
templateB(<b>.template-b</b>
repo)
templateNote[Templates contain
additional default files
for specific project types.]
end
subgraph row3 [" "]
repo2(repo-2)
repo3(repo-3)
repo4(repo-4)
templateC(<b>.template-c</b>
repo)
end
subgraph row4 [" "]
repo5(repo-5)
end
classDef row opacity:0
class row1,row2,row3,row4 row
classDef current fill:#E68A39,color:#000000
class github current
classDef note fill:#FFFFDD,color:#000000
class githubNote,templateNote note
classDef repo fill:#34C3EB,color:#000000
class repo1,repo2,repo3,repo4,repo5 repo
github --> templateA
github --> repo1
github --> templateB
templateA --> repo2
templateA --> repo3
templateB --> repo4
templateB --> templateC
templateC --> repo5
GitHub allows some community health and GitHub configuration files to only reside in the .github repo and automatically appear in all other repos. However, we can't take full advantage of that feature because most files need repo-specific customization.
| File | Exists only in .github repo |
Overridden in template repo |
Notes |
|---|---|---|---|
| 📁.github/ | |||
| ├─📄CODEOWNERS | N/A | ✅ | |
| └─📄FUNDING.yml | ✅ | ||
| 📄CODE_OF_CONDUCT.md | ✅ | Linked to by other files | |
| 📄CONTRIBUTING.md | ✅ | Links to other files | |
| 📄GOVERNANCE.md | — | — | Not implemented |
| 📄LICENSE | N/A | ✅ | |
| 📄SECURITY.md | ✅ | Links to GitHub repo | |
| 📄SUPPORT.md | ✅ | Links to other files |
| Template | Exists only in .github repo |
Overridden in template repo |
Description |
|---|---|---|---|
| 📁.github/ | |||
| ├─📁DISCUSSION_TEMPLATE/ | — | — | Not implemented |
| ├─📁ISSUE_TEMPLATE/ | ✅ | Contains GitHub Issue forms | |
| │ └─📄config.yml | ✅ | GitHub Issue template chooser | |
| ├─📄copilot-instructions.md | N/A | ✅ | Copilot configuration |
| ├─📄dependabot.yml | N/A | ✅ | Dependabot configuration |
| ├─📄pull_request_template.md | ✅ | GitHub Pull Request template | |
| └─📄settings.yml | N/A | ✅ | Repo configuration |
| Workflow | Description |
|---|---|
| 📁.github/ | |
| └─📁workflows/ | |
| └─📄Template Sync | Synchronizes files from a template repo to a derived repo |
| File | Description |
|---|---|
| 📁.vscode/ | Contains VSCode settings |
| 📁docs/ | Contains documentation |
| 📄_checklist.md | New template repo checklist |
| 📄.editorconfig | Styleguide rule definitions |
| 📄.gitattributes | Built using scaffolding |
| 📄.gitignore | Built using scaffolding |
| 📄.gitmessage | Commit message template |