tauri-solidjs▌
different-ai/openwork · updated Apr 8, 2026
tauri-solidjs
Quick Usage (Already Configured)
Create new Tauri + SolidJS project
pnpm create tauri-app openwork --template solid-ts
Development
pnpm tauri dev
Build for production
pnpm tauri build
Build for mobile
# iOS
pnpm tauri ios dev
pnpm tauri ios build
# Android
pnpm tauri android dev
pnpm tauri android build
Project Structure
openwork/
packages/
desktop/
src-tauri/
src/
main.rs # Rust entry point
lib.rs # Tauri commands and state
Cargo.toml # Rust dependencies
tauri.conf.json # Tauri configuration
capabilities/ # Permission capabilities
src/
App.tsx # SolidJS root component
index.tsx # Entry point
components/ # UI components
stores/ # Solid stores for state
lib/ # Utilities and OpenCode bridge
index.html # HTML template
package.json # Frontend dependencies
vite.config.ts # Vite configuration
Key Dependencies
Frontend (package.json)
{
"dependencies": {
"solid-js": "^1.8.0",
"@tauri-apps/api": "^2.0.0",
"@tauri-apps/plugin-shell": "^2.0.0",
"@tauri-apps/plugin-fs": "^2.0.0",
"@tauri-apps/plugin-sql": "^2.0.0"
},
"devDependencies": {
"@tauri-apps/cli": "^2.0.0",
"vite": "^5.0.0",
"vite-plugin-solid": "^2.8.0",
"tailwindcss": "^3.4.0"
}
}
Backend (Cargo.toml)
[dependencies]
tauri = { version = "2", features = ["shell-open"] }
tauri-plugin-shell = "2"
tauri-plugin-fs = "2"
tauri-plugin-sql = { version = "2", features = ["sqlite"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
Tauri Commands (Rust -> JS)
// packages/desktop/src-tauri/src/lib.rs
use tauri::Manager;
#[tauri::command]
async fn spawn_opencode(prompt: String) -> Result<String, String> {
use std::process::Command;
let output = Command::new("opencode")
.args(["-p", &prompt, "-f", "json", "-q"])
.output()
.map_err(|e| e.to_string())?;
String::from_utf8(output.stdout)
.map_err(|e| e.to_string())
}
#[tauri::command]
fn get_opencode_db_path() -> String {
// Return path to .opencode/opencode.db
dirs::home_dir()
.map(|p| p.join(".opencode/opencode.db").to_string_lossy().to_string())
.unwrap_or_default()
}
Invoking Commands from SolidJS
import { invoke } from "@tauri-apps/api/core";
async function runTask(prompt: string) {
const result = await invoke<string>("spawn_opencode", { prompt });
return JSON.parse(result);
}
Common Gotchas
- Tauri 2.x uses
@tauri-apps/api/coreinstead of@tauri-apps/api/tauri. - Mobile builds require Xcode (iOS) or Android Studio (Android).
- File access requires
tauri-plugin-fsand capability configuration. - SQLite access requires
tauri-plugin-sql.
First-Time Setup (If Not Configured)
Install Tauri CLI
pnpm add -D @tauri-apps/cli
Initialize Tauri in existing project
pnpm tauri init
Add mobile targets
pnpm tauri ios init
pnpm tauri android init
References
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.7★★★★★73 reviews- ★★★★★Ganesh Mohane· Dec 28, 2024
We added tauri-solidjs from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Evelyn Wang· Dec 28, 2024
We added tauri-solidjs from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Liam Johnson· Dec 20, 2024
tauri-solidjs fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Olivia Sharma· Dec 8, 2024
Useful defaults in tauri-solidjs — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Henry Jain· Dec 4, 2024
Keeps context tight: tauri-solidjs is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Liam Verma· Nov 27, 2024
We added tauri-solidjs from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Henry Singh· Nov 23, 2024
tauri-solidjs is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Sakshi Patil· Nov 19, 2024
Useful defaults in tauri-solidjs — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Diego Kim· Nov 19, 2024
Useful defaults in tauri-solidjs — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Chinedu Sanchez· Oct 18, 2024
tauri-solidjs reduced setup friction for our internal harness; good balance of opinion and flexibility.
showing 1-10 of 73