Parent
Part of #1402.
Goal
Establish the directory skeleton and a CI lint that enforces "no tauri::* imports under core/" — without moving any code yet.
Scope
- Add
mod core; and mod app; (empty modules) under src-tauri/src/.
- Add a CI step that fails if any file under
src-tauri/src/core/ contains use tauri:: or tauri:: references.
- Implementation: a grep-based step in
.github/workflows/ci.yml, or a cargo xtask task — whichever is lighter.
- The crate-split alternative (workspace +
[lints] tauri = { level = "deny" }) is deferred — see the parent's Open Questions.
- No code is moved. Existing modules remain in place.
Out of Scope
- Any code relocation (Phases 2–6).
- Cargo workspace crate split.
Definition of Done
- New empty
core/ and app/ modules compile.
- CI fails when a stray
use tauri::*; is added under core/ (verify with a deliberate failing commit on a draft branch).
cargo tauri-fmt, cargo tauri-lint, cargo tauri-test pass.
Parent
Part of #1402.
Goal
Establish the directory skeleton and a CI lint that enforces "no
tauri::*imports undercore/" — without moving any code yet.Scope
mod core;andmod app;(empty modules) undersrc-tauri/src/.src-tauri/src/core/containsuse tauri::ortauri::references..github/workflows/ci.yml, or acargo xtasktask — whichever is lighter.[lints] tauri = { level = "deny" }) is deferred — see the parent's Open Questions.Out of Scope
Definition of Done
core/andapp/modules compile.use tauri::*;is added undercore/(verify with a deliberate failing commit on a draft branch).cargo tauri-fmt,cargo tauri-lint,cargo tauri-testpass.