Replace the fragile auto-install-via-bun approach with a bundled qmd binary. The build script (scripts/bundle-qmd.sh) compiles qmd into a standalone binary using `bun build --compile`, then packages it with sqlite-vec native extensions and a node-llama-cpp stub for keyword-only search. Key changes: - find_qmd_binary() now returns QmdBinary with path + work_dir, checks bundled resource first (app bundle and dev mode), then system paths - All Command::new(qmd_path) calls updated to use QmdBinary::command() which sets the correct working directory for node_modules resolution - Removed auto_install_qmd() and find_bun() — no longer needed - Tauri config bundles resources/qmd/** into the app Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
60 lines
1.5 KiB
JSON
60 lines
1.5 KiB
JSON
{
|
|
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
|
|
"productName": "laputa",
|
|
"version": "0.1.0",
|
|
"identifier": "club.refactoring.laputa",
|
|
"build": {
|
|
"frontendDist": "../dist",
|
|
"devUrl": "http://localhost:5202",
|
|
"beforeDevCommand": "pnpm dev",
|
|
"beforeBuildCommand": "pnpm build && pnpm bundle-mcp && bash scripts/bundle-qmd.sh"
|
|
},
|
|
"app": {
|
|
"withGlobalTauri": true,
|
|
"windows": [
|
|
{
|
|
"title": "Laputa",
|
|
"width": 1400,
|
|
"height": 900,
|
|
"resizable": true,
|
|
"fullscreen": false,
|
|
"titleBarStyle": "Overlay",
|
|
"hiddenTitle": true,
|
|
"backgroundColor": "#F7F6F3"
|
|
}
|
|
],
|
|
"security": {
|
|
"csp": null,
|
|
"assetProtocol": {
|
|
"enable": true,
|
|
"scope": [
|
|
"**"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"bundle": {
|
|
"active": true,
|
|
"targets": "all",
|
|
"createUpdaterArtifacts": true,
|
|
"resources": {
|
|
"resources/mcp-server/**/*": "mcp-server/",
|
|
"resources/qmd/**/*": "qmd/"
|
|
},
|
|
"icon": [
|
|
"icons/32x32.png",
|
|
"icons/128x128.png",
|
|
"icons/128x128@2x.png",
|
|
"icons/icon.icns",
|
|
"icons/icon.ico"
|
|
]
|
|
},
|
|
"plugins": {
|
|
"updater": {
|
|
"endpoints": [
|
|
"https://refactoringhq.github.io/laputa-app/latest.json"
|
|
],
|
|
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDRFQzlGQ0RFM0E1MTIzNDkKUldSSkkxRTYzdnpKVG13M0Zwd3M1RzErbWhJeEhBQUQyaG90bHBtMkNzMm1MNERZRlpXSGFRMTUK"
|
|
}
|
|
}
|
|
} |