ActivityWatch is open source under the MPL-2.0 license and actively welcomes contributions. Whether you want to fix a bug, add a watcher, improve documentation, or help triage issues, there is a place for you.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ActivityWatch/activitywatch/llms.txt
Use this file to discover all available pages before exploring further.
Ways to contribute
Fix bugs
Browse open bug reports on GitHub
Good first issues
Find beginner-friendly tasks labeled “good first issue”
Write documentation
Improve guides, fix typos, or add new pages in the docs repo
Build watchers
Create new watchers for the community
help wanted, check the roadmap, or browse requested features on the forum.
Development setup
Follow the building from source guide to get a local development environment running.Commit message guidelines
ActivityWatch follows Conventional Commits. It is encouraged but not a strict requirement, to minimize overhead for new contributors.feat, fix, chore, ci, docs, style, refactor, perf, test
Examples:
Running tests
From the repository root:test target. To run integration tests (requires a running server):
pytest against ./scripts/tests/integration_tests.py and ./aw-server/tests/.
Code quality
Run linting and type checking:lint or typecheck target respectively.
Filing issues
Use the GitHub issue templates. Always include:- Your operating system and version
- ActivityWatch version
- Steps to reproduce
- Expected vs. actual behavior
Code of Conduct
All contributors are expected to follow the Code of Conduct.Getting paid
The ActivityWatch project experiments with compensating contributors using funds raised from donations and grants. If you have contributed at least 10 hours of work, contact the maintainers to learn more. See the forum post for details.Community
Forum
Ask questions, share ideas, discuss features
Discord
Real-time chat with maintainers and contributors
