MCPcopy Index your code
hub / github.com/Vencord/Vesktop

github.com/Vencord/Vesktop @v1.6.5

repository ↗ · DeepWiki ↗ · release v1.6.5 ↗ · + Follow
206 symbols 586 edges 96 files 6 documented · 3%
README

Vesktop

Vesktop is a custom Discord desktop app

Main features: - Vencord preinstalled - Much more lightweight and faster than the official Discord app - Linux Screenshare with sound & wayland - Much better privacy, since Discord has no access to your system

Not yet supported: - Global Keybinds - see the Roadmap

Installing

Visit https://vesktop.dev/install

Building from Source

You need to have the following dependencies installed: - Git - Node.js - pnpm: npm install --global pnpm

Packaging will create builds in the dist/ folder

git clone https://github.com/Vencord/Vesktop
cd Vesktop

# Install Dependencies
pnpm i

# Either run it without packaging
pnpm start

# Or package (will build packages for your OS)
pnpm package

# Or only build the Linux Pacman package
pnpm package --linux pacman

# Or package to a directory only
pnpm package:dir

Building LibVesktop from Source

This is a small C++ helper library Vesktop uses on Linux to emit D-Bus events. By default, prebuilt binaries for x64 and arm64 are used.

If you want to build it from source: 1. Install build dependencies: - Debian/Ubuntu: apt install build-essential python3 curl pkg-config libglib2.0-dev - Fedora: dnf install @c-development @development-tools python3 curl pkgconf-pkg-config glib2-devel 2. Run pnpm buildLibVesktop 3. From now on, building Vesktop will use your own build

Extension points exported contracts — how you extend this code

TState (Interface)
(no doc)
src/renderer/settings.ts
AutoStart (Interface)
(no doc)
src/main/autoStart.ts
Settings (Interface)
(no doc)
src/shared/settings.d.ts
AudioItem (Interface)
(no doc)
src/renderer/components/ScreenSharePicker.tsx
Data (Interface)
(no doc)
src/main/firstLaunch.ts
State (Interface)
(no doc)
src/shared/settings.d.ts
StreamSettings (Interface)
(no doc)
src/renderer/components/ScreenSharePicker.tsx
IpcMessage (Interface)
(no doc)
src/main/ipcCommands.ts

Core symbols most depended-on inside this repo

invoke
called by 30
src/preload/typedIpc.ts
handle
called by 26
src/main/utils/ipcWrappers.ts
get
called by 16
src/shared/utils/SettingsStore.ts
cb
called by 15
src/renderer/patches/spellCheck.tsx
addPatch
called by 12
src/renderer/patches/shared.ts
handleSync
called by 11
src/main/utils/ipcWrappers.ts
set
called by 9
src/shared/utils/SettingsStore.ts
sendSync
called by 7
src/preload/typedIpc.ts

Shape

Function 163
Interface 20
Method 16
Enum 5
Class 2

Languages

TypeScript100%

Modules by API surface

src/renderer/components/ScreenSharePicker.tsx21 symbols
src/main/mainWindow.ts21 symbols
src/shared/utils/SettingsStore.ts13 symbols
src/main/autoStart.ts9 symbols
src/main/utils/vencordLoader.ts7 symbols
src/main/utils/steamOS.ts7 symbols
src/renderer/themedSplash.ts6 symbols
src/preload/VesktopNative.ts5 symbols
src/main/utils/popout.ts5 symbols
src/main/arrpc/types.ts5 symbols
src/renderer/settings.ts4 symbols
src/renderer/components/settings/UserAssets.tsx4 symbols

Dependencies from manifests, versioned

@fal-works/esbuild-plugin-global-externals2.1.2 · 1×
@stylistic/eslint-plugin5.8.0 · 1×
@types/node25.2.3 · 1×
@types/react19.2.9 · 1×
@vencord/types1.14.1 · 1×
arrpcgithub:OpenAsar/arrp · 1×
dotenv17.2.4 · 1×
electron40.4.0 · 1×
electron-builder26.7.0 · 1×
electron-updater6.6.2 · 1×
esbuild0.27.3 · 1×
eslint10.0.0 · 1×

For agents

$ claude mcp add Vesktop \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact