Skip to content

hijak/patchcord-desktop

Repository files navigation

🚀 Patchcord Desktop

A modern, developer-focused IRC client built with Next.js and Tauri

License Platform Build Status

✨ Features

  • 🛡️ Secure Storage - Passwords stored in system keychain (Keyring/Credentials Manager)
  • 📡 IRCv3 Support - Modern capabilities (message-tags, server-time, batch, invite-notify, echo-message)
  • 🎨 Beautiful UI - Clean, modern interface with dark/light themes
  • Fast & Lightweight - Built on Next.js with native desktop performance via Tauri
  • 🔔 Smart Notifications - Tab flash and desktop notifications for mentions
  • 🎯 Developer Focused - Keyboard shortcuts, raw IRC logging, and command palette
  • 🌈 Customizable Themes - 20+ terminal-inspired color themes
  • 📱 Responsive Design - Works on desktop and mobile browsers
  • 🔌 Native Desktop App - Cross-platform desktop builds for Windows, macOS, and Linux
  • 📜 Message History - Persistent log history across sessions
  • 👥 User List - Real-time channel member tracking with status indicators
  • 🔍 Search - Quick channel and message search functionality

📦 Installation

Desktop Application

Download the latest release for your platform from the Releases page:

Platform Package
Windows .msi or .exe
macOS .dmg or .app
Linux .deb, .rpm, or .AppImage

From Source

# Clone the repository
git clone https://github.com/hijak/patchcord-desktop.git
cd patchcord-desktop

# Install dependencies
pnpm install

# Run in development mode
pnpm dev

# Build for production
pnpm build

# Build and run desktop app
pnpm tauri:dev    # Development
pnpm tauri:build  # Production build

Prerequisites

🎹 Keyboard Shortcuts

Shortcut Action
Ctrl+B Toggle sidebar
Alt+U Toggle user list
Ctrl+F Open search
Ctrl+, Open settings
Escape Close modals/panels

🎨 Available Themes

Patchcord includes 20+ terminal-inspired color themes:

  • Classic Terminal: Monokai, Dracula, Nord, Gruvbox, One Dark
  • Light Themes: GitHub Light, Solarized Light
  • Dark Themes: GitHub Dark, Tokyo Night, Catppuccin, Everforest
  • Retro: Amber, Green, CGA, IBM PC

Configure your theme in Settings → Appearance.

📁 Project Structure

frontend/
├── app/                    # Next.js app directory
│   ├── globals.css        # Global styles
│   ├── layout.tsx         # Root layout
│   └── page.tsx           # Main page
├── components/            # React components
│   ├── irc/              # IRC-specific components
│   │   ├── irc-client.tsx
│   │   ├── server-sidebar.tsx
│   │   ├── channel-header.tsx
│   │   ├── message-area.tsx
│   │   ├── message-input.tsx
│   │   └── user-list.tsx
│   ├── ui/               # Reusable UI components
│   └── theme-provider.tsx
├── lib/                  # Utilities and stores
│   ├── store.ts          # Zustand state management
│   ├── irc-native.ts     # Native IRC bridge
│   └── themes.ts         # Color themes
├── hooks/                # Custom React hooks
├── src-tauri/            # Tauri desktop app
│   ├── src/
│   │   └── main.rs
│   ├── icons/
│   └── Cargo.toml
└── public/               # Static assets

🛠️ Technology Stack

📖 Documentation

Full documentation is available at patchcord.github.io

🤝 Contributing

Contributions are welcome! Please read our Contributing Guide first.

# Fork the repository
# Create a feature branch
git checkout -b feature/amazing-feature

# Commit your changes
git commit -m 'Add amazing feature'

# Push to the branch
git push origin feature/amazing-feature

# Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • shadcn/ui for the beautiful UI components
  • Tauri for the amazing desktop framework
  • Next.js team for the excellent framework
  • All IRC protocol contributors and RFC authors

📞 Support


Built with ❤️ for the IRC community

About

Patchcord: Another IRC Client

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors