Richcord API - v1.0.1
    Preparing search index...

    Richcord API - v1.0.1

    Richcord

    Richcord

    A customizable Discord Rich Presence application powered by a custom cross-platform IPC core.

    License: MIT Documentation npm version


    Richcord is a customizable Discord Rich Presence application that provides fine-grained control over your Discord activity without unnecessarily complicating the user experience.

    Richcord uses a custom, platform-agnostic IPC implementation to communicate directly with the Discord desktop client.

    • 🔌 Cross-platform Discord IPC
    • 🎮 Rich Presence activity configuration
    • 🔄 Automatic reconnection
    • 💾 Persistent configuration
    • 🖥️ Interactive CLI
    • 🔍 GitHub-based update checking
    • 🧩 Reusable Core API
    • 📦 npm package
    • 🖥️ Standalone Linux and Windows executables

    Richcord can be installed either through npm or by downloading a standalone executable from the GitHub Releases.

    • Discord Desktop
    • Node.js 20 or newer — only required when installing through npm
    Important

    Discord Desktop must be installed and running for Richcord to communicate with Discord.

    The npm package provides both the Richcord Core API and the Richcord CLI.

    npm install -g richcord
    

    Verify the installation:

    richcord --version
    

    You can then use Richcord directly from your terminal:

    richcord --help
    

    If you are building an application on top of Richcord Core:

    npm install richcord
    

    Then import the Core API:

    import { RichcordClient } from "richcord";
    

    Richcord is an ES modules only package.

    Download the latest richcord.exe from the GitHub Releases.

    The executable is self-contained and does not require Node.js to be installed.

    You can place the executable somewhere on your system and add its directory to your PATH to use the richcord command globally.

    Verify the installation:

    richcord --version
    

    Download the latest richcord-linux-x64 executable from the GitHub Releases.

    The executable is self-contained and does not require Node.js to be installed.

    Make it executable:

    chmod +x richcord-linux-x64
    

    You can then run it directly:

    ./richcord-linux-x64 --version
    

    To use the richcord command globally, place or symlink the executable into a directory included in your PATH.

    For example:

    sudo install richcord-linux-x64 /usr/local/bin/richcord
    

    Then:

    richcord --version
    

    The following examples assume that Richcord is available as the richcord command through either the npm installation or a standalone executable.

    Create an application through the Discord Developer Portal and copy its Application ID / Client ID.

    Then run:

    richcord config
    
    richcord set
    

    This interactively configures your activity, including:

    • Activity type
    • Details and state
    • Timestamps
    • Images/assets
    • Buttons
    • Other Rich Presence properties
    richcord start
    
    richcord status
    
    richcord stop
    

    To clear the currently active Rich Presence without deleting your saved configuration:

    richcord clear
    
    Tip

    Run richcord --help at any time to see all available commands.


    Command Description
    richcord Display basic information
    richcord help Display available commands
    richcord version Display the installed version
    richcord config Configure Richcord
    richcord set Configure Rich Presence
    richcord start Start Rich Presence
    richcord stop Stop the running instance
    richcord clear Clear the active Rich Presence
    richcord reset Reset saved configuration
    richcord status Show current status
    richcord update Check for a newer release

    Global options:

    -h, --help       Show help
    -V, --version    Show version
    

    Richcord consists of two primary layers:

    ┌───────────────────────┐
    │          CLI          │
    │   User-facing app     │
    └───────────┬───────────┘
                │
                ▼
    ┌───────────────────────┐
    │         Core          │
    │   Public API + IPC    │
    └───────────┬───────────┘
                │
                ▼
    ┌───────────────────────┐
    │   Discord Desktop     │
    │      IPC Client       │
    └───────────────────────┘
    

    The Core handles Discord IPC, transports, handshaking, serialization, validation, connection management, and the public API.

    The CLI consumes the Core's public API and contains no Discord IPC implementation.

    The Core is frontend-independent and can be consumed by other applications through the npm package.


    Clone the repository:

    git clone https://github.com/SpoiledUnknown/Richcord.git
    cd Richcord

    Install dependencies:

    npm install
    

    Build the project:

    npm run build
    

    Check the project:

    npm run check
    

    Run the CLI during development:

    npm run dev
    

    Generate API documentation:

    npm run build:docs
    

    The project is written in TypeScript and consists of a reusable Core and a CLI frontend. The CLI consumes the Core's public API rather than implementing Discord IPC itself.

    Important

    Discord IPC, transports, handshaking, serialization, and other low-level RPC functionality belong to the Core and should not be implemented directly in the CLI.


    For complete API documentation:

    📖 Read the Richcord Documentation

    For downloads and previous releases:

    📦 View GitHub Releases

    For the published npm package:

    📦 View Richcord on npm


    Richcord is licensed under the MIT License.