doiksub
home install contributing github server

getting started

get doiksub installed and injected into ur discord in a few steps.

what u need first (go download these)

before u can even download the repo, u need these. click the links and grab em:

  • git - so u can clone the repo in the first place (and git pull when an update drops)
  • * do note, you can download the repo's zip without git by clicking the green "code" button on the github page, git just makes it easier
  • node.js - v22 or later, the lts installer is fine
  • pnpm - package manager. once node is in, just npm i -g pnpm
  • discord desktop (for the desktop install below)

nothing else, i promise. u also need a terminal, but u probably have one.

windows
  • stable

  • canary

  • ptb

or, winget. there's another official discord client called Discord Development (basically canary's canary). use winget to install it:

winget install -e --id Discord.Discord.Development

windows users: if u wanna skip the manual setup just check the windows bat file below.

windows - RunOnWindows.bat

the repo ships with a bat file that handles everything automatically. just double click it:

RunOnWindows.bat

it installs deps, builds doiksub and runs the installer. no need to have any installer binary before - if it's missing the script pulls vencord's public installer automatically.

manual install

  1. 1
    clone the repo
    git clone https://github.com/ghxstprey/doiksub.git
    cd doiksub
  2. 2
    install dependencies
    pnpm install --frozen-lockfile
  3. 3
    build and inject
    pnpm build && node scripts/runInstaller.mjs -- --install

    add -auto to skip the manual injection prompt. useful for when you only have one install.

    pnpm build && node scripts/runInstaller.mjs -- --install -auto

    don't worry about going off and building the installer yourself, the script just grabs vencord's public installer and uses it against our build.

  4. 4
    restart discord

    fully quit and relaunch discord. doiksub should be active. if it isnt, fuck it all.

build and inject (quick ref)

pnpm install --frozen-lockfile
pnpm build && node scripts/runInstaller.mjs -- --install

browser extension (web build)

no discord desktop? doiksub also builds as a browser extension for discord.com. it is not on any webstore - u build it yourself, which keeps it yours (and keeps me out of paying webstores lol).

quick note, if you don't want to build it yourself (or can't for whatever reason), i do provide the zips for firefox and chrome in the assets/releases on github. there's also a userscript, though read lower to see why extensions are better.

  1. 1
    build the web bundle
    pnpm buildWeb

    this drops a bunch of stuff in dist/, but the bits u care about are the unpacked extension folders (or the zips as well).

  2. 2
    chrome / edge / brave

    open chrome://extensions (the browsers will automatically convert chrome to whatever brand... probably), flip on developer mode (top right), hit load unpacked and pick:

    dist/chromium-unpacked

    firefox: open about:debugging#/runtime/this-firefox > load temporary add-on > dist/firefox-unpacked/manifest.json or dist/extension-firefox.zip. if you close firefox, you'll need to repeat this process. sorry. might be able to hack together a folder in firefox itself so it tricks to persisting, but i haven't tried. plus, updates would be nonexistent.

  3. 3
    open discord

    go to discord.com and the mod injects itself. works the same as the desktop. open normal discord settings, new category will be there.

about the webstore thing again: u load this as an unpacked extension every build. after a doiksub update, just pnpm buildWeb again and reload the extension in the extensions page. annoying, but easy.

if you want themes, you have to use the extension build. there's also a tampermonkey userscript at dist/Vencord.user.js if ur into that, but themes and quickcss are disabled on it.

scaffolding a new plugin

use the built in generator to scaffold a new plugin:

pnpm new-plugin myPluginName

this creates a new folder under src/plugins/myPluginName/ with a starter index.ts.

check the contributing page for plugin rules before u start.

repo structure (only the useful parts)

path whats in it
src/dist/ website extensions plus other stuffy stuff
src/plugins/ all plugins and feature packs
src/utils/constants.ts hosts stuff you'll need, also has dev ids, so add yourself here if you fork.
scripts/ build tools, installer, plugin generator
assets/ has releases, icons, badges, etc.