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:
- kdb -> this is the main shared repo, the CC-AI Knowledge Base
- floods-frontend (self-explanatory)
- floods-backend (self-explanatory)
- floods-gans -> where we experiment with generative models to simulate floods
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
- If you work on a specific repository (floods-gans for instance) use its issues for everyday tasks, but
- 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 https://github.com/cc-ai/kdb/labels and add the created file to .github/
.
It works like this:
- Get
labels
as a list of objects with fieldsname
color
anddescription
- Create a
yml
-compatible stringout
- Download
out
as asettings.yml
file
Slack 📡
Follow the #git-kdb
channel to monitor this repo’s activity. If you’re not in our workspace, see contact