Skip to content

About

Hub

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

slidesk.link

Hub

This website allows users to have a page which contains all their talks and sessions.

They can host their own presentations for 72h.

To host your own slidesk.link hub, you have to clone it and:

  1. Create a .env file with this following keys:
GITHUB_OAUTH_CLIENT_ID=
GITHUB_OAUTH_CLIENT_SECRET=
JWT_SECRET=YOUR_SECRET
# Optional: where the sqlite file lives (default: ./app/dev.db).
DATABASE_PATH=./app/dev.db
  1. install it
bun install
bun web

The sqlite file is created and migrated on startup, so there is no separate migration command.

MCP for AI agents

The deployed app exposes the addon hub to AI agents at /mcp over Streamable HTTP — nothing to clone, nothing to run:

claude mcp add --transport http slidesk-addons https://slidesk.link/mcp

The endpoint is stateless (one POST, one JSON reply, no session identifier), and install_addon there only ever returns the command — installing touches the user's own SliDesk project, so a local stdio server (bun run mcp) is what actually runs it. See mcp/README.md.

Database migrations

Migrations live in src/database/migrations as plain .sql files and are applied on startup, tracked by sqlite's PRAGMA user_version. Each one runs in its own transaction, and a database already at the latest version does no work.

To add one:

  1. create src/database/migrations/NNN_short_name.sql;
  2. append it to the MIGRATIONS array in src/database/migrations/index.ts with the next version number.

Migrations are imported statically so their SQL is embedded in the server bundle. Because they run inside a transaction they cannot toggle PRAGMA foreign_keys, which the app enables at startup.

Build

bun run build         # both of the below
bun run build:client  # vite  -> dist-client
bun run build:server  # bun build -> dist-server/index.js

The server bundle inlines every dependency and emits the native resvg addon beside it, so the Docker release image ships only dist-server, dist-client, public and app — no sources and no node_modules.

About

Hub

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages