DEV Community

Robert Fridzema
Robert Fridzema

Posted on

Announcement: OxideDock Rust + Vue 3 desktop starter built on Tauri v2


I built a Tauri v2 + Vue 3 desktop starter so you don't have to wire up the boring stuff. I got tired of setting up the same thing every time I wanted to build a desktop app. Routing, state management, testing, linting, CI/CD, release pipelines — it's always the same dance before you can write a single line of actual app code. By the time everything worked together, I'd lost interest in the actual app i was aiming to build.

So I put together https://github.com/fridzema/oxide-dock
It's a extensive starter template that gives you:

  • Tauri v2 + Vue 3 + TypeScript + Tailwind CSS v4
  • Vitest and Playwright already configured (100% coverage)
  • Rust tests run on Linux, macOS, and Windows in parallel
  • ESLint, Prettier, Oxlint, Clippy, Rustfmt — all wired up with pre-commit hooks
  • GitHub Actions CI that lints, tests, and builds on all three platforms
  • Daily security audits on both Rust and JS dependencies via cargo-audit and bun audit
  • Pre-commit hooks via Lefthook so bad code doesn't reach the repo
  • Push a version tag and you get .dmg, .deb, .AppImage, .msi, and .exe automatically
  • make bootstrap renames the entire project to your app name in one command
  • Small app footprint (6,9MB)
  • And many more...

Run make setup && make dev and you're building your actual app.

I posted this on r/vuejs a few days ago and it's been sitting at #1 on the subreddit since then, which honestly caught me off guard. The feedback there helped me tighten up a few things, and a couple of feature ideas from the comments are already on my list.

It's MIT licensed. Fork it, gut it, make it yours. If you've been meaning to try Tauri but kept putting it off because of the setup overhead, this might save you a weekend(s).

Would love to hear what you'd add or change.

Top comments (2)

Collapse
 
fridzema profile image
Robert Fridzema

Hey, I'm the author. Happy to answer questions about the stack or any of the tradeoffs.
What would you add to something like this?
What would you rip out?

Collapse
 
theminimalcreator profile image
Guilherme Zaia

This starter template looks impressive! It's great to see all the robustness baked in right from the start, especially the inclusion of parallel testing across OSes and comprehensive linting. One aspect I'm curious about is how you handle the Rust dependencies in terms of locking versions—do you use Cargo.lock to ensure consistency across different setups? Also, considering the powerful features packed in, have you thought about showcasing any performance benchmarks after deployment? It could help new users see tangible benefits! 🔍