Files
RuDS/RUST_PLAN_EXTENSION.md

5.6 KiB

RuDS Extension Plan

Goal

Extensions add migration, collaboration, automation, alternate clients, and advanced discovery on top of the core blogging workflow. They must reuse core engines and formats, remain reachable through real UI or automation surfaces, and preserve airplane-mode and localization rules.

Status describes the current source code as of 2026-07-19. Core one-shot AI, publishing, rendering, and integrity work is tracked in RUST_PLAN_CORE.md.

Current Extension Status

Git and richer validation — Complete

Done:

  • Site, media, translation, and metadata-diff engines and UI views.
  • GitEngine repository initialization and inspection, Git LFS image tracking, status, staged/unstaged and per-file/commit diffs, branch and rename-following file history, remote state, commit, fetch, fast-forward-only pull, push, cancellation, timeouts, and platform-specific authentication guidance.
  • Localized Git sidebar, log panel, read-only inline/side-by-side diff tabs, live task output, airplane-mode gating, and post-pull reconciliation through the normal filesystem rebuild paths and typed events.

Synchronization scripting bridge — Open

Open:

  • Expose bds.sync through the scripting API using the shared Git workflow.

WordPress import — Complete

Done:

  • Streaming, untrusted-input-safe WXR parsing for site metadata, posts, pages, attachments, categories, and tags.
  • HTML5-to-Markdown conversion, WordPress shortcode conversion, complete new/update/conflict/duplicate/missing classification, date and macro analysis, and saved project-scoped import definitions.
  • Localized native import sidebar/editor with WXR and uploads pickers, cached analysis reopening, conflict resolution, manual and airplane-gated AI taxonomy mapping, item review, live progress/ETA, and execution results.
  • Taxonomy/posts/media/pages execution through core persistence engines in recoverable 500-item batches, including filesystem rollback, source metadata/status/timestamps, unique-slug import, overwrite/ignore behavior, and media-parent links.

Conversational AI and agent tools — Open

Open:

  • Conversation persistence and chat UI.
  • Streaming OpenAI-compatible responses and tool-call parsing.
  • Tools over posts, media, templates, search, and other core engines.
  • Agent integrations such as Claude Code and Copilot where required by the specs.
  • Replace the current Chat placeholders with the working feature.

Core endpoint settings, offline gating, key storage, model discovery, and seven one-shot operations are already implemented.

Embeddings, semantic search, and duplicates — Open

Existing source contains schema placeholders only.

Open:

  • Embedding generation and persistence.
  • Vector index and semantic search.
  • Expose bds.embeddings after those engines exist.
  • Duplicate detection, dismissed-pair handling, metadata integrity, and UI.
  • Replace the Find Duplicates placeholder.

Translation QA and documentation UX — Partly done

Done:

  • Translation validation engine and report view.

Open:

  • In-app project documentation browser.
  • Browsable Lua API documentation and examples.
  • Replace Documentation and API Documentation placeholders.

The generated Lua documentation and examples are complete core functionality; this section tracks only their in-app browsing experience.

Done:

  • Menu file parsing/rendering and Home-first normalization.
  • macOS URL plumbing and the sole bDS2-compatible Blogmark action at ruds://new-post; RuDS neither registers nor accepts bDS2's bds2:// scheme.

Open:

  • OPML/menu editor UI.
  • Replace the Menu Editor placeholder.

CLI and MCP — Open; domain events — Done

Done:

  • Domain event bus from events.allium for desktop, CLI, TUI, server, and future remote clients, including deterministic subscriptions, project scope, and persisted CLI notification consumption/pruning.

Open:

  • Implement bds-cli; its current binary is only a stub.
  • Commands from cli.allium and cli_sync.allium using the same project, database, engines, and settings as the desktop app.
  • Reuse the core gallery batch-import engine already used by the desktop post editor for the CLI gallery command.
  • MCP tools/resources and proposal-based writes from mcp.allium.
  • Replace the MCP settings placeholder.

Blogmark and transform pipeline — Done

Done:

  • Blogmark bookmarklet copy, ruds://new-post parsing, content capture, post import, transform selection, and Lua transform execution.
  • Project-scoped bds.* capabilities, managed task progress, and operator cancellation during transform execution.
  • bDS2-compatible delivery behavior without adding unsupported deep-link actions.

Headless server — Open

Open:

  • Desktop/server/TUI boot-mode selection.
  • Headless engine host and SSH transport.
  • Private host-key and authorized-key management.
  • Desktop connection flow for remote projects.

Terminal UI — Open

Open:

  • Terminal renderer over shared application workflows.
  • Sidebar/editor navigation, editing, publishing, and live domain-event updates.
  • Remote operation through the headless server.

A2UI surfaces — Open

Open:

  • A2UI component renderer, surface state/data flow, and AI-assistant integration.

Suggested Order

  1. CLI, MCP, and domain events.
  2. Conversational AI and agent tools.
  3. Embeddings and duplicate detection.
  4. Documentation and menu UX.
  5. Headless server and TUI.
  6. A2UI after conversational AI exists.

The order may change when an extension directly unlocks a concrete user workflow; it must not create a parallel data model or bypass core engines.