- Rust & Cargo (stable;
rust-toolchain.tomlpicks it up) - Linux only: Vulkan,
libxkbcommon, X11/Wayland dev packages.shell.nixhas the full list (nix-shell).
- Clone the repository
- Run
cargo build --release - The binary will be in
./target/release/scope
- Clone the repository
- Run
cargo runcargo watch -- cargo runfrom cargo-watch is handy, but optionalSCOPE_DEMO=1 cargo runruns againstscope-backend-demo: an offline backend with sample servers, history, sends, and a background task that posts messages, flips presence and bumps unread badges — useful for UI work
On first launch Scope shows a login screen where you paste a Discord token. For now use a bot token (create an application in the Developer Portal, add a bot, enable the Presence, Server Members and Message Content intents, invite it to a test server). User-account tokens work through the unofficial client path and are behind a toggle on the login screen.
To skip the screen, put the token in a .env file (or the environment):
DISCORD_BOT_TOKEN— a bot token, orDISCORD_TOKEN+DISCORD_TOKEN_KIND=bot|user
See .env.example.
- UI: gpui + gpui-component
- Backends plug into the
Backendtrait (src/ui/src/backend.rs); the chat traits live insrc/chat - Discord: a fork of serenity with user-account support (
src/discord) - Demo:
src/demo— offline sample backend - Design tokens live in
src/ui/src/theme/tokens.rs, exported from the Figma file
- Emoji graphics: Twemoji (jdecked fork, v17.0.3), licensed CC-BY 4.0.
- UI typeface: Inter v4.1, licensed under the SIL Open Font License 1.1.

