Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[rushd][Epic] rushd — server-first re-architecture (daemon + thin clients)

Open
#5,894 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Tech stack
node.js, typescript
Domain
backend, cli, devtools

Research direction

Start with the RFC in #5863 and the dependency status in this epic, then read the outstanding workstreams #5898–#5901. This is an architectural coordination issue rather than a self-contained change. Done means the listed daemon default, fallback, transparency, and Rush 6 cutover conditions are met.

Written by the indexing model from the issue text.

Description

area:rushd epic

Re-architect Rush from a CLI-first tool into a server-first system: a long-lived per-workspace
daemon (rushd) owns the engine and warm build state; thin, presentation-owning clients (CLI first;
MCP/web later) talk a presentation-free protocol. Delivered as new split packages merged
incrementally into main at 0.x, culminating in a Rush 6 cutover.

Design rationale & discussion: #5863 (RFC).

Hard dependencies

  • Watch-mode overhaul (#5378) merged — provides the stateful IOperationGraph
    (setEnabledStates, scheduleIterationAsync, invalidateOperations, abortCurrentIterationAsync,
    closeRunnersAsync) and OperationGraphHooks (onIdle, onExecutionStatesUpdated).
  • Rush Reporter Overhaul (#5858) — supplies the presentation-free event contract & wire adapter;
    its "daemon-aligned major default flip" is the Rush 6 cutover.

Workstreams (sub-issues)

  • WS0 (#5895) — Upstream engine prerequisites (in rush-lib)
  • WS1 (#5896) — Wire layer: protocol, transport & presentation
  • WS2 (#5897) — Daemon host, routing & scheduling
  • WS3 (#5898) — Daemon lifecycle, reload & warm-set
  • WS4 (#5899) — CLI client & command surface
  • WS5 (#5900) — Rush 6 cutover: testing, observability & migration
  • WS6 (#5901) — Web UX & MCP bridge

Definition of done for the Epic

  • rush/rushx default to the daemon with a permanent in-process fallback (--no-daemon/RUSH_DAEMON=0).
  • The transparency bar (#5900) passes on the flipped bins.
  • Shipped as Rush 6.0.0 in the same major as #5858 phase 6.
Dominant language
TypeScript
Stars
6.5k
Forks
708
Avg merge
5d 19h
Merged PRs (30d)
48

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/rushstack

All issues in microsoft/rushstack

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.