From eeb0ef67944f0461d9e13b522bd95a6bd7cc4d96 Mon Sep 17 00:00:00 2001 From: Claude Fable 5 Date: Sun, 12 Jul 2026 17:18:30 +0200 Subject: [PATCH] Documentation set: features, manuals (user/pond-admin/site-admin), API, MCP, developer guide MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Seven audience-targeted documents (English first, German translation to follow), linked from the README and a new docs/manual/ index: - docs/features.md — public-facing feature overview: what Dorfteich can do and why that matters - docs/manual/user-guide.md — everyday use: editor, wikilinks, labels, search, comments, watches/digests, import/export, settings - docs/manual/pond-admin-guide.md — pond configuration: members/roles, access rules incl. label scoping and public pages, labels, comment policy, plugins, API/MCP opt-ins, files, export - docs/manual/site-admin-guide.md — instance administration: wizard, settings, quotas, uploads, API/MCP switches, legal pages, plugins, users, and the system panel (jobs/backups/audit/storage) - docs/manual/api-guide.md — example-driven public-API walkthrough (tokens, reading, writing through the collab-safe path, labels, comments, error semantics) - docs/manual/mcp-guide.md — connecting AI assistants: switches, token scopes, Claude Code one-liner, mcp-remote bridge, tool table, audit and safety properties - docs/developer/extending.md — plugin development (sandbox contract, SDK, block plugins, bundled apps/fullscreen, shipping) and core contributions (stack, dev environment, gates, house rules) README: documentation index, repository-layout rows for docs/manual and docs/developer, and the stale "architecture phase" status brought up to reality. All relative links verified. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01EwZ4jR4KFAPvpjWevfUGX1 --- README.md | 33 ++++--- docs/developer/extending.md | 154 ++++++++++++++++++++++++++++++++ docs/features.md | 111 +++++++++++++++++++++++ docs/manual/README.md | 18 ++++ docs/manual/api-guide.md | 131 +++++++++++++++++++++++++++ docs/manual/mcp-guide.md | 100 +++++++++++++++++++++ docs/manual/pond-admin-guide.md | 104 +++++++++++++++++++++ docs/manual/site-admin-guide.md | 132 +++++++++++++++++++++++++++ docs/manual/user-guide.md | 118 ++++++++++++++++++++++++ 9 files changed, 891 insertions(+), 10 deletions(-) create mode 100644 docs/developer/extending.md create mode 100644 docs/features.md create mode 100644 docs/manual/README.md create mode 100644 docs/manual/api-guide.md create mode 100644 docs/manual/mcp-guide.md create mode 100644 docs/manual/pond-admin-guide.md create mode 100644 docs/manual/site-admin-guide.md create mode 100644 docs/manual/user-guide.md diff --git a/README.md b/README.md index a4c1345..fddca47 100644 --- a/README.md +++ b/README.md @@ -32,15 +32,27 @@ offline support. first-run setup wizard yields a working instance. Start here: [`docs/self-hosting/README.md`](docs/self-hosting/README.md). +## Documentation + +- **What is Dorfteich?** — [`docs/features.md`](docs/features.md) +- **Manuals** (user / pond admin / site admin / API / MCP) — + [`docs/manual/`](docs/manual/README.md) +- **Extending it** (plugins, core) — + [`docs/developer/extending.md`](docs/developer/extending.md) +- **Running it** — [`docs/self-hosting/`](docs/self-hosting/README.md) +- **How it works inside** — [`docs/architecture/`](docs/architecture/README.md) + ## Repository layout -| Path | Contents | -| -------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -| `docs/architecture/` | Architecture documentation: ADRs, data model, permission model, collaboration and plugin concepts, deployment and operations | -| `docs/self-hosting/` | Install, update, backup, and troubleshooting guide for running your own instance | -| `apps/` | Application packages (web frontend, API server, collaboration server) — created as implementation proceeds | -| `packages/` | Shared packages (types, permission logic, plugin SDK) | -| `deploy/` | Docker Compose stacks and deployment tooling | +| Path | Contents | +| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `docs/manual/` | User-facing manuals: user, pond-admin, site-admin, API, and MCP guides (start at [`docs/manual/README.md`](docs/manual/README.md)) | +| `docs/developer/` | Extending Dorfteich: plugin development and core contributions | +| `docs/architecture/` | Architecture documentation: ADRs, data model, permission model, collaboration and plugin concepts, deployment and operations | +| `docs/self-hosting/` | Install, update, backup, and troubleshooting guide for running your own instance | +| `apps/` | Application packages (web frontend, API server, collaboration server) — created as implementation proceeds | +| `packages/` | Shared packages (types, permission logic, plugin SDK) | +| `deploy/` | Docker Compose stacks and deployment tooling | ## Development @@ -60,9 +72,10 @@ imported as `@dorfteich/shared` — never copy code between apps. ## Status -The project is in the architecture and backlog phase. Implementation stories -are tracked as issues in this repository. Start reading at -[`docs/architecture/README.md`](docs/architecture/README.md). +Feature-complete for a 1.0: collaboration, permissions, import/export, +plugins, public REST API + MCP, backups with off-host copies and in-app +restore — all shipped and release-gated. Work is tracked as issues in +this repository. ## Contributing diff --git a/docs/developer/extending.md b/docs/developer/extending.md new file mode 100644 index 0000000..2592df9 --- /dev/null +++ b/docs/developer/extending.md @@ -0,0 +1,154 @@ +# Developer guide — extending Dorfteich + +Two ways to make Dorfteich do more: write a **plugin** (no fork, no +redeploy, safe by construction) or contribute to the **core**. Start +with a plugin unless you need to change how the product itself works. + +## Writing a plugin + +Read [`docs/architecture/plugin-architecture.md`](../architecture/plugin-architecture.md) +once — it is the contract. The short version: + +A plugin is a ZIP with a `manifest.json`, a single ES-module bundle +`plugin.js`, optional `styles.css`, `i18n/*.json`, and `assets/…`. It +contributes one or more **extension points**: + +| Type | You build | Example | +| -------------- | ------------------------------------------------------ | ---------------------- | +| `sectionStyle` | named CSS styles for content sections (no code at all) | `section-styles-basic` | +| `pageTool` | a read-only widget in the page-tools panel | `toc`, `page-index` | +| `block` | a custom editor block with its own data and edit UI | `mermaid`, `drawio` | + +### The sandbox — what your code can and cannot do + +Your `plugin.js` runs in an `