Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Contribution Pipeline #774

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

kpwelsh
Copy link
Collaborator

@kpwelsh kpwelsh commented Feb 26, 2025

Overview

This PR is focused on making it more streamlined for people to contribute to HEXRD and engage with the library. In terms of content, this PR is split into two sections.

Firstly, contained in this PR --

  • 2 Issue Template: one for bug reports and one for feature suggestions
  • 1 PR template
  • A link out to a CONTRIBUTING.md guide in the HEXRD wiki.

Separately, an update to the wiki that can be found here. PRs cannot be made for wiki content, so we will bundle these together, and if accepted, the wiki content will also be merged in.

Wiki Changes --

  • resources folder that contains template images
  • style-guide.md + .pylintrc.
  • CONTRIBUTING.md
  • Removing Home.md (content modified and placed in CONTRIBUTING.md)

Bug Template

image

Feature Request Template

image

Initial PR markdown

# Overview

[Summarize the changes that you made. Make sure to call out changes or decisions that were not included in the original discussion. This should include:

-   APIs you are changing (i.e. function signatures)
-   Who might need to know about the change
-   Which test cases you will need to add / change
]

# Affected Workflows

[Describe who is affected by this and how.]

# Documentation Changes

[Enumerate the places where documentation needs to change. If the documentation lives in this repo, it should be changed in this PR.]

CONTRIBUTING.md

In addition to the changes here, we will lay out encouragement + instructions for contributing to HEXRD. This includes directing people to using the new issue templates introduced here, directing users to use issues, github discussion board, or the slack channels to share ideas and providing some simple workflow instructions for actually doing development.

Style Guide

Draft version -- https://github.com/Verdant-Evolution/hexrd/wiki/style-guide

The style guide provided here is a combination of existing well developed style guides, namely the PEP8 guidelines and the NumPy style guide. None of the guidelines enumerated in this guide are intended to change how well formatted development has been done on HEXRD, but is merely to lay out the guidelines and examples of what the code should look like for those that are not familiar with following a style guide.

In addition to particular code style, it includes:

  1. Suggests that developers use pylint and provides a .pylintrc
  2. Suggests that developers use typing and type checking with a reference to pyright and mypy
  3. Instructs users to use black to format their code.

Affected Workflows

Technical workflows are unaffected. This only affects how users contribute to repo.

Documentation Changes

These changes are self-documenting and optional to engage with. A user can always select a blank issue template to fill out, or simply remove the auto-populated content of the PR if it is inappropriate.

Requested Feedback

I would appreciate any feedback you may have on the details of the templates as well as the changes to the Wiki.
I removed the Home.md from the wiki, since it was largely a contribution guide to begin with. If we should replace it with something, I am open to suggestions.

@kpwelsh kpwelsh requested a review from psavery February 26, 2025 19:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant