deckless/CONTRIBUTING.md

67 lines
1.9 KiB
Markdown

# 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
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.