feat: add Tauri desktop chat app with React + TypeScript

This commit is contained in:
Evandro Fonseca Junior committed 2026-03-26 21:05:41 -03:00
1 parent d8c5697f39
commit ee3980436b
4132 files changed
+1163398

No files matched your search

+30
View File
@@ -0,0 +1,30 @@
[package]
name = "forgelm-chat"
version = "0.1.0"
description = "ForgeLM Chat — Local LLM Desktop Client"
authors = []
edition = "2021"
[lib]
name = "forgelm_chat_lib"
crate-type = ["staticlib", "cdylib", "rlib"]
[[bin]]
name = "forgelm-chat"
path = "src/main.rs"
[build-dependencies]
tauri-build = { version = "2", features = [] }
[dependencies]
tauri = { version = "2", features = [] }
tauri-plugin-shell = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
[profile.release]
panic = "abort"
codegen-units = 1
lto = true
opt-level = "s"
strip = true
+3
View File
@@ -0,0 +1,3 @@
fn main() {
tauri_build::build()
}
+17
View File
@@ -0,0 +1,17 @@
use tauri::Manager;
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.plugin(tauri_plugin_shell::init())
.setup(|app| {
#[cfg(debug_assertions)]
{
let window = app.get_webview_window("main").unwrap();
window.open_devtools();
}
Ok(())
})
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
+6
View File
@@ -0,0 +1,6 @@
// Prevents additional console window on Windows in release
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
fn main() {
forgelm_chat_lib::run()
}
+40
View File
@@ -0,0 +1,40 @@
{
"productName": "ForgeLM Chat",
"version": "0.1.0",
"identifier": "dev.forgelm.chat",
"build": {
"beforeDevCommand": "npm run dev",
"devUrl": "http://localhost:1420",
"beforeBuildCommand": "npm run build",
"frontendDist": "../dist"
},
"app": {
"windows": [
{
"title": "ForgeLM Chat",
"width": 1200,
"height": 800,
"minWidth": 800,
"minHeight": 600,
"resizable": true,
"fullscreen": false,
"decorations": true,
"transparent": false
}
],
"security": {
"csp": null
}
},
"bundle": {
"active": true,
"targets": "all",
"icon": []
},
"plugins": {
"shell": {
"all": false,
"open": true
}
}
}