Contributing to focusd

January 1, 2026 ยท View on GitHub

First off, thanks for taking the time to contribute! ๐ŸŽ‰

The following is a set of guidelines for contributing to focusd. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

Code of Conduct

This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code.

How Can I Contribute?

Reporting Bugs

This section guides you through submitting a bug report.

  • Use a clear and descriptive title for the issue to identify the problem.
  • Describe the exact steps which reproduce the problem in as much detail as possible.
  • Provide specific examples to demonstrate the steps.
  • Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior.
  • Explain which behavior you expected to see instead and why.

Suggesting Enhancements

  • Use a clear and descriptive title for the issue to identify the suggestion.
  • Provide a step-by-step description of the suggested enhancement in as much detail as possible.
  • Explain why this enhancement would be useful to most focusd users.

Pull Requests

  • Fork the repo and create your branch from main.
  • If you've added code that should be tested, add tests.
  • Ensure the test suite passes.
  • Make sure your code follows the existing style.

Styleguides

Git Commit Messages

  • Use the present tense ("Add feature" not "Added feature")
  • Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests liberally after the first line

Go Coding Style

  • Run go fmt on your code.
  • Handle errors explicitly.
  • Comment exported functions and structures.

Attribution

This guide is based on the contributing-gen.