Skip to content

T-GQ9Y-template-tauri-nuxt-harness

State: planning/proposed · Impact: medium · Complexity: medium

New apps made from sksizer/template-tauri-nuxt start with the pattern our own apps use: state through fleet, a headless HTTP server, e2e on the harness in a scratch root, and the state-path lint guard.

LocationRole today
sksizer/template-tauri-nuxtPublic template repo, default branch main. src-tauri has lib.rs and main.rs; no ontogen, axum or fleet dependency, no headless bin, no e2e, no lint guard
Internal referenceThe shared headless helper and scratchTauriApp from T-UU4J, simplified in T-LJLH; published in T-97OP

One PR to sksizer/template-tauri-nuxt adds:

PieceContent
Harness@sksizer/app-harness dev dependency and a starter scratchTauriApp launcher
Headless serverAn <app>-server bin that builds state from fleet dirs, honours FLEET_ROOT, takes its port from args or env, serves an HTTP router, a resolved-paths endpoint and the web build
Web transportThe Nuxt app picks HTTP outside Tauri
E2eA Playwright config, one sample spec and a test:e2e script
Lint guardclippy.toml with the banned list, [lints] at deny, and the oxlint override, copied from this repo after T-2THY
  1. Add fleet and the server skeleton to src-tauri, following the adopter guide from T-LJLH.
  2. Add web transport selection.
  3. Add the harness, Playwright config, sample spec and test:e2e.
  4. Add the lint config.
  5. Generate an app from the branch and run test:e2e and lint in it.
AreaNote
sksizer/template-tauri-nuxt src-tauri/Fleet, server bin, lint config
sksizer/template-tauri-nuxt src-nuxt/Transport, e2e
  • AC-1: A PR is open on sksizer/template-tauri-nuxt.
  • AC-2: An app generated from that branch passes test:e2e in a scratch root with the isolation check on.
  • AC-3: The generated app lints clean, and a new dirs::data_dir() call fails clippy.
  • Generating the server skeleton with ontogen (T-ONN4); a positive finding there is a follow-up change to the template.
  • T-97OP so the template installs the harness from npm.
  • T-2THY so the lint config ships at deny.
  • Moved out of T-GXNH so the template copies a pattern already proven on every internal app.

T-97OP, T-2THY


← Back to Tasks