Workflow 🌊

How we use Github 🚉

(New to Github ? -> How to get started w/ Github, cc-ai style)

Code repositories depend on the cc-ai organization, managed by @vict0rsch and @sashavor.

There are 2 teams (mainly):

  • The Core Team is composed of people at Mila working at least 50% of their time on this project
  • The Contributors Team is composed of people affiliated to other organizations and/or volunteering to spend some time on this project

The organization currently has these repositories:

If you’d rather have your own cc-ai repository for the task you work on, feel free to open a issue

Good practices 👍

Git 🌵

Read through these commit guidelines (~10 min) as they will help us work together better. A little more advanced content can be found here - it walks you though the differences between merging and rebasing branches

Also if you like Github from the command line, checkout Github’s own tool: hub

The CCAI Status Project 🔔

If you click on Projects, to the right of Issues, you’ll find the CCAI Status project. This Kanban-style project helps us track issues and tasks.

When you create an issue add it to the CCAI Status project (to the right of the issue editting interface, below Assignees and Labels) iff it is a concrete 🔬 issue (bug, to do etc.). Please keep open discussions (as #16 or #37, i.e. issues with the label) out of there.

You can always add an issue using the + Add card button to the top right of the project’s page.

Do update the status of issues you are assigned

Issues and Labels 💥

Some guidelines to understand our issues and labels

  • Use kdb’s issues for general purpose issues the community should be aware or any kind of question you have

    • If you work on a specific repository (floods-gans for instance) use its issues for everyday tasks, but kdb’s for general concerns
  • Assign people to issues (maybe yourself)
  • Use Labels!

    • Use the label to acknowledge the issue and state you’ve started working on it
    • Use the priority tags ( or )
    • Label as issues relating to the overall CC-AI project and its management
    • Use the label to signal thoughts you’ve had which may someday be relevant
    • Even if you’re not assigned to an issue, if it bears the tag you probably can still do something
    • If you’re in some kind of trouble and need people’s advice, use the
    • To open a discussion about anything, get people’s opinions, use the
    • The label should never be used. Except for extraordinary issues.
    • Use domain: labels for people to be able to quickly pick up what’s relevant to them. See domains
  • Close issues when resolved. They may be re-openned later on. You may also lock a conversation if the decision is final.
  • Suggest improvements to these guidelines and practices

Reusing kdb’s labels in other repositories 🏷

This procedure describes how to import kdb’s labels into your repositories / other cc-ai repositories.

This will overwrite your labels so if you want your own labels you can do this once and then delete settings.yml otherwise it will delete your repo-specific labels when pushed later on.

Add a .github folder and a .github/settings.yml at the repo’s root.

If labels.yml is up to date, copy its content into your .github/settings.yml.

Otherwise run this script in your browser console on page and add the created file to .github/.

It works like this:

  1. Get labels as a list of objects with fields name color and description
  2. Create a yml-compatible string out
  3. Download out as a settings.yml file

Slack 📡

Follow the #git-kdb channel to monitor this repo’s activity. If you’re not in our workspace, see contact



The latest tutorials sent straight to your inbox.