Skip to content

Workflow

Cisco edited this page Sep 30, 2025 · 2 revisions

Collaboration workflow

We have 3 repos

Setup

# either clone and add remote
git clone git@github.com:<USERNAME>/ft_IRC.git
cd ft_IRC
git remote add upstream https://github.com/T<USERNAME>/ft_IRC.git
git remote -v

# or fork from Github interface and clone

When checking remotes

  • origin should be the forked repo
  • upstream should be the main repo

Branches

  • main should be kept functional
  • other features branches can be either
    • created in forks
    • created in main from issues then synced in the fork

Step 0 - Write an issue

From Issues or Project

  • use the template with /template for feature request
  • link to a milestone
  • add a tag
  • discuss with the team for
    • specifications
    • test cases
  • add resources (RFC)

Step 1 - Always sync first

git switch main
git pull upstream main
git push origin main

Step 2 - Create a feature branch (if not created from the issue)

git switch -c feature/<name>

Step 3 - Commit properly

  • no commit norm yet but we try to tag commit with fix, feat, ...
git add .
git commit -m "<tag> msg"
git push origin feature/<name>

Step 4 - Pull requests

  • all changes to main should go through a pull request
  • in some exceptional cases (hotfix) it is tolerated to push directly to main

On Gihub fork repo

  • click « Compare & pull request »
  • ask for review
  • delete branch

Project and issues

Milestones

We defined following milestones for the project

  • all mandatory features done
  • clean code
    • all static checks
    • format
    • no comment
    • documentation Doxuygen
  • bonus done

Misc

  • webhook for project Discord server

Clone this wiki locally