Make sure you have read the FAQ
Thank you for wanting to contribute to making QtPass awesome.
- Sign your commits - All commits must be signed with GPG using
git commit -S -m "description". - Ensure install or build dependencies and artifacts are not committed.
- When adding big new features or changes to the build tool, update the README.md to reflect those.
- Make sure you update all the CI configs if needed. These run on every Pull Request.
- Increase the version numbers in relevant files when applicable. The versioning scheme we use is PrideVer.
- You may merge the Pull Request once you have the sign-off of one other developer, or if you do not have permission to do that, you may request a reviewer to merge it for you.
QtPass uses Weblate for translations.
To add a new language:
- Add your language code to
src/src.prounder TRANSLATIONS - If you have an existing build, run
make distcleanfirst (prevents stale generated files likeui_*.hfrom being included) - Determine which qmake command your Qt 6 installation provides: run
qmake6 -v(orqmake -vifqmake6is unavailable) and confirm it shows Qt version 6.2 or newer. - Run that same command (
qmake6orqmake) to prepare the build files. - Run
lupdate src/src.proto generate/update the translation.tsfiles - Edit the
.tsfile with Qt Linguist:linguist localization/qtpass_xx_YY.ts
Qt Linguist has helpful in-context translation options.
This repository contains a symlink (.claude -> .opencode). Windows developers need to enable symlink support:
Option 1: Enable Developer Mode on Windows 10+ (recommended)
- Go to Settings > Update & Security > For developers
- Enable "Developer Mode"
Option 2: Configure Git to use symlinks
git config core.symlinks trueSet this before cloning the repository.
Warning: Without symlink support enabled, .claude will be checked out as a regular text file containing the path ".opencode" instead of a proper symlink.
Troubleshooting: After cloning:
- Run
ls -l .claude(Git Bash) ordir .claude(CMD) to verify it shows as a symlink, not a regular file. - If it appears as a regular file, set
core.symlinks=truein your Git config, then re-checkout the file or re-clone the repository to restore the proper symlink.
- Open an issue for bugs or feature requests
- Email help@qtpass.org for general questions
QtPass is released under the GNU GPL v3.0 license. https://www.gnu.org/licenses/gpl-3.0.html