MCPcopy Index your code
hub / github.com/Southclaws/storyden

github.com/Southclaws/storyden @v1.26.12

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.26.12 ↗ · + Follow
31,198 symbols 88,525 edges 3,394 files 20,176 documented · 65% updated 2d agov1.26.13 · 2026-07-06★ 31559 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

a modern community platform

<a href="https://storyden.org/docs"

Documentation | <a href="https://makeroom.club" Friends

With a fresh new take on traditional bulletin board web forum software, Storyden is a modern, secure and extensible platform for building communities.

Storyden

Storyden is the platform for managing community and content, wherever they call home. Run a forum, a blog, post news, curate cool sites, build a directory, a knowledgebase and more. Learn more here.

If you'd like to help with some research, please fill in this tiny (anonymous) form: https://airtable.com/shrLY0jDp9CuXPB2X

You can try it right now! Run the image and open http://localhost:8000 in your browser:

docker run -p 8000:8000 ghcr.io/southclaws/storyden

A screenshot of a Storyden instance

Releases and versions

Storyden releases tagged versions using a simple version number which applies to the product as a whole not the API surface. For this reason, we do not use "semantic versioning" and breaking API changes are avoided as much as possible. Sometimes breaking changes may occur but these will always be documented and called out in release notes as well as in a separate list of just breaking changes.

  v1.25.8
   │ │  │
   │ │  └── Release: increments for every release in the year.
   │ └───── Year: releases happen frequently so we use a year marker for simplicity
   └─────── Major: will always be 1

This format was chosen for compatibility with package/app registries and developer expectations, but it does not follow semantic versioning, it's more of a "build number" similar to how video games are versioned.

Outside of a release commit/image, version numbers inside files and the API will be suffixed with -post to indicate you're off a stable release.

What can it do

https://www.storyden.org/docs/introduction/what-is-storyden

Storyden is a modern forum, wiki and community hub. Like the internet forums of the past, but with a fresh coat of paint and modern security, deployment and intelligence features. A discussion forum, a Notion workspace and your own Reddit platform all rolled into one. Your community can use it for discussion, sharing links or building a directory of knowledge or structured data.

It's open source, super easy to self host and an homage to the 2000s internet!

Why

https://www.storyden.org/blog/building-running-administrating-modern-forum-software

The short version is: most forums are decades old, insecure, abandoned or just not pretty. Storyden aims to solve all of that with a modern language, simple deployment and beautiful design.

Contributing

See LOCAL_DEVELOPMENT.md for local development documenation.

Contributions are very very welcome! ❤️ Until we get a proper guide set up, please open an issue if you have any questions!

Extension points exported contracts — how you extend this code

Slugged (Interface)
Has a unique ID [6 implementers]
app/resources/datagraph/indexable.go
EventPayloadUnion (Interface)
(no doc) [42 implementers]
lib/plugin/rpc/rpc.go
Sender (Interface)
(no doc) [11 implementers]
internal/infrastructure/mailer/mailer.go
CredentialStore (Interface)
(no doc) [6 implementers]
cmd/sd/internal/config/credentials.go
OAuthProvider (Interface)
(no doc) [6 implementers]
app/services/authentication/provider.go
Committer (Interface)
Committer is the interface that wraps the Commit method. [2 implementers]
internal/ent/tx.go
WithStatusCode (Interface)
(no doc) [1 implementers]
tests/util.go
Part (Interface)
(no doc)
home/src/styled-system/types/parts.d.ts

Core symbols most depended-on inside this repo

New
called by 3658
app/services/plugin/plugin_runner/supervised_runtime/runtime.go
Wrap
called by 2408
internal/infrastructure/instrumentation/spanner/factory.go
Equal
called by 1433
app/resources/mark/mark.go
AssertRequest
called by 795
tests/util.go
Ok
called by 775
tests/util.go
Query
called by 719
internal/ent/tx.go
Run
called by 715
internal/infrastructure/frontend/frontend.go
ID
called by 691
app/services/plugin/plugin_runner/runner.go

Shape

Method 17,214
Function 11,169
Struct 1,455
Interface 840
TypeAlias 224
FuncType 208
Class 88

Languages

Go86%
TypeScript13%
Python1%

Modules by API surface

internal/ent/mutation.go3,789 symbols
internal/ent/client.go951 symbols
internal/ent/account_update.go449 symbols
internal/ent/node/where.go257 symbols
internal/ent/post/where.go246 symbols
internal/ent/post_update.go243 symbols
internal/ent/event/where.go237 symbols
internal/ent/account_create.go234 symbols
internal/ent/node_create.go227 symbols
internal/ent/event_create.go227 symbols
internal/ent/post_create.go224 symbols
lib/plugin/rpc/rpc.go218 symbols

For agents

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

⬇ download graph artifact

Ask about this repo answers extend the page