MCPcopy Index your code
hub / github.com/Nutomic/ibis

github.com/Nutomic/ibis @0.3.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.3.2 ↗ · + Follow
703 symbols 1,615 edges 135 files 20 documented · 3% updated 2mo ago0.3.3-beta.0 · 2026-06-03★ 30146 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

GitHub tag (latest SemVer) Build Status License

About Ibis

Ibis is a federated encyclopedia which uses the ActivityPub protocol, just like Mastodon or Lemmy. Users can create, browse, edit articles and use many other features. If you want to start a wiki for a TV series, a videogame, or an open source project then Ibis is for you! You can register on an existing instance or install it on your own server. Then you can start editing on the topic of your choice, and connect to other Ibis instances for different topics. Federation ensures that articles get mirrored across many servers, and can be read even if the original instance goes down. Ibis is fully open source to make future enshittification impossible.

Desktop (Light Theme) Mobile (Dark Theme)

Contributions are more than welcome, especially for the frontend.

Features

  • Federated via ActivityPub protocol
  • Fully functional wiki with article creation, reading, editing and edit history
  • Conflict handling in case of concurrent edits
  • Articles have discussion page with nested comments
  • Fully federated, all actions work locally as well as with remote Ibis instances
  • Simple installation, only a single binary or Docker image with Postgres database
  • Snappy editor with live preview and markdown support
  • Various markdown extensions like LaTeX, table of contents, footnotes, spoilers
  • Dark mode, so that you can write articles from the beach or from your basement
  • Explore page to discover interesting articles
  • Fast user interface with server-side rendering based on Webassembly
  • Notification system to get notified about new articles, edits and comment
  • OAuth and email support
  • Import articles from Wikipedia

Useful links

Community

Discuss with other Ibis users on Matrix or Lemmy:

Name

The Ibis is a bird which is related to the Egyptian god of knowledge and science.

Development

First install PostgreSQL and setup the development database:

psql -c "CREATE USER ibis WITH PASSWORD 'ibis' SUPERUSER;" -U postgres
psql -c "CREATE DATABASE ibis WITH OWNER ibis;" -U postgres

You need to install cargo, pnpm and cargo-leptos. Use pnpm install to get Javascript dependencies. You need to enable the wasm target for Rust using rustup target add wasm32-unknown-unknown. Then run cargo leptos watch which automatically rebuilds the project after changes. Open the site at localhost:3000. You can login with user ibis and password ibis.

The IP and port where the server serves the content can be changed with the env var LEPTOS_SITE_ADDR. Defaults to 127.0.0.1:3000.

Donate

Developing a project like this takes a significant amount of work. You can help funding it with donations:

  • Liberapay
  • Bitcoin: bc1q6mqlqc84q2h55jkkjvex4kc6h9h534rj87rv2l
  • Monero: 84xnACZv82UNTEGNkttLTH8sCeV9Cdr8dHMJSNP6V2hEJW7C17S9xQTUCghwG8TePrRD9wfiPRWcwYvSTHUNoyJ4AXnQYLD

License

AGPL

Extension points exported contracts — how you extend this code

FrontendResultExt (Interface)
(no doc) [1 implementers]
crates/api_client/src/errors.rs

Core symbols most depended-on inside this repo

into
called by 157
crates/database/src/utils.rs
get
called by 146
crates/api_client/src/errors.rs
to_string
called by 124
crates/frontend_components/src/oauth_login_button.rs
set
called by 47
crates/api_client/src/errors.rs
inner
called by 43
crates/database/src/lib.rs
add
called by 25
crates/markdown/src/external_link.rs
get_article
called by 23
crates/api_client/src/article.rs
get_article_edits
called by 22
crates/api_client/src/article.rs

Shape

Method 311
Function 215
Class 164
Enum 12
Interface 1

Languages

Rust100%

Modules by API surface

crates/api_client/src/article.rs26 symbols
crates/api_client/src/user.rs23 symbols
crates/database/src/impls/user.rs22 symbols
crates/backend/tests/test.rs19 symbols
crates/database/src/impls/article.rs17 symbols
crates/backend/src/api/user/mod.rs17 symbols
crates/database/src/impls/instance.rs16 symbols
crates/federate/src/routes.rs15 symbols
crates/federate/src/objects/instance.rs15 symbols
crates/backend/src/api/article.rs15 symbols
crates/markdown/src/table_of_contents.rs13 symbols
crates/federate/src/objects/user.rs13 symbols

Datastores touched

ibisDatabase · 1 repos

For agents

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

⬇ download graph artifact

Ask about this repo answers extend the page