Skip to content

crosslink serve: dashboard frontend not included in cargo install #429

@jasikpark

Description

@jasikpark

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:

  1. crosslink serve should serve a bundled dashboard (embed assets at compile time), or
  2. The docs should mention that the dashboard frontend needs to be built separately and passed via --dashboard-dir, or
  3. crosslink serve without --dashboard-dir should print a clear message explaining the dashboard isn't available

Environment

  • crosslink 0.5.1 via cargo install crosslink
  • macOS (Darwin 25.3.0)

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdocumentationImprovements or additions to documentationenhancementNew feature or requestfeatureNew feature✨future✨Items that are not on the immediate docket but stashed for a later point

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions