feat(dashboard): onboarding wizard UI #144

Merged
sharang merged 3 commits from feat/onboarding-wizard into main 2026-07-12 21:28:53 +00:00
Owner

The dashboard front door for onboarding — a dedicated multi-step flow at /onboard (new Onboard sidebar entry), wired to the #131 target endpoints.

Flow (pages/onboarding.rs)

  1. Target type — card grid of the 9 families (web / backend / desktop / Android / iOS / bare-metal firmware / RTOS firmware / Yocto / PLC) + a name.
  2. Artifacts — a type-aware "add a row" form (git repo, source archive, firmware image, mobile package, container image, live URL, PLC project, plaintext), with a removable list.
  3. Review — summary of the target + artifacts.
  4. Done — creates the target, runs kind-based detection, and renders the applicable-scans matrix (each scan badged default-on / blocked, with its rationale).

Server functions (infrastructure/onboarding.rs)

fetch_targets / create_target / detect_target / fetch_applicable_scans, proxying to /api/v1/targets via the existing agent_client (bearer-token forwarding).

Notes

  • Compiles clean under both --features web and --features server; cargo fmt --all --check + clippy -D warnings pass. I couldn't visually run the UI here, so a quick visual pass on the running dashboard is worth doing.
  • Follow-ups: interactive scan-selection toggling and the DAST-auth / pentest-scope sub-config (screen 3 of the original plan), and a "launch scan" action — which needs the unified pipeline (#133) so the wizard's finish can trigger a real scan.

Closes #123, #124, #125. Refs #126, #127, #118.

The dashboard front door for onboarding — a dedicated multi-step flow at **`/onboard`** (new **Onboard** sidebar entry), wired to the #131 target endpoints. ## Flow (`pages/onboarding.rs`) 1. **Target type** — card grid of the 9 families (web / backend / desktop / Android / iOS / bare-metal firmware / RTOS firmware / Yocto / PLC) + a name. 2. **Artifacts** — a type-aware "add a row" form (git repo, source archive, firmware image, mobile package, container image, live URL, PLC project, plaintext), with a removable list. 3. **Review** — summary of the target + artifacts. 4. **Done** — creates the target, runs kind-based **detection**, and renders the **applicable-scans matrix** (each scan badged default-on / blocked, with its rationale). ## Server functions (`infrastructure/onboarding.rs`) `fetch_targets` / `create_target` / `detect_target` / `fetch_applicable_scans`, proxying to `/api/v1/targets` via the existing `agent_client` (bearer-token forwarding). ## Notes - Compiles clean under **both** `--features web` and `--features server`; `cargo fmt --all --check` + `clippy -D warnings` pass. I couldn't visually run the UI here, so a quick visual pass on the running dashboard is worth doing. - **Follow-ups:** interactive scan-selection toggling and the DAST-auth / pentest-scope sub-config (screen 3 of the original plan), and a **"launch scan"** action — which needs the unified pipeline (#133) so the wizard's finish can trigger a real scan. Closes #123, #124, #125. Refs #126, #127, #118.
sharang added this to the Onboarding v1 milestone 2026-07-12 20:35:00 +00:00
sharang added the onboardingenhancement labels 2026-07-12 20:35:00 +00:00
sharang added 2 commits 2026-07-12 20:35:01 +00:00
feat(dashboard): onboarding wizard UI (#123-127)
CI / Check (pull_request) Failing after 1m34s
CI / Detect Changes (pull_request) Has been skipped
CI / Deploy Agent (pull_request) Has been skipped
CI / Deploy Dashboard (pull_request) Has been skipped
CI / Deploy Docs (pull_request) Has been skipped
CI / Deploy MCP (pull_request) Has been skipped
616e97ff71
A dedicated multi-step onboarding flow at /onboard (new "Onboard" sidebar entry),
wired to the #131 target endpoints:
- Step 1 — target type: card grid of the 9 families + name.
- Step 2 — artifacts: type-aware add-a-row form (git/live-url/firmware/mobile/
  container/PLC/archive/text) with a removable list.
- Step 3 — review: summary of type + artifacts.
- Step 4 — done: creates the target, runs kind-based detection, and shows the
  applicable-scans matrix (default-on / blocked with rationale).

Server fns in infrastructure/onboarding.rs proxy to /api/v1/targets (create,
detect, applicable-scans). Compiles clean under both --features web and
--features server; fmt + clippy -D warnings pass.

Full scan-selection toggling and a "launch scan" action are follow-ups (launch
needs the unified pipeline, #133).

Closes #123, #124, #125. Refs #126, #127, #118.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
sharang added 1 commit 2026-07-12 21:16:19 +00:00
style(wizard): rustfmt infrastructure/onboarding.rs
CI / Check (pull_request) Successful in 5m37s
CI / Detect Changes (pull_request) Has been skipped
CI / Deploy Agent (pull_request) Has been skipped
CI / Deploy Dashboard (pull_request) Has been skipped
CI / Deploy Docs (pull_request) Has been skipped
CI / Deploy MCP (pull_request) Has been skipped
6d95070f7b
sharang merged commit 17f788858d into main 2026-07-12 21:28:53 +00:00
Sign in to join this conversation.