Thank you for contributing to IEEE CS projects.
This document outlines the contribution process, workflow, and governance standards that must be followed for all IEEE CS repositories.
All IEEE CS repositories should be created using the official template to ensure:
- Consistent documentation
- Standardized contribution workflow
- Structured issue tracking
- Governance and branch discipline
Teams must customize project-specific details after initializing from the template.
When creating a new project from the template:
- Replace the contents of
README.mdwith project-specific information. - Fill in all placeholder sections.
- Define the project’s tech stack and architecture.
- Update
.env.examplewith required variables. - Modify CI workflows according to the stack.
All repositories must follow the branching workflow below:
feature/* → dev → main
main→ Protected production branchdev→ Integration branchfeature/<name>→ New featuresfix/<name>→ Bug fixeschore/<name>→ Maintenance tasks
- Direct commits to
mainare not allowed. - All changes must go through Pull Requests.
- At least one reviewer approval is required before merging.
- CPull Requests must require review from designated Code Owners.
- Create a branch from
dev(ormainifdevis not yet established). - Follow branch naming conventions.
- Make clear and meaningful commits.
- Open a Pull Request.
- Wait for at least one approval before merging.
Keep Pull Requests small and focused.
.envfiles must never be committed..env.exampleshould define required variables without values.- Production secrets must be stored in deployment platform dashboards.
- Access to production credentials should be restricted to maintainers.
All IEEE CS projects must provide a Docker setup.
Each project repository should include:
- A valid
Dockerfile - A
docker-compose.yml(if multiple services are involved) - Clear instructions for building and running containers
Projects are responsible for customizing Docker configuration according to their stack.
- Do not commit secrets.
- Keep documentation updated.
- Follow project-specific style guidelines.
- Keep Pull Requests focused and small.
- Use structured issue templates.
- Provide sufficient context in Pull Requests.
- Maintain professional and clear communication.