MCPcopy
hub / github.com/debiki/talkyard

github.com/debiki/talkyard @tyse-v1.2026.003-f220a7d9f-regular sqlite

repository ↗ · DeepWiki ↗ · release tyse-v1.2026.003-f220a7d9f-regular ↗
4,509 symbols 11,661 edges 639 files 359 documented · 8%
README

Talkyard

Forum software, with chat, and anonymous comments.

  • Thoughtful discussions.  Insightful comments rise to the top.
  • Upvote ideas.  Sort by votes.
  • Question-Answers.  Discuss, select an answer.
  • Chat channels.  Pretty basic features.
  • Blog comments.  Listen to your readers.

How does it compare with other software?   Find out here.
Self-Hosting:  See talkyard-prod-one
Demo:  https://insightful.demo.talkyard.io
Discussion forum:  https://forum.talkyard.io
Documentation:  https://docs.talkyard.io (incomplete)
Development:  That's this repo! See: docs/developing-talkyard.md

Features

Good comments rise to the top

Find the interesting stuff, also in big discussions.

Tags with values

Create your own tags with values, list and sort by value.

For example, a priority tag: tags:priority:desc>2 is:open, here: https://forum.talkyard.io/-/search?q=tags:priority:desc%3E2+is:open

Upvote ideas

Anonymous comments

So e.g. students can post embarassing questions. Or for anonymous feedback, etc.

Chat

Notifications via email, as of now.

A chat channel

Users online

ed-online-users

Avoid mistakes

There's a Disagree button.

Big discussions

Find new replies by clicking Recent in the sidebar, when you return to a discussion a day later.

Jump to the parent comment and back:

https://github.com/user-attachments/assets/fc1b34d7-75e3-4baf-95e1-8de364cdfdf2

Topic list

Topics list

Blog comments

Like Disqus — but no ads, no tracking. Configure in the Admin Area | Settings | Embedded Comments. Read more here: https://blog-comments.talkyard.io

Old Code

Old code from before January 2015 is available here: https://github.com/debiki/debiki-server-old. That repo, squashed, is in this repo.

License

Copyright (c) 2010-2026 Kaj Magnus Lindberg and contributors.

Talkyard is licensed under AGPLv3 or later, see LICENSE.txt.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above-mentioned licence texts for more details.

Extension points exported contracts — how you extend this code

FragAction (Interface)
* The URL #hash-fragment can tell us to do different things. Examples: * * #post-123: We'll scroll to post 123. * *
client/app-slim/model.ts
FragAction (Interface)
* The URL #hash-fragment can tell us to do different things. Examples: * * #post-123: We'll scroll to post 123. * *
client/serviceworker/model.ts
FragAction (Interface)
* The URL #hash-fragment can tell us to do different things. Examples: * * #post-123: We'll scroll to post 123. * *
client/server/model.ts
DisqusCategory (Interface)
* Categories are for "advanced" bloggers who split their blog comments in * different blog topic categories? Skip for n
to-talkyard/src/from-disqus-to-ty.ts
WindowWithTalkyardProps (Interface)
(no doc)
client/embedded-comments/blog-comments.ts
SiteTableRowState (Interface)
(no doc)
client/app-staff/superadmin/superadmin-app.staff.ts
PatTopPanelState (Interface)
(no doc)
client/app-more/users/users-page.more.ts
EditorState (Interface)
(no doc)
client/app-editor/editor/editor.editor.ts

Core symbols most depended-on inside this repo

go2
called by 544
tests/e2e-wdio7/utils/ty-e2e-test-browser.ts
waitAndClick
called by 443
tests/e2e-wdio7/utils/ty-e2e-test-browser.ts
logMessage
called by 349
tests/e2e-wdio7/utils/log-and-die.ts
waitAndClick
called by 337
tests/e2e/utils/pages-for.ts
go
called by 315
tests/e2e/utils/pages-for.ts
dieIf
called by 259
tests/e2e-wdio7/utils/log-and-die.ts
dieIf
called by 244
client/app-slim/prelude.ts
refresh2
called by 239
tests/e2e-wdio7/utils/ty-e2e-test-browser.ts

Shape

Function 2,876
Interface 1,094
Method 395
Enum 128
Class 16

Languages

TypeScript100%

Modules by API surface

client/third-party/lodash-custom.js297 symbols
client/serviceworker/model.ts258 symbols
client/server/model.ts258 symbols
client/app-slim/model.ts258 symbols
tests/e2e-wdio7/utils/ty-e2e-test-browser.ts222 symbols
client/app-slim/Server.ts205 symbols
tests/e2e/utils/pages-for.ts186 symbols
client/server/oop-methods.ts131 symbols
client/app-slim/oop-methods.ts131 symbols
client/app-slim/ReactActions.ts92 symbols
client/server/prelude.ts83 symbols
client/app-slim/prelude.ts83 symbols

Dependencies from manifests, versioned

@types/assert1.5.6 · 1×
@types/async2.0.45 · 1×
@types/core-js2.5.5 · 1×
@types/keymaster1.6.28 · 1×
@types/lodash4.14.194 · 1×
@types/lusca1.7.1 · 1×
@types/markdown-it12.2.3 · 1×
@types/minimist1.2.2 · 1×
@types/node16.7.4 · 1×
@types/react=16.8.2 · 1×
@types/react-dom=16.8.0 · 1×
@types/sax1.2.3 · 1×

Datastores touched

database_nameDatabase · 1 repos

For agents

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

⬇ download graph artifact