Skip to content

GitHub Usage

An issue is a way of planning tasks and tracking bugs. You can create issues in your repository to plan, discuss, and share tasks. When opening an issue, you should add a title and description to clearly summarize the task. The Assignees feature is helpful for delegating tasks to programmers within your team. The Milestones feature can be used to group issues with specific deadlines and track progress.

Issue templates are helpful for providing guidance for opening issues and encourage students to specify the content of their issue. To create issue templates, create a .github/ISSUE_TEMPLATE folder and add Markdown files for different types of issues.

Here’s an example issue template:

name: Story
description: Create a small story task.
title: "[Story] "
labels: ["Story"]
body:
- type: textarea
id: description
attributes:
label: Story Description
description: Specific task (e.g., Tune PID gains for intake).
validations:
required: true
- type: input
id: estimate
attributes:
label: Time Estimate
description: Max 2 days (e.g., "1-2 hours").
- type: input
id: deadline
attributes:
label: Deadline
description: Date that this task should be completed by.
- type: textarea
id: acceptance_criteria
attributes:
label: Acceptance Criteria
description: How to verify completion (e.g., "Unit tests pass, simulation works").
- type: textarea
id: implementation_notes
attributes:
label: Implementation Notes
description: Code changes, tests, or steps needed.
- type: textarea
id: related_links
attributes:
label: Related Links
description: Links to relevant code files, PRs, or docs.

See Configuring issue templates for your repository for a more in-depth guide to using issue templates.

Pull requests are proposals to merge changes on a separate branch into the main branch of a repository, providing a space for comments and suggestions to be made and implemented and ensuring that any code that goes on the robot is reviewed beforehand. Pull requests help programmers review changes before merging them, catch bugs early, and maintain code quality.

Pull request templates encourage students to provide context for their changes and offer checklists to enforce programming standards. To create a template, create a .github/pull_request_template.md file. The template could ask to include:

  • A description of changes made
  • A link to any issues this pull request closes
  • A checklist to verify code standards and successful builds

Here’s an example pull request template:

## Description
Briefly describe the changes made in this PR.
## Changes Made
- List the key changes, files modified, or features added
- Be specific about what was implemented
## Testing
How have you tested these changes?
- Unit tests added
- Tested on robot or simulation
## Related Issues
Link to any related issues or PRs:
- Closes #issue_number
- Related to #issue_number
## Checklist
- [ ] Code follows project coding standards
- [ ] No new linting errors
- [ ] Tests pass (`./gradlew test`)
- [ ] Code builds successfully (`./gradlew build`)

To review a pull request, read the pull request title and description, verify that all CI checks passed, and open the Files changed tab to view the diff. You can comment on specific lines and suggest changes.

GitHub Projects are a tool for project management that integrates with your issues and pull requests. You can create customized tables, boards, and roadmaps to plan and track changes.

Note

Read more about projects here