Skip to content

Latest commit

 

History

History
54 lines (36 loc) · 3.34 KB

CONTRIBUTING.md

File metadata and controls

54 lines (36 loc) · 3.34 KB

Contributing to Universal Data Tool

The Universal Data Tool aims to be a community-driven solution to managing the creation, labeling and exporting of datasets. All contributions are welcome and appreciated!

Contributing to open-source is fun!

  • Together, we can build some awesome software and enable people to build awesome AI!
  • Tons of people will appreciate the work you do
  • The issues and slack are a great place for discussing design, architectures, and new helpful technologies
  • If you have a good idea and put in some effort, it can be a part of a package used by thousands of people
  • You'll be credited for the work you do in the README, which you should use to get a cushy job!

Things to do to contribute

  • Thumbs up features or bugs you think are important!
  • Create issues for features or bugs you find
  • Solve UI bugs in existing issues
  • Create react components for new UI features ("stories")
  • Implement big features in draft PRs, taking breaks for feedback by messaging people on Slack
  • Just fix a bunch of bugs and do a massive pull request with no description but all the tests pass and it looks pretty good so I guess it's fine

What do I need to know to get started

Still feeling like: "hhh'what is going on?" Check out this sweet guide to contributing to open-source

Other stuff that's nice to know / FAQ

How to I avoid git merging all the time?

Your git history will be messy and hard to maintain if you don't rebase from the latest version of UDT when you're working on features. There are two ways to do this easily that we recommend:

  1. When you want to update your branch/fork, do git pull origin master --rebase. The --rebase flag will make sure that your changes are on top of the latest version of UDT and not jumbled around.
  2. If you want to do (1) by default without having to use the --rebase flag, just execute git config --global pull.rebase true one time on your computer.

How do I develop the desktop application?

You'll need two terminals. One will run the electron app, the other will run the electron app.

  1. Run yarn start
  2. Run yarn start:desktop

How do I run the Cypress Integration Tests

Cypress integration tests will run the web application and make sure that everything is working.

You'll need two terminals to run the cypress integration tests. One test needs to run the web server with yarn start, the other needs to run yarn test:integration:dev. After you run the latter command, you'll see a screen like this that will let you run any of the automated tests!