Skip to content

Latest commit

 

History

History
169 lines (104 loc) · 6.89 KB

File metadata and controls

169 lines (104 loc) · 6.89 KB

🙌 Contributing to Google Assistant Unofficial Desktop Client

Welcome to Google Assistant Unofficial Desktop Client 👋 Thanks for deciding to read this guide and contribute! Remember: You don't need to think big even a typo fix might save our day and make you a hero. Every contribution counts! 🔥

🐛 Found a Bug?

If you find a bug, you can contribute by submitting an issue here

Note: Before creating a bug report issue, check if someone else has already submitted the particular issue here. If you do find one, give it a thumbs up to let us know the serverity of the bug. If you have additional info related to the bug, you may comment within the same issue.

💡 Have a Great Idea?

Have a feature in your mind that is missing? Share your thoughts with us by submitting an issue here.

Note: Before creating a suggestion issue, check if someone else has already submitted the particular suggestion here. If you do find one, give it a thumbs up to let us know the priority of the feature.

📙 Contribution Guideline

Submitting an Issue

Before submitting your issue, please check that it was not reported already (open or closed) here. To narrow down the list to the issues that are frequently encountered by others check the Frequently Asked Questions (FAQ) or duplicate issues.

Also provide as many details as possible to make things easier.

Submitting a Pull Request

How to submit a pull request?

Before you start, you will need to install git if not already installed in your machine.

TL;DR

  1. Fork the repository.
  2. Checkout a topic branch for your submission.
  3. Push your new branch to GitHub.
  4. Submit a pull request to the master branch.

Detailed guide

  1. Fork the project.

  2. Clone the fork on your machine.

    $ git clone https://github.com/<Your-Username>/Google-Assistant-Unofficial-Desktop-Client.git
  3. Open Command Prompt/Terminal in the root of this project.

  4. Type the following (This is just a one-time thing)

    $ git remote add upstream https://github.com/Melvin-Abraham/Google-Assistant-Unofficial-Desktop-Client.git
  5. Pull lastest changes from the upstream repository if there are any new commits:

    $ git pull upstream master
  6. Checkout a topic branch for your submission.

    $ git checkout -b feature/<some-feature-name>
  7. Make appropriate changes to the code. Stage the files that you want to commit and then commit the changes with a proper commit message (you may refer Commit Messages):

    $ git commit -m "<Your-Commit-Message>"
  8. Pull lastest changes from the upstream repository as specified in Step 5.

  9. For the most part the previous step will automatically merge all the changes from upstream. If it doesn't, it will give you Merge Conflict error wherein you need to manually resolve those conflicts.

  10. Finally, make a pull request from your fork to this repository.

Coding Styles

Thinking about the contributors, Google Assistant Unofficial Desktop Client follows some coding rules to enforce/keep the linting and code simple, readable, and understandable. Also, it's essential to:

  1. Have the Prettier extension installed in your Editor.

  2. Make sure you have this line in your settings.json file to set the Prettier extension as default formatter. This would enforce the .prettierrc formatting to your code when you format:

    "editor.defaultFormatter": "esbenp.prettier-vscode"
  3. Check the AirBnb JavaScript style guide

Commit Messages

Google Assistant Unofficial Desktop Client commit messages follows a pattern. So, to make sure everything is consistent and understandable, check out:

  1. Semantic Commit Messages (gist by joshbuchea)
  2. Conventional Commits

How to Build

Once you have cloned the repository, you can run/build this app locally on your own. Before you start, make sure you have node.js installed on your machine.

Windows Build Note

If you are on Windows, you must install Windows Build Tools to build native modules. Install the build tools with this one-liner. Start PowerShell as Administrator and run:

> npm install --global windows-build-tools

Or, if you are using Yarn:

> yarn global add windows-build-tools

Linux Build Note

If you are building on a Linux machine, the rpm build might fail if rpm build tools are not installed. If you happen to get a failed build on linux for rpm, try the following:

  1. If you are on Debian based distributions (like, Ubuntu, Debian, etc.), you can resolve this issue by installing the rpm package

    $ sudo apt-get install rpm
  2. If you are on a RedHat based distribution (like Fedora, OpenSUSE, CentOS, etc.), you can resolve this issue by installing rpm-build package

    $ sudo yum install rpm-build

Now that you are ready with the pre-requisites, you can type the following to get up and running.

Using npm


# Get dependencies from npm (mandatory)
npm install

# Run the Assistant
npm start

# Build the Assistant
npm run dist

Using yarn


# Get dependencies from npm registry (mandatory)
yarn

# Run the Assistant
yarn start

# Build the Assistant
yarn dist

Make sure you have the authentication part set up for testing your code. Refer the Setup Authentication for Google Assistant Unofficial Desktop Client guide for setting things up.

Once again, thank you for joining this journey and good luck contributing 🙏