Pull requests
Wicker Money is pre-1.0 with a single maintainer, so a few honest expectations up front: review may be slow, some ideas get a "not now," and things may change under you.
What's actually being accepted right now
Issues and suggestions, yes. Feature pull requests, not yet. The plugin
contract isn't frozen and third-party plugin install isn't supported, so most
outside feature code would need reworking once the contract settles. Typo
fixes, docs corrections and small, focused bug fixes are welcome as PRs today.
This changes once the plugin contract is stable and versioned
(SDK_MAJOR_VERSION freezing ahead of 1.0 is on the
roadmap).
Open an issue before working on anything larger than a small fix — it saves both sides a PR that doesn't end up fitting. For vulnerabilities, don't open a public issue; use the security reporting process instead.
Before you submit
- Keep the PR small and focused on one change.
- Add or update tests for behavior changes. Anything touching data isolation
runs against a real PostgreSQL (
pnpm test:integration), not a mock. pnpm lint,pnpm typecheckandpnpm testmust pass.- No unrelated reformatting mixed into a functional change.
- Update docs if behavior changes — including this site, if it's a self-hosting or contributing change.
- Use Conventional Commits for commit subjects.
Sign your commits (DCO)
This project uses the Developer Certificate of Origin instead of a CLA:
git commit -s
That adds a Signed-off-by: Your Name <you@example.com> trailer — a
statement that you wrote the change or otherwise have the right to submit it
under the project's license. It's not a copyright transfer and doesn't grant
relicensing rights over your contribution. Missing a sign-off on an existing
commit: git commit --amend -s (or git rebase --signoff for several),
then push.
Licensing (inbound = outbound)
A contribution is licensed under the license of the component it changes:
plugin-sdkorui-kit→ Apache-2.0- The app or a bundled plugin → AGPL-3.0-only
See Architecture → Licensing boundary for why the split exists.
Code of Conduct
Participation is governed by the project's Code of Conduct, linked from the repo.