{ "name": "Project Journal", "version": "0.1.0", "toolchains": { "python": { "executable": "python3.14", "windowsExecutable": "py", "launcherVersion": "-3.14", "venvDir": ".venv", "pipScript": "scripts/pip-min.ps1", "profiles": [ { "id": "cpu", "label": "CPU only (default)", "requirementsFile": "requirements_cpu_only.txt", "extraIndexUrl": "https://download.pytorch.org/whl/cpu" }, { "id": "gpu", "label": "GPU / CUDA", "requirementsFile": "requirements_gpu.txt" }, { "id": "nlp", "label": "NLP / spaCy (optional)", "requirementsFile": "requirements_nlp_optional.txt", "postInstallCommands": [ "spacy download en_core_web_sm" ] } ] }, "node": { "packageManager": "npm", "workingDir": "Journal.App" } }, "targets": [ { "id": "sidecar", "label": "Publish Sidecar", "description": "Build Journal.Sidecar as self-contained exe → output/", "group": "Build", "command": "pwsh", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "scripts/publish-sidecar.ps1", "-Configuration", "Release", "-Runtime", "win-x64" ], "workingDir": ".", "dependsOn": [] }, { "id": "web", "label": "Build Web UI", "description": "Build SvelteKit bundle → Journal.App/build/", "group": "Build", "command": "pwsh", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "scripts/publish-app.ps1", "-Target", "web" ], "workingDir": ".", "dependsOn": [] }, { "id": "webgateway", "label": "Publish WebGateway", "description": "Publish ASP.NET host with embedded web UI → output/webgateway/", "group": "Build", "command": "pwsh", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "scripts/publish-webgateway.ps1", "-Configuration", "Release", "-Runtime", "win-x64" ], "workingDir": ".", "dependsOn": [ "web" ] }, { "id": "tauri", "label": "Build Tauri Desktop App", "description": "Build desktop exe (no installer) → Journal.App/src-tauri/target/release/", "group": "Build", "command": "pwsh", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "scripts/publish-app.ps1", "-Target", "tauri", "-TauriBundles", "none" ], "workingDir": ".", "dependsOn": [ "sidecar" ] }, { "id": "tauri-nsis", "label": "Build Tauri + NSIS Installer", "description": "Build desktop exe with NSIS installer package", "group": "Build", "command": "pwsh", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "scripts/publish-app.ps1", "-Target", "tauri", "-TauriBundles", "nsis" ], "workingDir": ".", "dependsOn": [ "sidecar" ] }, { "id": "build-dotnet", "label": "Build .NET Projects", "description": "dotnet build — all C# projects in solution", "group": "Build", "command": "dotnet", "args": [ "build" ], "workingDir": ".", "dependsOn": [] }, { "id": "all", "label": "Full Release Build ✦", "description": "Sidecar → Web → WebGateway → Tauri, in dependency order", "group": "Build", "command": null, "args": [], "workingDir": ".", "dependsOn": [ "sidecar", "web", "webgateway", "tauri" ] }, { "id": "run-gateway", "label": "Run WebGateway", "description": "Start HTTP gateway dev server at http://localhost:5180", "group": "Dev", "command": "pwsh", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "scripts/run-webgateway.ps1" ], "workingDir": ".", "dependsOn": [] }, { "id": "test", "label": "Run Smoke Tests", "description": "Run all ~80 integration tests in Journal.SmokeTests", "group": "Test", "command": "dotnet", "args": [ "run", "--project", "Journal.SmokeTests/Journal.SmokeTests.csproj" ], "workingDir": ".", "dependsOn": [] }, { "id": "gate", "label": "Run Migration Gate", "description": "Full build + smoke tests + parity check", "group": "Test", "command": "pwsh", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "scripts/migration-gate.ps1" ], "workingDir": ".", "dependsOn": [] }, { "id": "nuget-export", "label": "Export NuGet Cache", "description": "Prime and export .nuget cache to zip for offline use", "group": "Cache", "command": "pwsh", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "scripts/nuget-export-cache.ps1" ], "workingDir": ".", "dependsOn": [] }, { "id": "nuget-import", "label": "Import NuGet Cache", "description": "Import cache zip and validate restore", "group": "Cache", "command": "pwsh", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "scripts/nuget-import-cache.ps1" ], "workingDir": ".", "dependsOn": [] } ], "env": [ { "key": "JOURNAL_AI_PROVIDER", "description": "AI provider bridge mode", "default": "none", "options": [ "none", "python-sidecar" ] }, { "key": "JOURNAL_LOG_LEVEL", "description": "Log verbosity for C# backend", "default": "warning", "options": [ "trace", "debug", "information", "warning", "error", "critical" ] }, { "key": "JOURNAL_NLP_BACKEND", "description": "Python NLP backend selection", "default": "auto", "options": [ "auto", "spacy", "fallback" ] }, { "key": "JOURNAL_PROJECT_ROOT", "description": "Override project root path (blank = auto-detect)", "default": "", "options": [] }, { "key": "JOURNAL_VAULT_DIR", "description": "Override vault directory path", "default": "", "options": [] }, { "key": "JOURNAL_DATA_DIR", "description": "Override decrypted data directory path", "default": "", "options": [] } ] }