Skip to content

Roadmap

nick3 edited this page May 28, 2026 · 1 revision

Roadmap

What's open or being considered. Not a commitment — items move, get dropped, get replaced by better ideas. PRs welcome; see Contributing.


Open items

Goal Runner

  • Resume goals after app restartgoal-store.listResumable() exists but the runner doesn't yet auto-resume on launch
  • Pause / resume from UI — backend supports pauseRequested; needs a UI button in Goal-Dashboard
  • json_predicate evaluator — currently accepted as documentation-only. Needs a sandboxed JS expression evaluator
  • Concurrent goals — infrastructure supports it but claim_complete / abort_with_report always target the most-recent runtime goal; need correlation back to issuing AIManager invocation
  • Per-tool plugin permissions API — let plugin tools declare their risk profile instead of defaulting to network_write

AI

  • Light theme — entire UI is dark-only
  • Customizable keybindingsuseKeyboardShortcuts.ts is hard-coded
  • Markdown rendering upgrades in chat panel — tables, blockquotes, syntax highlighting (currently plain <pre>)
  • Conversation export — save a chat history as markdown or JSON
  • Critic provider per-run override in UIcriticProviderId is in the API but not exposed in the Starting-a-Goal
  • Auto-cleanup of browser-screenshots/ — currently grows unbounded
  • Streaming critic display — show the critic's reasoning as it streams instead of after completion

Terminal

  • Tmux control mode for invisible tab commands — explored, deferred (PTY-per-tab works fine). Open as #31. Would save one SSH process per tab but adds complexity.
  • Configurable terminal themes per-pane — global theme works; per-pane override exists but not surfaced in UI
  • Search across all panesCtrl+F works in browser; not in terminals

Browser

  • Record-recipe button — record a sequence of clicks/types/navigations and save as a Browser-Recipe-System in-app (currently you author recipes by hand)
  • Form-fill data beyond username/password — Chromium-style address/phone/etc.
  • Extension support — would require Electron BrowserView refactor
  • Per-tab cookies — currently cookies are per-pane (shared across tabs)

Architecture

  • Test suite — none yet. Vitest + Playwright candidates
  • Migration of all string-literal IPC channels into IPC_CHANNELS — goal-runner channels (goal:*) currently use string literals
  • Workspace sync — sync workspace configurations across machines (without secrets)
  • Plugin manifests — let plugins declare metadata (name, version, permissions) instead of just registering tools

Documentation


Recent ideas (not committed)

  • Workspace sharing for live collaboration — see another user's panes in real-time
  • Time-travel goal logs — replay a finished goal step-by-step in the dashboard
  • Persona marketplace — share + import personas
  • Per-pane provider override — different model in each pane (currently providers are global)
  • Goal templates — save a goal definition for re-use ("the deploy goal")
  • Multi-machine goal runner — run the goal loop on a server; observe from any client

Wontfix

  • Native (non-Electron) version — Electron's webview is the easiest path for browser panes. A native version would need a separate Chromium embed.
  • Mobile / tablet version — UX paradigms don't translate (no keyboard, no multi-window grid).
  • Cloud-hosted SaaS — would require server-side execution model, breaks "your data stays on your machine."

How to suggest a feature

  1. Open an issue: https://github.com/mtecnic/clusterspace/issues/new
  2. Title prefix [feature]
  3. Describe the use case, not just the implementation. "I want X because Y" works better than "Add button Z."
  4. Maintainer triages — accept, defer to roadmap, or close as wontfix with reason

How to claim a roadmap item

  1. Comment on the matching issue (if there is one) — "I'd like to take this"
  2. If no issue exists, open one to discuss the design before coding
  3. Match the existing code style — see Contributing
  4. Update the wiki if your change is user-facing

See also

Clone this wiki locally