deckless/CONTRIBUTING.md

1.9 KiB

Contributing

Thanks for contributing to Deckless.

Project scope

Deckless exists to improve the real desktop Linux Steam experience without forking or replacing the official Steam package.

Changes are a good fit when they:

  • keep the official Steam client as the source of truth
  • stay auditable and small
  • solve real Linux desktop friction around Steam, Big Picture, controllers, graphics, audio, or proxy policy
  • improve installation, rollback, and documentation

Changes are a poor fit when they:

  • require patching /usr/bin/steam
  • permanently rewrite Steam runtime files at rest
  • add large background services for problems that can be solved with small scripts

Development setup

Required local tools:

  • bash
  • jq
  • shellcheck

Optional for runtime testing:

  • steam
  • gamescope
  • gamemode
  • i3

Before opening a pull request

Run:

bash -n install.sh uninstall.sh bin/deckless-steam bin/deckless-bigpicture bin/deckless-i3-bigpicture-bridge
shellcheck install.sh uninstall.sh bin/deckless-steam bin/deckless-bigpicture bin/deckless-i3-bigpicture-bridge

If your change affects runtime behavior, include a short note about how you tested it.

Pull request guidelines

  • Keep pull requests focused.
  • Explain the user problem first, then the implementation.
  • Mention rollback or compatibility impact when you change install behavior.
  • Update documentation when you add or rename config variables.
  • Add a changelog entry only when preparing a tagged release.

Issues

Please use the issue templates when possible:

  • bug reports for regressions or environment-specific failures
  • feature requests for new workflows or platform support

Code style

  • Prefer POSIX-adjacent shell where practical, but Bash is allowed.
  • Keep comments short and only where the behavior is not obvious.
  • Favor straightforward scripts over clever compactness.