-
Notifications
You must be signed in to change notification settings - Fork 1
crosslink serve: dashboard frontend not included in cargo install #429
Description
Bug
crosslink serve starts the API server successfully but serves no web UI — the root URL returns 404 with an empty body. Safari redirects to about:blank.
The installation docs only mention cargo install crosslink, and the web dashboard guide presents crosslink serve as a single command that opens in the browser.
Investigation
Looking at routes.rs, the dashboard is only served when --dashboard-dir is provided:
if let Some(dir) = dashboard_dir {
use tower_http::services::ServeDir;
app = app.fallback_service(ServeDir::new(dir));
}Without --dashboard-dir, there's no fallback service, so / returns 404.
There's no dashboard/ directory in the crate, no rust-embed or include_dir! for bundling assets, and no build step in the docs. The --dashboard-dir flag exists in crosslink serve --help but there's nothing to point it to.
Also, types.rs has #![allow(dead_code, unused_imports)] with a comment saying "these types are pre-declared as the API contract for later phase agents" — suggesting the React frontend hasn't been built yet.
Expected behavior
Either:
crosslink serveshould serve a bundled dashboard (embed assets at compile time), or- The docs should mention that the dashboard frontend needs to be built separately and passed via
--dashboard-dir, or crosslink servewithout--dashboard-dirshould print a clear message explaining the dashboard isn't available
Environment
- crosslink 0.5.1 via
cargo install crosslink - macOS (Darwin 25.3.0)