Skip to content
This repository has been archived by the owner on Jun 19, 2024. It is now read-only.

Commit

Permalink
Merge pull request #22 from pros-rs/changelog
Browse files Browse the repository at this point in the history
docs: add changelog and contributing info
  • Loading branch information
Gavin-Niederman authored Jan 3, 2024
2 parents b9425c5 + e666251 commit 5c8807b
Show file tree
Hide file tree
Showing 7 changed files with 350 additions and 0 deletions.
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: Bug report
about: Something is not working as expected
title: ''
labels: bug, need repro
assignees: ''

---

## Bug Description
<!-- Include a clear description of the issue and the steps to reproduce it -->

## Code to reproduce
<!-- A minimum reproducible sample of the issue -->

## Expected vs. actual behavior
<!-- A clear description of how the library should be behaving versus how it is behaving -->

## Additional information
<!--
Add any other context about the problem here.
Move all applicable items out of the comment:
- Operating system (Linux/macOS/Windows):
- pros-rs version (see `Cargo.toml`):
- Rust version (see `rustc --version`):
- Priority this issue should have (low/med/high):
- I have tested this issue on the latest development release.
- I would be willing to implement a fix for this issue.
-->
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Feature request
about: Propose an idea or new feature
title: ''
labels: enhancement
assignees: ''

---

## What your the motivation for this feature?
<!--
For example:
- I'm frustrated when [...] happens
- VEX has recently released [...]
- A useful feature to add would be [...]
-->

## Describe the solution you'd like
<!-- A clear and specific description of what you want to happen. -->

### Describe any drawbacks, if any
<!--
A clear and specific description of any problems your solution could cause, if any.
Consider:
- How maintainable is it?
- Is it future-proof?
- Will it make the library harder to use?
-->

## Describe alternative solutions, if any
<!-- A clear and specific description of any alternative solutions or features that would solve the same problem. -->

## Additional context
<!--
Any other context, including screenshots, that could help describe your feature request.
Would you be willing to work on implementing this feature?
-->
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/small_issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Small issue
about: Report a small problem (e.g. typo)
title: ''
labels: bug, need repro
assignees: ''

---

## Problem Description
<!-- Include a clear description of the issue as well as how to reproduce it. -->

## Screenshots
<!-- If applicable, add screenshots to help show the problem. -->

## Additional information
<!--
Add any other context about the problem here.
Move all applicable items out of the comment:
- Operating system (Linux/macOS/Windows):
- pros-rs version (see `Cargo.toml`):
- Rust version (see `rustc --version`):
- I have tested this issue on the latest development release.
- I would be willing to implement a fix for this issue.
-->
11 changes: 11 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Describe the changes this PR makes. Why should it be merged?

## Additional Context
<!--
Move all applicable items out of the comment:
- I have tested these changes on a VEX V5 brain.
- I have tested these changes in a simulator.
- These are breaking changes (semver: major).
- These are *only* non-code changes (e.g. documentation, README.md).
- These changes update the crate's interface (e.g. functions/modules added or changed).
-->
44 changes: 44 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

<!--
Before releasing:
- change versions in Cargo.toml
- change Unreleased to the version number
- create new Unreleased section
- update links at the end of the document
-->

## [Unreleased]

### Added

### Fixed

### Changed

- Add contributing information, pull request templates, and changelog.

### Removed

## [0.4.0] - 2024-01-02

### Added

- Add methods to controller for checking individual buttons and axes.

### Fixed

### Changed

- Write doc comments for previously undocumented modules and functions.

### Removed

[unreleased]: https://github.com/pros-rs/pros-rs/compare/v0.4.0...HEAD
[0.4.0]: https://github.com/pros-rs/pros-rs/releases/tag/v0.4.0
196 changes: 196 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
# Contributing to pros-rs

Thanks for taking the time to help this project improve! All contributions are
helpful and welcome.

## Table of Contents

- [Contributing to pros-rs](#contributing-to-pros-rs)
- [Table of Contents](#table-of-contents)
- [I have a question!](#i-have-a-question)
- [Ways to contribute](#ways-to-contribute)
- [Reporting a problem](#reporting-a-problem)
- [If you find an issue that describes the same problem](#if-you-find-an-issue-that-describes-the-same-problem)
- [Reporting a small problem](#reporting-a-small-problem)
- [Writing and submitting your report](#writing-and-submitting-your-report)
- [Suggesting features](#suggesting-features)
- [Writing and submitting your suggestion](#writing-and-submitting-your-suggestion)
- [Contributing code](#contributing-code)
- [Project structure](#project-structure)
- [Code styleguide](#code-styleguide)
- [Committing \& commit messages](#committing--commit-messages)
- [Pull requests](#pull-requests)
- [Acknowledgements](#acknowledgements)

## I have a question!

If you just have a question about the library or need help, the best way you can
get support is by creating a post in the [Q&A Discussions
category](https://github.com/pros-rs/pros-rs/discussions/categories/q-a) or by asking
in the project's [Discord Server][discord-server].

## Ways to contribute

### Reporting a problem

If something is not working as expected, you can use the repository's
[Issues][issues-page] page to report it. Before
creating a bug report, use the search bar to make sure that what you're
experiencing isn't already a known issue.

#### If you find an issue that describes the same problem

If the issue you found is closed, feel free to make a new one, but it helps
to link the one you found under the **Additional information** header.

If the issue you found is open, the best way to help is by leaving a
comment on it, describing your experience.

#### Reporting a small problem

If the problem you're reporting is a typo or a just a simple mistake, you might
want to use the **Small issue** template in the next step.

#### Writing and submitting your report

When creating your report, you should use the **Bug report** issue template to
be provided with a list of questions that will help describe the problem you are
having.

Additionally, try to do the following:

- Give the issue a **clear and concise** title.
- Fill out **as many of the template's headers as possible**.
- Provide a **code sample** to help readers reproduce the issue.
- Provide your Rust version, pros-rs version, and operating system.
- If you have **screenshots, photos, or videos**, attach them to the GitHub issue.
- Explain **when the problem started happening**. Was it after a recent update?
Or has it always been an issue?

### Suggesting features

First of all, thanks for wanting to share your idea! Feature requests help this
project grow.

Before submitting your suggestion, please consider the following:

- Your idea may have already been discussed. Use the [Issues][issues-page]
search bar to see if there are any similar suggestions.
- Your idea should be within the project's scope. The goal of this project is to
provide an opinionated Rust framework for developing VEX V5 robots.

#### Writing and submitting your suggestion

When creating your report, you should use the **Feature request** issue template
to be provided with a list of questions that will help describe the suggestion
you are submitting.

Additionally, try to do the following:

- Give the issue a **clear and concise** title.
- Fill out **as many of the template's headers as possible**.
- Provide **code samples, photos, or videos** to help readers understand what
you're saying.
- Consider **how the suggestion would be implemented**.


### Contributing code

The simplest ways to start contributing code to pros-rs are by checking the [TODO list](./TODO.md) or by finding an
[Issue][issues-page] to tackle. Each one requests changes to the project, and some are
more involved than others. Issues with the [good first
issue][first-issue-search] label are good candidates for your first
contribution.

When you're ready to start coding, fork the project, then use `git clone` or `gh repo clone` to clone the repository.

#### Project structure

- `.github/`: CI workflows & issue/pull request templates
- `.devcontainer/`: GitHub Codespaces configuration
- `.vscode/`: Visual Studio Code configuration
- `.cargo/`: Cargo configuration
- `pros/`: Project source code
- `pros-sys/`: C bindings source code
- `flake.nix`: Nix package configuration

#### Code styleguide

All Rust source code should be formatted with Rustfmt, by running `cargo fmt` after making changes.

Use Clippy to lint your changes: `cargo clippy`.

#### Committing & commit messages

All pros-rs projects use [Conventional Commits][conventional-commits-website]
to keep commit messages informational. Conventional commits have the following form:

```
type(OptionalScope): description
[optional body]
[optional footers]
```

Here is an example of a conforming commit message:

```
docs(contributing): add Acknowledgements section
```

From this commit, you can easily see that the commit altered **docs** in the
**contributing** guidelines file by **add**ing an **Acknowledgements section**.
When writing the commit description, make sure to use the present imperative
tense ("add ABC" instead of "added ABC" or "adds ABC"). It might help to imagine
that you are telling someone to do something ("go add ABC").

Here is a list of common commit types:

| Type | Description |
|------|------------|
| chore | Changes to workspace & configuration files |
| feat | New features |
| fix | Bug fixes |
| refactor | Changes to internal features but not the external interface |
| revert | Reversion of a previous change |
| style | Changes to code style and formatting |
| test | Changes or additions to unit tests |
| types | Changes to type definitions |
| docs | Changes to documentation files |

<!--
#### Unit tests
TODO
-->

#### Pull requests

When you're ready for your changes to be merged, head over to the [Pull
Requests][pr-page] page and create a new pull request. Include a description of
what changed, and [link to an Issue][link-to-issue-guide] if applicable.

If you're not quite done with the changes but are ready to start sharing them, you can
[mark it as a draft][about-draft-prs] to prevent it from being merged.

Once your pull request has been merged, congrats! Your changes will be mentioned
in the next release's changelog.

## Acknowledgements

This CONTRIBUTING.md file contains excerpts from and was inspired in part by the
Atom editor's CONTRIBUTING.md. [Click here to go check it
out.][atom-contributing]

[discord-server]: https://discord.gg/DhfnWNX7ah
[issues-page]: https://github.com/pros-rs/pros-rs/issues
[pr-page]: https://github.com/pros-rs/pros-rs/pulls
[first-issue-search]:
https://github.com/pros-rs/pros-rs/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
[conventional-commits-website]: https://conventionalcommits.org
[link-to-issue-guide]:
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue
[about-draft-prs]:
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests#draft-pull-requests
[atom-contributing]: https://github.com/atom/atom/blob/master/CONTRIBUTING.md
5 changes: 5 additions & 0 deletions pros/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ categories = ["os", "api-bindings", "no-std", "science::robotics"]
license = "MIT"
repository = "https://github.com/pros-rs/pros-rs"
readme = "../README.md"
authors = [
"pros-rs",
"Gavin Niederman <[email protected]>",
"doinkythederp <[email protected]>",
]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down

0 comments on commit 5c8807b

Please sign in to comment.