Skip to content

Latest commit

 

History

History
156 lines (101 loc) · 10.4 KB

CONTRIBUTING.md

File metadata and controls

156 lines (101 loc) · 10.4 KB

Go back to the main page

How to contribute to the REPL

REPL is a volunteer effort and we warmly welcome first time Git/GitHub users! We encourage you to pitch in and join the #repl channel in the 🔒 UoL Slack workspace (students only)!

For a primer on how to use Git & GitHub, please see the section How to use Git/GitHub below.

Thanks! ❤️ ❤️ ❤️

The REPL Team


Table of contents:

Essential reading

Have questions?

What contributions are accepted

  • No binary files (PDFs, images, etc.) or generally anything above 100 KB in size should be committed directly to this repository. If you would like to reference a large file in your contribution, please send an additional contribution to either the notes or binary-assets repositories so we can keep this one as light as a feather.
  • Improvements to any existing page are welcome. For something more substantial than a few additions or fixing a typo (such as creating a new section or something above, say, 500 words), please open a new issue to discuss it or reach out on Slack in the #repl channel so we can be more efficient and respectful of everyone's time. This could include:
    • Updating links (broken, outdated documents, etc.).
    • Adding missing files to binary-assets (such as past exams, syllabi, module specifications, etc.).
    • Answering new questions in the FAQ.
    • Fixing formatting errors/issues and typos.
    • Sharing something that was useful to you during your journey in this degree, such as books, podcasts, websites, software and so on.
  • Besides the above points, anything you think would be useful to at least a handful students in this programme will be a strong candidate for being merged into the REPL as long as it doesn't break any rules set by the university in any of their publicly available documents and isn't ethically dubious 😉.

Optional but still recommended reading

A few initial words...

👍🎉 First off, thanks for taking the time to contribute! 🎉👍

The following is a set of guidelines for contributing to REPL, which is hosted in the World Class Organization on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

How to use Git/GitHub

Here are a couple of places where you will find useful resources:

Code of Conduct

This project and everyone participating in it is governed by the REPL Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project team in the #repl channel in the 🔒 UoL Slack workspace.

How Can I Contribute

Reporting Issues

This section guides you through submitting a bug/problem report for REPL. Following these guidelines helps maintainers and the community understand your report 📝, reproduce the behavior 💻 💻, and find related reports 🔎.

Before creating bug reports, please check this list as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible.

Note: If you find a Closed issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.

Before Submitting An Issue
  • Perform a search to see if the problem has already been reported. If it has and the issue is still open, add a comment to the existing issue instead of opening a new one.
How Do I Submit A (Good) Issue

Bugs are tracked as GitHub issues. Create an issue and provide the following information.

Explain the problem and include additional details to help maintainers reproduce the problem:

  • Use a clear and descriptive title for the issue to identify the problem.
  • Describe the exact steps which reproduce the problem in as many details as possible. When listing steps, don't just say what you did, but explain how you did it. For example, if you moved the cursor to the end of a line, explain if you used the mouse, or a keyboard shortcut and if so which one?
  • Provide specific examples to demonstrate the steps. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples (if applicable). If you're providing snippets in the issue, use Markdown code blocks.
  • Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior.
  • Explain which behavior you expected to see instead and why.
  • Include screenshots and animated GIFs which show you following the described steps and clearly demonstrate the problem. You can use this tool to record GIFs on macOS and Windows, and this tool on Linux.

Suggesting Enhancements

This section guides you through submitting an enhancement suggestion for REPL, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion 📝 and find related suggestions 🔎.

Before Submitting An Enhancement Suggestion
  • Perform a search to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
How Do I Submit A (Good) Enhancement Suggestion

Enhancement suggestions are tracked as GitHub issues. Create an issue and provide the following information:

  • Use a clear and descriptive title for the issue to identify the suggestion.
  • Provide a step-by-step description of the suggested enhancement in as many details as possible.
  • Provide specific examples to demonstrate the steps. Include copy/pasteable snippets (if applicable) which you use in those examples, as Markdown code blocks.
  • Describe the current behavior and explain which behavior you expected to see instead and why.
  • Include screenshots and animated GIFs (if applicable) which help you demonstrate the steps or point out the part of REPL which the suggestion is related to. You can use this tool to record GIFs on macOS and Windows, and this tool or this tool on Linux.
  • Explain why this enhancement would be useful to most REPL users.
  • List some other sources where this enhancement exists if it helps.

Your First Contribution

Unsure where to begin contributing to REPL? You can start by looking through the issues with the label good first issue.

Pull Requests

The process described here has several goals:

  • Maintain REPL's quality
  • Fix problems that are important to users
  • Engage the community in working toward the best possible REPL
  • Enable a sustainable system for REPL's maintainers to review contributions

Please follow these steps to have your contribution considered by the maintainers:

  1. Follow all instructions in the template
  2. Follow the style guides

While the prerequisites above must be satisfied prior to having your pull request reviewed, the reviewer(s) may ask you to complete additional design work, tests, or other changes before your pull request can be ultimately accepted.

Style Guides

Git Commit Messages

  • Use the present tense ("Add feature" not "Added feature")
  • Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests liberally after the first line

Documentation Style Guide

  • Use Markdown and update table of contents when links are changed (if you remember and assuming you've read this far 😉).

Those guidelines are adapted from the Ruby on Rails and Atom projects.