MCPcopy
hub / github.com/thelounge/thelounge

github.com/thelounge/thelounge @v4.5.1 sqlite

repository ↗ · DeepWiki ↗ · release v4.5.1 ↗
660 symbols 2,043 edges 245 files 13 documented · 2%
README

The Lounge

Modern web IRC client designed for self-hosting

<strong>
    <a href="https://thelounge.chat/">Website</a>
    •
    <a href="https://thelounge.chat/docs">Docs</a>
    •
    <a href="https://demo.thelounge.chat/">Demo</a>
•
    <a href="https://github.com/thelounge/thelounge-docker">Docker</a>
</strong>






<a href="https://demo.thelounge.chat/"><img
    alt="#thelounge IRC channel on Libera.Chat"
    src="https://img.shields.io/badge/Libera.Chat-%23thelounge-415364.svg?colorA=ff9e18"></a>
<a href="https://yarn.pm/thelounge"><img
    alt="npm version"
    src="https://img.shields.io/npm/v/thelounge.svg?colorA=333a41&maxAge=3600"></a>
<a href="https://github.com/thelounge/thelounge/actions"><img
    alt="Build Status"
    src="https://github.com/thelounge/thelounge/actions/workflows/build.yml/badge.svg"></a>







<img src="https://raw.githubusercontent.com/thelounge/thelounge.github.io/master/img/thelounge-screenshot.png" width="550">

Overview

  • Modern features brought to IRC. Push notifications, link previews, new message markers, and more bring IRC to the 21st century.
  • Always connected. Remains connected to IRC servers while you are offline.
  • Cross platform. It doesn't matter what OS you use, it just works wherever Node.js runs.
  • Responsive interface. The client works smoothly on every desktop, smartphone and tablet.
  • Synchronized experience. Always resume where you left off no matter what device.

To learn more about configuration, usage and features of The Lounge, take a look at the website.

The Lounge is the official and community-managed fork of Shout, by Mattias Erming.

Installation and usage

The Lounge requires latest Node.js LTS version or more recent. The Yarn package manager is also recommended. If you want to install with npm, --unsafe-perm is required for a correct install.

Running stable releases

Please refer to the install and upgrade documentation on our website for all available installation methods.

Running from source

The following commands install and run the development version of The Lounge:

git clone https://github.com/thelounge/thelounge.git
cd thelounge
yarn install
NODE_ENV=production yarn build
yarn start

When installed like this, thelounge executable is not created. Use node index <command> to run commands.

⚠️ While it is the most recent codebase, this is not production-ready! Run at your own risk. It is also not recommended to run this as root.

Development setup

Simply follow the instructions to run The Lounge from source above, on your own fork.

Before submitting any change, make sure to:

  • Read the Contributing instructions
  • Run yarn test to execute linters and the test suite
  • Run yarn format:prettier if linting fails
  • Run yarn build:client if you change or add anything in client/js or client/components
  • The built files will be output to public/ by webpack
  • Run yarn build:server if you change anything in server/
  • The built files will be output to dist/ by tsc
  • yarn dev can be used to start The Lounge with hot module reloading

To ensure that you don't commit files that fail the linting, you can install a pre-commit git hook. Execute yarn githooks-install to do so.

Extension points exported contracts — how you extend this code

MessageStorage (Interface)
(no doc) [3 implementers]
server/plugins/messageStorage/types.d.ts
Window (Interface)
(no doc)
client/js/socket.ts
ServerToClientEvents (Interface)
(no doc)
shared/types/socket-events.d.ts
MessageEventArgs (Interface)
(no doc)
server/types/modules/irc-framework.d.ts
SearchableMessageStorage (Interface)
(no doc) [1 implementers]
server/plugins/messageStorage/types.d.ts
LoungeWindow (Interface)
(no doc)
client/js/types.d.ts
ClientToServerEvents (Interface)
(no doc)
shared/types/socket-events.d.ts
JoinEventArgs (Interface)
(no doc)
server/types/modules/irc-framework.d.ts

Core symbols most depended-on inside this repo

on
called by 184
client/js/eventbus.ts
error
called by 114
server/models/network.ts
push
called by 107
server/plugins/webpush.ts
pushMessage
called by 73
server/models/chan.ts
get
called by 71
server/models/user.ts
emit
called by 68
server/client.ts
forEach
called by 67
server/models/prefix.ts
emit
called by 37
client/js/eventbus.ts

Shape

Function 354
Method 218
Class 52
Interface 31
Enum 5

Languages

TypeScript100%

Modules by API surface

scripts/changelog.js55 symbols
client/js/store.ts33 symbols
server/client.ts31 symbols
server/plugins/messageStorage/sqlite.ts27 symbols
server/types/modules/irc-framework.d.ts26 symbols
server/models/network.ts22 symbols
client/js/upload.ts19 symbols
server/server.ts18 symbols
server/models/chan.ts18 symbols
server/config.ts16 symbols
server/clientManager.ts14 symbols
server/plugins/packages/index.ts13 symbols

Dependencies from manifests, versioned

@fastify/busboy1.0.0 · 1×
@fortawesome/fontawesome-free5.15.4 · 1×
@textcomplete/core0.1.10 · 1×
@textcomplete/textarea0.1.10 · 1×
@types/bcryptjs2.4.6 · 1×
@types/cheerio0.22.35 · 1×
@types/content-disposition0.5.8 · 1×
@types/express4.17.21 · 1×
@types/ldapjs2.2.5 · 1×
@types/linkify-it3.0.5 · 1×
@types/lodash4.14.202 · 1×
@types/mime-types2.1.4 · 1×

For agents

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

⬇ download graph artifact