Packages
Public packages and imports
External plugins and themes should depend on public packages and public exports only.
| Package | Public surface | Documentation |
|---|---|---|
@riebeckite/core |
defineConfig, definePlugin, defineTheme, content APIs, pipeline APIs, diagnostics, observability types |
README · Core API |
@riebeckite/cli |
riebeckite CLI binary |
README · CLI Reference |
@riebeckite/honox |
HonoX integration and scaffolding support; the server subpath exports the route/SSG helpers (resolveRiebeckiteRoute, resolveRiebeckiteContentRequest, resolveRiebeckiteHomeRequest, contentRouteSsgParams, riebeckiteSsgParams), and the ui subpath exports the article/site UI primitives (Article, ArticleBody, PageBody, ArticleContent, and their props) |
README · HonoX Integration |
@riebeckite/dev-inspector |
Development-only inspector overlay for Riebeckite sites | README · Inspector |
create-riebeckite |
create-riebeckite scaffolding CLI |
README · Quick Start |
@riebeckite/diagnostics |
Shared development diagnostics for the CLI and integrations | README · Diagnostics |
@riebeckite/diagram |
Shared diagram infrastructure for diagram plugins | README · Diagram Plugin Infrastructure |
@riebeckite/graph |
Shared force-directed graph engine, filters, groups, and settings for Local Graph and Garden Explorer | README · Local Graph · Garden Explorer |
@riebeckite/preview |
Secure Markdown preview runtime | README · Preview API |
@riebeckite/runtime |
Typed lifecycle contracts for main-thread, worker, WASM worker, and sandboxed iframe runtimes | README · Interactive Runtime |
@riebeckite/spa |
Opt-in SPA navigation runtime | README · SPA Navigation |
@riebeckite/ui |
Shared UI context plus optional headless primitives (drawer, dialog, tabs, copy, behaviors) and Drawer CSS |
README · UI |
@riebeckite/analytics-cloudflare |
Cloudflare Workers, D1, and KV runtime for analytics | README · Cloudflare Worker |
@riebeckite/webmention-cloudflare |
Cloudflare Workers, D1, and KV runtime for Webmentions | README · Webmention |
@riebeckite/test |
Test helpers (assertGolden, assertGoldenJson); the e2e subpath exports the packed-tarball external-site engine |
README · Testing |
@riebeckite/node |
Node.js adapters; FileSystemContentSource and path helpers for filesystem-backed content |
README · Sources and management |
@riebeckite/git-history |
Git repository access shared by plugins; the test-support subpath exports a throw-away repository for tests |
README |
@riebeckite/plugin-* |
Plugin factory and documented subpath exports | Plugin documentation |
@riebeckite/theme-* |
Theme factory and CSS exports | Theme documentation |
@riebeckite/diagnostics, @riebeckite/node, and @riebeckite/git-history are shared by official plugins and framework internals. They do not have separate API pages; the pages that use them describe the relevant exports, such as ContentSource.
The dependencies are roughly as follows.
Diagram source
flowchart BT
Site["Site"]
ExternalPlugin["External Plugin"]
ExternalTheme["External Theme"]
Honox["@riebeckite/honox"]
Core["@riebeckite/core"]
Site --> Honox
Site --> Core
ExternalPlugin --> Core
ExternalTheme --> Core
Honox --> Core
It is important that external packages do not depend directly on Riebeckite monorepo internals.
Public API and internal API
External packages use a package's public exports. For example:
import {
definePlugin,
escapeHtml,
} from "@riebeckite/core";
Do not use imports such as:
import {
something,
} from "@riebeckite/core/src/...";
Nor should you depend on Riebeckite monorepo-internal paths such as:
../../../../packages/core/...
Diagram source
flowchart LR
Consumer["External Package"]
Consumer -->|"✓"| Public["@riebeckite/core<br/>Public Export"]
Consumer -.->|"✗"| Internal["@riebeckite/core/src/**"]
Consumer -.->|"✗"| Monorepo["Monorepo Internal Path"]
Do not import from @riebeckite/core/src/** or from monorepo-internal paths in external packages.
The public API is a contract intended for external use. src/** and monorepo-internal paths are implementation details and may change between package releases.