Skip to main content

Code After Coffee Documentation

This wiki is built to document contribution guidelines and any tools/resources that would be usefull for the community

Sections

  1. Github Guidelines: This section is dedicated to introducing Github and describing basic tools/functions of the site in relation to contributing to community projects.

    1. Organization: Description of the Github organization and how to join
    2. Fork: Forking a repository which creates a copy of the exisiting repo under your own Github account
    3. Branches: Description of the desired branching structure for organization/forked repos
    4. Issues: Guidelines for creating and responding to Github issues
    5. PRs: Guidelines for creating and addressing pull requests in Github
    6. Actions: Guidelines for managing Github actions in addition to commonly used actions
    7. Projects: Guidelines for interacting with and managing Github projects
    8. Rulesets: How to manage rulesets for repositories and what rules should be included
    9. SSH: How to set up a SSH key for use when interacting with Github
    10. GPG: How to set up a GPG key for signing commits
  2. Git Commands: This section is dedicated to outlining useful git commands that will come up in the development process

    1. remote: Manage connections between local git and remote repositories (Github)
    2. branch: Manage branches in local git
    3. fetch: Fetching changes from remote repositories
    4. pull: Pulling changes from remote repositories to local repositories
    5. push: Pushing changes from local repositories to remote repositories
    6. rebase: Managing commit history of local repositories
    7. cherry-pick: Adding specific pre-commited changes to local repositories
  3. Git Commit Guidelines: This section goes over the community's git commiting guidelines. The community follows the Conventional Commits guidelines found here: https://www.conventionalcommits.org/en/v1.0.0/

    1. feat: Implemented a new feature
    2. fix: Fixed an existing feature
    3. perf: Changes to the code that aim to improve the performance
    4. refactor: Refactoring existing code where no changes to behavior are made
    5. docs: Documentation about existing code
    6. chore: Chores related to the management of the code
    7. build: Changes to the build process of the code
    8. ci: Changes to the CI/CD of the code
    9. style: Changes to the styling of code
    10. test: Testing of exisiting code
    11. Breaking Change (!): If new changes breaks existing application infrastructure
  4. Code Stylers/Linters: This section goes over code stylers and linters that have been configured and set up for the community

    1. Eclipse: Code styler for the Eclipse IDE
    2. ESLint: Code linter for Javascript/Typescript
  5. Development Operations: This section covers different development operation related resources and documentation

    1. Domain: Domains owned by the community and what applications are pointed to by those domains
    2. Development VM: Virtual machines hosted by the community and what purpose they serve
  6. Useful Tools/Technologies: This section covers useful tools and technologies that the community can learn/use during the development of projects

    1. Docker: Overview of docker which allows for the containerization of applications to improve sharability and distribution