Skip to main content

Contributing to Wechaty

Guidelines for Contributing#

Thank you for your time on Wechaty.

This document explains the process of contributing to the Wechaty project.

First of all please follow the Wechaty Community Code of Conduct in all your interactions within the project.

Wechaty is a community that lives on its volunteers. As it keeps growing, we always need more people to help others. You can contribute in many ways, either to the framework itself or in the wider ecosystem.

Why contribute#

As an open-source product, Wechaty thrives on the contributions of community members. Whatever your skill set is, there is a lot you can do to help us make Wechaty better! So start forking!

Not sure where to start?#

It's a myth that writing code is the only way to contribute to open source. Wechaty community is open to new ideas and there are so many different ways to make valuable contributions. We have some ideas of how you can get started!

Work on the Wechaty framework#

The work on Wechaty itself falls into three major areas:

Writing code 💻#

Fix a bug, or add a new feature. You can make a pull request and see your code in the next version of Wechaty!

  • Check out GitHub issues with the tags good first issue, pull request welcome, or help wanted
  • Write code examples for documentation
  • Report a bug and work on resolving it
  • Collaborate with others on building new features

Start from the writing code docs.

Writing documentation ✍️#

Wechaty's documentation is one of its key strengths. It's informative and thorough. You can help to improve the documentation and keep it relevant as the framework evolves.

Contact to learn more

See writing documentation for more.

Building RPA Puppet Provider/Service 🗺️#

Wechaty supports over 10 Puppet Providers & Services. The RPA team is always looking for hackers to help maintain and increase IMs that the Wechaty ecosystem should support.

See creating your puppet providers to help expand the RPA for Wechaty.

Tips: If you want to add new features or change the API, please submit an issue first to make sure no one else is already working on the same thing and discuss the implementation and API details with maintainers and users by creating an issue. When everything is settled down, you can submit a pull request.

Make sure to add tests for your features and bug fixes and update the documentation (see below) before submitting your code!

Contribute Support#

If you spot something new, open an issue using a template. We'll use the issue to have a conversation about the problem you want to fix.

Contact to learn more

If you think working with Wechaty is fun, wait until you start working on it. Really, ANYONE can do something to help make Wechaty better and greater!

This contributing guide contains everything you need to know to help build the Wechaty chatbot framework. Browse the following sections to find out how:

Ready to make a change? Fork the repo#

Fork using GitHub Desktop:

Fork using the command line:

  • Fork the repo so that you can make your changes without affecting the original project until you're ready to merge them.

Fork with GitHub Codespaces:

Open a pull request#

When you're done making changes and you'd like to propose them for review, use the pull request template to open your PR (pull request).

Submit your PR & get it reviewed#

  • Once you submit your PR, others from the Docs community will review it with you. The first thing you're going to want to do is a self-review.
  • After that, we may have questions, check back on your PR to keep up with the conversation.
  • Did you have an issue, like a merge conflict? Check out our git tutorial on how to resolve merge conflicts and other issues.

Your PR is merged#

Congratulations! The whole GitHub community thanks you. ✨

Suggested changes#

We may ask for changes to be made before a PR can be merged, either using suggested changes or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch.

As you update your PR and apply changes, mark each conversation as resolved.

Join the Wechaty community ❤️#

We're passionate about helping Wechaty users make the jump to contributing members of the community. There are several other ways you can help the Wechaty community and others to maintain a great ecosystem to work in:

  • Join the Wechaty channel on and answer questions. By explaining Wechaty to other users, you're going to learn a lot about the framework yourself.

  • Join the GitHub Discussions. This forum is a place for discussing the Wechaty framework and applications and projects that use it. This is also a good place to ask and answer any questions related to installing, using, or contributing to Wechaty.

  • Join the Google Group and answer questions.

  • Blog about Wechaty. We syndicate all the Wechaty blogs we know about on the community blogs; if you'd like to see your blog on that page you can register it here.

  • Contribute to open-source Wechaty projects, write some documentation, or release your code as an open-source pluggable application. The ecosystem of pluggable applications is a big strength of Wechaty, help us build it!

NOTE: If you need any help, you can find related information in Getting Help doc . We're looking forward to working with you. Welcome aboard! ⛵️

We built wechaty with pleasure because it can help others. Help from your contributions for wechaty will be very much appreciated by the community.



Special Thanks#

I have to credit Django doc authors, because this documentation page is inspired by, and mostly copy/pasted from Django contributing docs