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.
| Location | Role today |
|---|---|
sksizer/template-tauri-nuxt | Public 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 reference | The shared headless helper and scratchTauriApp from T-UU4J, simplified in T-LJLH; published in T-97OP |
Proposed
Section titled “Proposed”One PR to sksizer/template-tauri-nuxt adds:
| Piece | Content |
|---|---|
| Harness | @sksizer/app-harness dev dependency and a starter scratchTauriApp launcher |
| Headless server | An <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 transport | The Nuxt app picks HTTP outside Tauri |
| E2e | A Playwright config, one sample spec and a test:e2e script |
| Lint guard | clippy.toml with the banned list, [lints] at deny, and the oxlint override, copied from this repo after T-2THY |
Approach
Section titled “Approach”- Add fleet and the server skeleton to
src-tauri, following the adopter guide fromT-LJLH. - Add web transport selection.
- Add the harness, Playwright config, sample spec and
test:e2e. - Add the lint config.
- Generate an app from the branch and run
test:e2eand lint in it.
| Area | Note |
|---|---|
sksizer/template-tauri-nuxt src-tauri/ | Fleet, server bin, lint config |
sksizer/template-tauri-nuxt src-nuxt/ | Transport, e2e |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1: A PR is open on
sksizer/template-tauri-nuxt. - AC-2: An app generated from that branch passes
test:e2ein a scratch root with the isolation check on. - AC-3: The generated app lints clean, and a new
dirs::data_dir()call fails clippy.
Out of scope
Section titled “Out of scope”- Generating the server skeleton with ontogen (
T-ONN4); a positive finding there is a follow-up change to the template.
Dependencies
Section titled “Dependencies”T-97OPso the template installs the harness from npm.T-2THYso the lint config ships at deny.
Discovery context
Section titled “Discovery context”- Moved out of
T-GXNHso the template copies a pattern already proven on every internal app.
Depends on
Section titled “Depends on”T-97OP, T-2THY