Skip to content

Contributing

krwg edited this page Jul 8, 2026 · 1 revision

Contributing

Thank you for considering a contribution to Cultiva.


Ways to help

Type Where
Bug reports cultiva/issues
Plugin bugs cultiva-plugins/issues
Feature ideas Open a discussion or issue with label enhancement
Code PRs Fork → branch → PR against main
Plugins Publish via cultiva-plugins
Docs / Wiki PR to repo docs or wiki pages

Before you code

  1. Read CODE_OF_CONDUCT.md.
  2. Check existing issues — avoid duplicate work.
  3. For large changes, open an issue first to align on approach.

Development setup

git clone https://github.com/krwg/cultiva.git
cd cultiva
npm ci
npm run build
npx electron .

Requirements: Node 20+, Windows (primary dev target).

See Desktop Build for packaging.


Code style

  • Match surrounding code — vanilla ES modules, minimal dependencies.
  • No drive-by refactors in unrelated files.
  • Run tests if touching core: npm test.
  • Plugin changes: update sha256 in registry via scripts/compute-registry-sha256.mjs.

Commit messages

Use clear, imperative subjects:

fix(plugins): destroy sandboxes when master toggle off
docs(wiki): add plugin troubleshooting section

Reference issues: Fixes #58.


Security

Do not open public issues for vulnerabilities. See SECURITY.md for private disclosure.


License

By contributing to Cultiva, you agree that your contributions will be licensed under GPL-3.0.

Plugin registry contributions are MIT (cultiva-plugins repo).

Clone this wiki locally