-
Notifications
You must be signed in to change notification settings - Fork 0
Instruction Guide: Creating an Optimal Organizational GitHub Repository
This document defines the standard model to follow when creating any GitHub repository within an organization.
It serves as a reference to ensure consistency, quality, security, and professionalism.
-
Reach the largest possible audience
-
Facilitate international collaboration
-
Enable adoption by external contributors
-
Maintain a recognized professional standard
An organizational repository must be:
-
Professional and standardized across all projects
-
Fully documented
-
Written in
Englishto maximize reach -
Maintainable in the long term
-
Secure (no secrets versioned)
-
Understandable without external context
Mandatory steps:
-
Create the repository directly in the GitHub organization (not on a personal account).
-
Choose a clear, short, and explicit name. (Define a naming convention for repositories, for example: project-type-purpose such as api-auth-service or data-pipeline-analytics. This ensures consistency and makes repositories easier to find.)
-
Provide a professional
descriptionin English. -
Define visibility (Public recommended if open-source).
-
Initialize with a README.
-
Add a .gitignore file adapted to the technology used.
-
Add an appropriate license.
-
Configure topics (relevant keywords).
The repository must contain at minimum:
-
README.md -
LICENSE -
.gitignore -
CONTRIBUTING.md -
CODE_OF_CONDUCT.md -
SECURITY.md
-
CHANGELOG.md -
docs/ folder (additional documentation if necessary) -
.github/ folder (templates and CI/CD workflows) -
src/ folder (source code) -
tests/ folder (automated tests if applicable)
The README is the main element of the repository.
It must be complete, structured, and written in English.
-
Mandatory README Content
-
Project name and short description
-
Detailed presentation (objective, context, problem solved)
-
Feature list
-
Technical prerequisites
-
Installation instructions
-
Usage examples
-
Description of the project structure
-
Contribution section (link to CONTRIBUTING.md)
-
Security section (link to SECURITY.md)
-
Explicit license mention
-
Credits section (maintainers and contributors)
The README must allow an external person to understand, install, and use the project without additional explanation.
A LICENSE file must be present at the root of the repository.
Common licenses:
* MIT (A simple and highly permissive license allowing reuse, modification, and distribution with minimal restrictions.)
-
Apache 2.0 (A permissive license similar to MIT but including explicit patent protection clauses for contributors and users.)
-
GPL (copyleft) (A strong copyleft license requiring derivative works to also be distributed under the same GPL license.)
The license must also be mentioned in the README.
Important rule: A public repository without an explicit license creates legal ambiguity.
The repository must include:
-
A CONTRIBUTING.md file describing the contribution process
-
Issue templates (bug report, feature request)
-
A pull request template
-
A clear branching strategy (e.g., protected main, feature/, fix/)
-
The main branch (main) must be protected:
-
Mandatory review before merge
-
Mandatory CI verification
-
Direct push prohibited (depending on internal policy)
Mandatory rules:
-
No secrets or API keys in the repository
-
No .env file versioned
-
Use GitHub Secrets for workflows
-
Presence of a SECURITY.md file describing the vulnerability reporting process
The CHANGELOG.md file must:
-
Follow a structured format
-
Be updated with each version
-
Use semantic versioning (e.g., 1.2.0)
-
Recommended sections:
-
Added
-
Changed
-
Fixed
-
Removed
-
Security
-
Detailed documentation can be placed:
-
In the GitHub Wiki
-
In the docs/ folder
-
It may include:
-
Technical architecture
-
Diagrams
-
API documentation
-
Roadmap
-
Deployment guides
-
Release guides
A repository cannot be considered compliant unless:
-
The README is complete and written in English
-
The license is present
-
Credits are mentioned
-
The main branch is protected
-
A minimal CI (continuous integration) is active
-
No secrets are versioned
-
Documentation is consistent
-
GitHub topics are configured
An organizational GitHub repository must be:
-
Structured
-
Professional
-
Documented
-
Secure
-
Maintainable
-
Standardized
It represents the technical image of the organization and must therefore meet a high level of quality and rigor.