| CONTENTS |
|---|
| About this repository |
| What this repository includes |
| Using the template |
| Folder structure |
| Supporting documentation |
This is a GitHub repository template, which provides a consistent starting structure for new repositories.
- A .github/ folder for repository resources.
- A docs/ folder for repository documentation.
- A project/ folder for project repositories.
- A src/ folder for source code repositories.
- A
.gitignorefile. - An
AGENTS.mdfile. - A
LICENSEfile. - The repository's main
README.md, which will be replaced by:- The Collection-README.md for collection-style repositories.
- The Project-README.md for project-style repositories.
- The SourceCode-README.md for software or source-code repositories.
A collection repository is a repository that primarily collects links, notes, or documentation and does not contain source code.
The Documentation Project is an example of a collection repository.
To create a collection repository:
- Create a new repository using this template.
- Remove the following files/folders:
src/projects/README.md(this file!)SourceCode-README.mdProjects-README.md
- Rename
Collection-README.mdtoREADME.md. - Modify
README.mdto reflect the content and purpose of the repository. - Review the files in docs/ and remove any folders/documents the new repository does not need.
- Replace %RepositoryName% with the name of the new repository in all relevant files.
- Add the
.do-not-commit/folder to.github/(optional, but helpful)
A project repository is a repository that contains multiple projects, which may include source code, documentation, and other assets.
The difference between a project repository and a source code repository is that a project repository contains projects that are loosely related - or not related at all - whereas a source code repository primarily focuses on a single codebase.
The Experiments repository is an example of a project repository.
To create a project repository:
- Create a new repository using this template.
- Remove the following files/folders:
src/README.md(this file!)Collection-README.mdSourceCode-README.md
- Rename
Projects-README.mdtoREADME.md. - Modify
README.mdto reflect the content and purpose of the repository. - Review the files in docs/ and remove any folders/documents the new repository does not need.
- Replace %RepositoryName% with the name of the new repository in all relevant files.
- Add the
.do-not-commit/folder to.github/(optional, but helpful)
Each project within the repository should have its own dedicated folder under projects/.
A source code repository is a repository that primarily contains buildable software or other source code.
To create a source code repository:
- Create a new repository using this template.
- Remove the following files/folders:
projects/README.md(this file!)Collection-README.mdProjects-README.md
- Rename
SourceCode-README.mdtoREADME.md. - Modify
README.mdto reflect the content and purpose of the repository. - Review the files in docs/ and remove any folders/documents the new repository does not need.
- Replace %RepositoryName% with the name of the new repository in all relevant files.
- Add the
.do-not-commit/folder to.github/(optional, but helpful)
Each of these folders contains a README.md file that provides information about the contents and purpose of the folder.
All repositories have the following root folder structure:
.
|-- .github/ Repository resources
|-- docs/ Repository documentation
|-- .gitignore The repository .gitignore
|-- LICENSE The repository license
|-- README.md The repository README
Project collections also include a projects/ folder to organize individual projects.
.
|-- projects/ Projects
| |-- ProjectA/ Project A
| |-- ProjectB/ Project B
Source code repositories also include a src/ folder to organize the source code.
.
|-- src/ Source code
All repositories include a ./.github/ folder for repository-specific resources.
.
|-- .github/
| |-- .do-not-commit/ Data/resources that should not be committed
| |-- agents/ AGENT files
| |-- archive/ Archived data
| |-- development/ Development resources
| |-- logo/ Logos
| |-- readme/ Repository README.md resources
| |-- third-party/ Third-party resources
| |-- workspace/ Workspace resources
The ./.github/development/ folder contains resources related to the development process, including old source files, scratch files, templates, working files, and various development documents.
.
|-- .github/
| |-- development/
| | |-- old-src/ Old source files
| | |-- scratch/ Scratch files
| | |-- template/ Template files
| | |-- working/ Working files
| | |-- DesignDocument.md Design document
| | |-- Development-KnownIssues.md Known issues in development
| | |-- Development-Notes.md Development notes
| | |-- Development-Roadmap.md Development roadmap
| | |-- ScratchPad.md Scratch pad for development notes
All repositories include a ./docs/ folder for documentation and supporting materials.
.
|-- docs/
| |-- api/ API documentation
| |-- man/ Manual
| |-- release-notes/ Release notes (detailed version history)
| |-- development/ Development documentation
| |-- CHANGELOG.md Changelog (basic version history)
| |-- CODEOWNERS Code ownership assignments
| |-- CONTRIBUTORS.md Repository contributors
| |-- FAQ.md Frequently asked questions
| |-- KNOWN-ISSUES.md Known issues and workarounds
| |-- ROADMAP.md Planned work and future direction
| |-- SECURITY.md Security policy and vulnerability reporting guidance
| |-- SUPPORT.md How to get help
| |-- TROUBLESHOOTING.md Common problems and resolution steps
The ./docs/api/ folder contains API documentation for the repository.
|-- docs/
| |-- api/
The ./docs/man/ folder contains the manual for the repository.
|-- docs/
| |-- man/
The ./docs/release-notes/ folder contains detailed version history for the repository.
|-- docs/
| |-- release-notes/
The ./docs/development/ folder contains development documentation for the repository.
|-- docs/
| |-- development/
