Skip to content

Slice 1: Project Scaffold + Sidecar Lifecycle #2

Description

@emcifuentesc

Parent

What to build

Set up the Tauri v2 project as a menu bar app with a bundled Python sidecar. The sidecar is a stub that loads and responds to NDJSON ping messages over stdin/stdout. The Rust Sidecar Manager spawns, monitors, and communicates with the Python process. A Tailwind-based splash screen shows loading progress and dismisses when the sidecar reports ready. End-to-end: launch app from menu bar → splash screen appears → sidecar loads → splash dismisses → app idle in menu bar.

This slice establishes the foundational project structure and verifies the Rust ↔ Python communication path.

Acceptance criteria

  • Tauri v2 project scaffolded with menu bar tray integration (no dock icon)
  • Python sidecar stub bundled as a Tauri sidecar binary
  • Sidecar Manager (Rust) spawns Python process and speaks NDJSON over stdin/stdout
  • Splash screen UI (TypeScript + Tailwind) displays during sidecar warmup
  • Splash screen dismisses and app enters idle menu-bar state when sidecar reports ready
  • Sidecar Manager mock tests verify NDJSON framing and request/response pairing
  • HITL review: project structure and sidecar approach reviewed against ADRs

Blocked by

None — can start immediately

Testing notes

Write Sidecar Manager unit tests using a mock Python process (shell script echoing canned responses). Verify spawn, NDJSON framing, and pong response handling.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentReady for an AFK agent to implement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions