Skip to content

Latest commit



124 lines (75 loc) · 5.31 KB

File metadata and controls

124 lines (75 loc) · 5.31 KB

How to Contribute

Table of Contents

Getting started

To develop on ActivityWatch you'll first want to install from source. To do so, follow the guide in the documentation.

You might then want to read about the architecture and the data model.

If you want some code examples for how to write watchers or other types of clients, see the documentation for writing watchers.

How you can help

There are many ways to contribute to ActivityWatch:

  • Work on issues labeled good first issue or help wanted, these are especially suited for new contributors.
  • Fix bugs.
  • Implement new features.
  • Write documentation.
  • Build the ecosystem.
    • Examples: New watchers, tools to analyze data, tools to import data from other sources, etc.

If you're interested in what's next for ActivityWatch, have a look at our roadmap and milestones.

Most of the above will get you up on our contributor stats page as thanks!

Filing an issue

Thanks for wanting to help out with squashing bugs and more by filing an issue.

When filing an issue, it's important to use an issue template. This ensures that we have the information we need to understand the issue, so we don't have to ask for tons of follow-up questions, so we can fix the issue faster!

Code of Conduct

We have a Code of Conduct that we expect all contributors to follow, you can find it in

Commit message guidelines

When writing commit messages try to follow Conventional Commits. It is not a strict requirement (to minimize overhead for new contributors) but it is encouraged.

The format is:

<type>[optional scope]: <description>

[optional body]

[optional footer]

Where type can be one of: feat, fix, chore, ci, docs, style, refactor, perf, test


 - feat: added ability to sort by duration
 - fix: fixes incorrect week number (#407)
 - docs: improved query documentation 

This guideline was adopted in issue #391.

Getting paid

We're experimenting with paying our contributors using funds we've raised from donations and grants.

The idea is you track your work with ActivityWatch (and ensure it gets categorized correctly), then you modify the script to use your category rule and generate a report of time worked per day and the matching events.

If you've contributed to ActivityWatch (for a minimum of 10h) and want to get paid for your time, contact us!

You can read more about this experiment on the forum and in the issues.

Claiming GitPOAP

If you've contributed a commit to ActivityWatch, you are eligible to claim a GitPOAP on Ethereum. You can read about it here:

The one for 2022 looks like this:


If you have any questions, you can: