How to Contribute
Table of Contents
- Getting started
- How you can help
- Filing an issue
- Getting paid
- Code of Conduct
- Commit message guidelines
To develop on ActivityWatch you'll first want to install from source. To do so, follow the guide in the documentation.
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 issueor
help wanted, these are especially suited for new contributors.
- Implement new features.
- Write documentation.
- Build the ecosystem.
- Examples: New watchers, tools to analyze data, tools to import data from other sources, etc.
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!
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 working_hours.py 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!
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]
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.
If you have any questions, you can: