Skip to content

Latest commit

 

History

History
82 lines (48 loc) · 6.13 KB

contribute.md

File metadata and controls

82 lines (48 loc) · 6.13 KB

Contribution

Anybody can fork our open source repositories and contribute, but we have also private repositories that are accessible only to our core team members. A core tem member have direct access to private repositories. When you have direct access you can work in development branches and commit to main branch. Our mentors are also code maintainers.

Guests

As a guest/student or developer you can visit our homepage and start learning how to code. You do not have to register or login. We host two courses: Software Engineering and Programming Languages. You can learn principles of programming from zero to hero in shorter time than school. Our courses are focussed on fundamentals. For advanced programming you can follow documentation and work on projects. There is no schedule for courses, you can start learning any time and pause or continue in your own time.

Community

You can join our community on Discord, Google, Reddit or Twitter. After you join, you can claim a new role on Discord chat room. We do not have any registry or database and we do not collect e-mail addresses nor phone numbers. After you get a role you will receive an invitation for GitHub in your e-mail. You can accept this invitation to become member in our core team and get access to projects.

Invitations

Students

As a student, you can have access to extra resources, not available for guests. This include secret links and stage rooms where we share presentations and schedule work sessions. Students can make PR requests for open source projects.

Developers

To become a developer on Sage-Code you must be active on Discord. Post some info about your goals and skills on our #team channel and read the rules. A mentor will send you DM for an interview and will assign you the role. Developers have direct access to some of our private projects and can work in developer branches.

Mentor

Sage-Code mentors are professional developers with experience that we can trust. Instructors are moderators and code maintainers. As a mentor you can accept PR from students and you can merge code into main branch. To become an mentor you need to pass several exams and prove your skills. Mentors are our partners, and they have access to all private projects.

Work environment

You can fork any of our repositories. We do not accept PR requests from random visitors that we don't know. You must connect with a Mentor or Developer who can merge PR requests. We advice you to avoid extra work. As a mentor you can clone our repositories instead of forking. You will be able to work in branches and direct commit. We will merge the branches into main branch from time to time, or you can do it yourself.

Structure

~/sagecode
    |
    +-->cse
    |
    +-->vip
    | (other projects)
    | ....
    +--.github
    |    (readme)
    |    (discutions)

Our website is distributed in many repositories. The main repository is the .github repository. This contains discutions and main readme file. You do not need to clone .github. When you work on a project you can clone a specific repository.

Our tutoriasl are stored in /cse repository. This contains a subfolder for every language we study. Also in the root of this repository there are engineering articles. Some articles are expanded in subfolders. If you expand one of the topics beyoun one page, you should create a subfolder.

The /cse/images folder contains common immages. If a project need special immages, each folder contains an ./img subfolder. This structure enable us to differentiate diagrams between languages. If a common diagram need modifications for specific language then you should create a copy of it and modify in in ./img folder. Let the original unchanged. If a diagram need to be fixed for all languages, then modifi only the original. Every copy is independent, will not automaticly inherit your changes.

Projects

We have unified all tutorials in /cse repository that stnds for "computer science and engineering". The ./vip project, has it's own repository. This repository is protected, onlu mentors have access for security reazons. After you clone a project, you can modify and test your work. The website should look good on your computer bedore you push changes. After you merge the code into a project your job is to send notification to one of the mentors for code review. Every project has a readme.md file you need to read to get familiar with the project setup.

Your Rolet

You can claim a role on Discord: student, developer, sponsor or recruiter. Having a developer role on Discord is the first condition to work on our projects. Second you need a role on GitHub that must be also developer role. If you are not invited to our organization you can't contribute to our projects directly, but you can clone the project.

What you can do is modify the project and push changes using pul requests. For this you need a fork, then create a clone of the fork and push changes in your own local repository. If you do so, you can make later a PR (pul request). A mentor can review your code and accept the changes. So you can contribute even if you are not a Sage-Code developer after all.

Get started

You can ask questions on Sage-Code general discussions board. Every repository has also a discussion board and a read.me file that contains info about that particular project. Follow this info and update new info when you have it.

Follow up:

  1. Visit: Sage-Code Laboratory
  2. Read the Project page

After these steps you are ready to contribute. You can open the website locally offline. You can't modify any of the files because you have not created a fork. If you are a Developer, join our Discord server and ask permision to push changes. We will have a short interview and if you are qualified we will grant you GitHub developer role. With this role you can contribute directly in the main branch.

Learn and prosper 🖖🏼


Copyright (c) Sage-Code 2024