Skip to main content

Contribution

How to Contribute

With rescoped we want to actively participate in pushing the open source movement forward.

To achieve this, we are building a community of passionated contributors and users, and we'd love to have you join us.

The rescoped ecosystem only grows through the contributions of all the helping hands. Thank you for your enthusiasm and your work — we appreciate everything that you do!

We are still in the early days of the rescoped project and try to make contributing to this project as easy as possible, but we’re not quite there yet. Hopefully this document makes the process for contributing clear and answers some questions that you may have.


Tip for new contributors

Take a look at the GitHub guide for first contributors, for a helpful guide on making your first contribution.


Code of Conduct

Rescoped is using the Contributor Covenant as its Code of Conduct, and we expect everyone working on this project to respect it. Please read the full text, so you can understand which actions are inappropriate.


Open Development

All work on rescoped takes place directly on GitHub. Pull requests sent by core team members and external contributors go through the same review process.

If you would like to take part in rescoped, there are many different ways in which you can contribute. The following are just a few ways in which you can help:

 • Contribute to Code

 • Contribute to Docs

 • Answer questions posted on Stackoverflow or join our Discord Community

 • Report and Investigate Bugs

 • Submit a Feature Request


Semantic Versioning

We follow semantic versioning. We release patch versions for critical bugfixes, minor versions for new features or non-essential changes, and major versions for any breaking changes. When we make breaking changes, we also introduce deprecation warnings in a minor version, so that our users learn about the upcoming changes and migrate their code in advance.

Every significant change is documented in the changelog file.


Contribute to the rescoped code

Contribute a new feature or bug fix to rescoped's monorepo. This page shows you, how to to set up your environment to start contributing code.


The Monorepo

What is a monorepo?

A monorepo is a single Git repository, that holds your code for multiple applications and packages, along with the tooling for them.


Coding Rules

We follow the official Google TypeScript Style Guide


Submitting a Pull Request

Before you submit your Pull Request consider the following guidelines:

 1. Search GitHub for an open or closed Pull Request that relates to your submission. You don't want to duplicate existing efforts.

 2. Make sure that an issue describes the problem you want to fix or provides documentation of the design for the feature you want to add.

 3. Fork the rescoped monorepo.

 4. Make your changes in a new Git branch within your forked repository:

git checkout -b my-fix-branch main

 5. Create your patch, including appropriate test cases.

 6. Run the tests for the monorepo make sure that all tests pass.

 7. Commit your changes using a descriptive commit message that follows our commit message conventions link to Headline. Following these conventions is necessary because release notes are automatically generated from these messages.

git commit --all

Note: the optional commit -a command line option will automatically "add" and "rm" edited files.

 8. Push your branch to GitHub:

git push origin my-fix-branch

 9. In GitHub, send a pull request to rescoped:main.


Reviewing a Pull Request

The rescoped core team reserves the right to reject pull requests from community members if they violate our Code of Conduct.

Addressing review feedback

If we ask for changes via code reviews then:

 1. Make the required updates to the code.

 2. Re-run the rescoped test suites to ensure tests are still passing.

 3. Create a fixup commit and push to your GitHub repository (this will update your Pull Request):

git commit --all --fixup HEAD git push


That's it! Thank you for your contribution! 😊


Updating the commit message

A reviewer may suggest changes to a commit message (e.g. to add more context to a change or to stay within our commit message guidelines). In order to update the commit message of the last commit in your branch:

 1. Check out your branch:

git checkout my-fix-branch

 2. Change the last commit and modify the commit message:

git commit --amend

 3. Push to your GitHub repository:

git push --force-with-lease

Tip

If you need to update the commit message of an earlier commit, you can use Git rebase in interactive mode. See the git docs for more details.


After your pull request is merged

After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository:

 1. Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:

git push origin --delete my-fix-branch

 2. Check out the main branch:

git checkout main -f

 3. Delete the local branch:

git branch -D my-fix-branch

 4. Update your localmainwith the latest upstream version:

git pull --ff upstream main


Commit message conventions

[Init] Initial Commit; no issue number or subject needed.

[Bug] Bug fix for the user; no fix to the build environment.

[Feature] New feature for the user; no feature for build script/environment.

[Improvement] Improve code not relevant to the user or improve code performance/quality.

[Security] Security fix for the user; no fix to the build environment.

[Test] Add missing tests, refactoring tests; no production code change.

[Cleanup] Refactoring missing semicolons, deleting empty lines, etc.; no production code change.

[Update] Update packages/dependencies.

[Chore] Changes related to the build system; no production code change.

[Docs] Changes to the documentation.


Development

A high level overview of tools used:

 • TypeScript as the development language

 • Angular as frontend framework

 • Angular material as implemented design system

 • Storybook for developing UI Components and Systems

 • Prettier for code formatting

 • ESLint for linting

 • NX as build system

 • Material Design as design system

 • Jest for testing


Contribute to the rescoped docs

Help us make rescoped.io/docs as precise and easy-to-use as possible. Contributing to documentation is a great way to get involved with open source development, without having to code.


How to Contribute

Anyone can contribute to the rescoped documentation! You can create a merge request for documentation when:

 • You find errors or other room for improvement in existing documentation.

 • You have an idea for all-new documentation that would help a GitHub user or administrator to accomplish their work.


If you're updating documentation as part of developing code, go to the Contributing to Code page.

If you don't find an issue you'd like to work on, you can still open merge requests.

 • Select Edit at the bottom of any page on rescoped.io/docs

 • Or just look through pages in the /docs directory until you find one you'd like to improve.


Is it rescoped, Rescoped or RESCOPED?

Use the lower case version of “rescoped” everywhere when referrering to the rescoped project.


Title capitalization

For titles use "Sentence case capitalization". In technical documentation, sentence case capitalization makes it easier to read.


Spelling

Use United States English. For example, color rather than colour, and gray rather than grey.


Active voice v. Passive voice

Use active voice. Passive voice decreases readability and comprehension. Only use "the voice" on Harkonnen soldiers.

Keep it simple

When possible, use short, simple words. Slang, acronyms, initialisms, abbreviations, and ambiguous contractions (such as there’d, it’ll, and they’d) should be avoided.

© 2023 rescoped by  avodaq AGBuilt with Docusaurus