doiksub
Home Install Plugins Contributing GitHub ↗

Contributing

doiksub is a community project. contributions of all kinds are welcome — plugins, fixes, docs, whatever.

AI Policy

⚠️

contributions must be majority human-written. inline AI suggestions are fine, but fully vibecoded submissions aren't welcome. don't use AI to write your PR description or README either — doing so will result in a permanent block.

Pull Requests

PRs can target either main or dev. unless you know what you're doing, stick to main — the dev branch gets force-pushed occasionally and will cause merge conflicts.

before working on anything large, open a feature request first (check "I am willing to work on this myself"). this saves everyone time if the feature ends up being too niche or gets rejected.

new to git? here's a guide.

Writing Plugins

plugins are the main contribution path. scaffold one with:

pnpm new-plugin myPluginName

this drops a new folder at src/plugins/myPluginName/ with a starter index.ts. check the existing plugins in that folder for reference.

📖

Vencord's developer docs cover the plugin API in depth. doiksub follows the same conventions.

Before starting a plugin

  • make sure the plugin would be useful to a large chunk of users — niche stuff doesn't get merged
  • check open PRs to see if someone's already working on the same idea
  • read the plugin rules below

Plugin Rules

the following plugin types are not accepted:

  • simple slash commands like /cat — make a user installable bot instead
  • simple text replacers — the built-in TextReplace plugin already does this
  • raw DOM manipulation — use proper patches and React
  • FakeDeafen, FakeMute, StereoMic
  • plugins that only hide or redesign UI — CSS does that
  • plugins that interact with specific Discord bots (official apps like WatchTogether are fine)
  • selfbots or API spam (animated status, message pruner, auto reply, nitro snipers, etc.)
  • untrusted third-party APIs — popular services like Google or GitHub are fine, self-hosted is not
  • plugins that require the user to enter their own API key
  • unnecessary new dependencies

Other Ways to Help

  • Bug fixes & typos — just open a PR, no issue needed
  • docs — if something here is wrong, fix it
  • Discord support — help people out in the support channels

all contributions should follow the Code of Conduct.