{ "name": "DevTool-master", "version": "0.1.0", "targets": [], "workflows": [ { "id": "web", "label": "Build Detected Web App", "description": "Build the detected web frontend only.", "group": "Build", "category": null, "guidedName": "build web", "aliases": [ "build frontend", "build web app" ], "tags": [ "detected", "web", "frontend" ], "dependsOn": [], "requireFiles": [ "scripts\\publish-app.py", "src/DevTool.Host.Gui/TauriShell/package.json" ], "steps": [ { "id": "web:run", "label": "python scripts\\publish-app.py --target web", "command": "python", "args": [ "scripts\\publish-app.py", "--target", "web" ], "workingDir": ".", "action": null, "actionArgs": [], "requires": [ { "tool": "python", "installPolicy": "Prompt" } ] } ] }, { "id": "tauri", "label": "Build Detected Tauri Desktop App", "description": "Build the detected Tauri desktop app. This may build frontend assets first.", "group": "Build", "category": null, "guidedName": "build desktop", "aliases": [ "build tauri", "build desktop app" ], "tags": [ "detected", "desktop", "tauri" ], "dependsOn": [], "requireFiles": [ "scripts\\publish-app.py", "src/DevTool.Host.Gui/TauriShell/package.json", "src/DevTool.Host.Gui/TauriShell/src-tauri/tauri.conf.json" ], "steps": [ { "id": "tauri:run", "label": "python scripts\\publish-app.py --target tauri --tauri-bundles none", "command": "python", "args": [ "scripts\\publish-app.py", "--target", "tauri", "--tauri-bundles", "none" ], "workingDir": ".", "action": null, "actionArgs": [], "requires": [ { "tool": "python", "installPolicy": "Prompt" } ] } ] }, { "id": "sync-output", "label": "Sync Newest Artifacts To output/", "description": "Copy the newest detected build artifacts into output/ without rebuilding.", "group": "Build", "category": null, "guidedName": "sync output", "aliases": [ "copy artifacts", "refresh output" ], "tags": [ "output", "artifacts" ], "dependsOn": [], "requireFiles": [ "scripts\\sync-output.py" ], "steps": [ { "id": "sync-output:run", "label": "python scripts\\sync-output.py", "command": "python", "args": [ "scripts\\sync-output.py" ], "workingDir": ".", "action": null, "actionArgs": [], "requires": [ { "tool": "python", "installPolicy": "Prompt" } ] } ] }, { "id": "stage-output", "label": "Stage All Detected Outputs", "description": "Build and stage every detected ship target for this repo, such as web, desktop, gateway, or sidecar.", "group": "Build", "category": null, "guidedName": "stage all outputs", "aliases": [ "stage outputs", "publish all outputs", "bundle outputs" ], "tags": [ "output", "detected", "all-targets" ], "dependsOn": [], "requireFiles": [ "scripts\\publish-output.py" ], "steps": [ { "id": "stage-output:run", "label": "python scripts\\publish-output.py", "command": "python", "args": [ "scripts\\publish-output.py" ], "workingDir": ".", "action": null, "actionArgs": [], "requires": [ { "tool": "python", "installPolicy": "Prompt" } ] } ] }, { "id": "publish-primary-dotnet", "label": "Publish sdt", "description": "Publish the primary .NET executable to output/ only. This does not stage every detected deliverable.", "group": "Build", "category": null, "guidedName": "publish cli", "aliases": [ "publish exe", "publish tool", "publish main app" ], "tags": [ "dotnet", "publish", "primary" ], "dependsOn": [], "requireFiles": [ "DevTool.csproj" ], "steps": [ { "id": "publish-primary-dotnet:run", "label": "dotnet publish DevTool.csproj -c Release -o output", "command": "dotnet", "args": [ "publish", "DevTool.csproj", "-c", "Release", "-o", "output" ], "workingDir": ".", "action": null, "actionArgs": [], "requires": [ { "tool": "dotnet", "installPolicy": "Prompt" } ] } ] }, { "id": "build", "label": "Build", "description": "Build detected project stacks", "group": "Build", "category": null, "guidedName": null, "aliases": [], "tags": [], "dependsOn": [], "requireFiles": [], "steps": [ { "id": "dotnet-build", "label": "dotnet build", "command": null, "args": [], "workingDir": ".", "action": "dotnet-build", "actionArgs": [], "requires": [] }, { "id": "npm-build", "label": "npm run build", "command": null, "args": [], "workingDir": "src\\DevTool.Host.Gui\\TauriShell", "action": "npm-build", "actionArgs": [], "requires": [] }, { "id": "cargo-build", "label": "cargo build", "command": null, "args": [], "workingDir": ".", "action": "cargo-build", "actionArgs": [], "requires": [] }, { "id": "tauri-build", "label": "tauri build", "command": null, "args": [], "workingDir": "src\\DevTool.Host.Gui\\TauriShell", "action": "tauri-build", "actionArgs": [], "requires": [] } ] }, { "id": "deps-refresh", "label": "Refresh Dependencies", "description": "Restore/install dependency stacks", "group": "Deps", "category": null, "guidedName": null, "aliases": [], "tags": [], "dependsOn": [], "requireFiles": [], "steps": [ { "id": "dotnet-restore", "label": "dotnet restore", "command": null, "args": [], "workingDir": ".", "action": "dotnet-restore", "actionArgs": [], "requires": [] }, { "id": "npm-ci", "label": "npm ci", "command": null, "args": [], "workingDir": "src\\DevTool.Host.Gui\\TauriShell", "action": "npm-ci", "actionArgs": [], "requires": [] } ] }, { "id": "test", "label": "Run Tests", "description": "Run detected test stacks", "group": "Test", "category": null, "guidedName": null, "aliases": [], "tags": [], "dependsOn": [], "requireFiles": [], "steps": [ { "id": "dotnet-test", "label": "dotnet test", "command": null, "args": [], "workingDir": ".", "action": "dotnet-test", "actionArgs": [], "requires": [] }, { "id": "npm-test", "label": "npm test", "command": null, "args": [], "workingDir": "src\\DevTool.Host.Gui\\TauriShell", "action": "npm-test", "actionArgs": [], "requires": [] }, { "id": "python-pytest", "label": "python -m pytest", "command": null, "args": [], "workingDir": ".", "action": "python-pytest", "actionArgs": [], "requires": [] }, { "id": "cargo-test", "label": "cargo test", "command": null, "args": [], "workingDir": ".", "action": "cargo-test", "actionArgs": [], "requires": [] } ] }, { "id": "repo-health", "label": "Repo Health", "description": "Check repo status and fetch remotes", "group": "Repo", "category": null, "guidedName": null, "aliases": [], "tags": [], "dependsOn": [], "requireFiles": [], "steps": [ { "id": "git-status", "label": "git status", "command": null, "args": [], "workingDir": ".", "action": "git-status", "actionArgs": [], "requires": [] }, { "id": "git-fetch", "label": "git fetch", "command": null, "args": [], "workingDir": ".", "action": "git-fetch", "actionArgs": [], "requires": [] } ] } ], "env": [ { "key": "SDT_LOG_LEVEL", "description": "CLI log verbosity", "default": "information", "options": [ "trace", "debug", "information", "warning", "error", "critical" ] } ], "envProfiles": { "active": "dev", "profiles": [ { "id": "dev", "description": "Local development defaults", "inherits": [], "values": { "SDT_ENV_PROFILE": "dev", "SDT_LOG_LEVEL": "information" } }, { "id": "ci", "description": "Continuous integration defaults", "inherits": [ "dev" ], "values": { "SDT_ENV_PROFILE": "ci", "CI": "true", "SDT_LOG_LEVEL": "warning" } }, { "id": "release", "description": "Release build defaults", "inherits": [ "dev" ], "values": { "SDT_ENV_PROFILE": "release", "SDT_LOG_LEVEL": "warning" } } ] }, "toolchains": { "python": { "executable": "python", "windowsExecutable": "py", "launcherVersion": null, "venvDir": ".venv", "profiles": [], "pipScript": null }, "node": { "packageManager": "npm", "workingDir": "src\\DevTool.Host.Gui\\TauriShell" } }, "tooling": { "defaultInstallPolicy": "Prompt", "tools": [ { "tool": "cargo", "preferredInstallCommands": [], "executables": [] }, { "tool": "dotnet", "preferredInstallCommands": [], "executables": [] }, { "tool": "git", "preferredInstallCommands": [], "executables": [] }, { "tool": "node", "preferredInstallCommands": [], "executables": [] }, { "tool": "npm", "preferredInstallCommands": [], "executables": [] }, { "tool": "python", "preferredInstallCommands": [], "executables": [] }, { "tool": "tauri", "preferredInstallCommands": [], "executables": [] } ] }, "project": { "type": "tauri", "rootHints": [ "*.sln", ".git", "Cargo.toml", "package.json", "scripts", "tauri.conf.json" ], "artifacts": [ "bin", "obj", ".sdt/debug" ] }, "debug": { "profiles": [ { "id": "dotnet-run", "label": "Run .NET app", "description": "", "category": null, "guidedName": null, "aliases": [], "tags": [], "type": "dotnet", "command": "dotnet", "args": [ "run" ], "workingDir": ".", "env": {}, "requires": [ { "tool": "dotnet", "installPolicy": "Prompt" } ], "attach": { "kind": "manual", "port": null, "processName": null, "note": "Attach your IDE debugger to the running dotnet process." } }, { "id": "npm-dev", "label": "Run npm dev server", "description": "", "category": null, "guidedName": null, "aliases": [], "tags": [], "type": "node", "command": "npm", "args": [ "run", "dev" ], "workingDir": "src\\DevTool.Host.Gui\\TauriShell", "env": {}, "requires": [ { "tool": "node", "installPolicy": "Prompt" }, { "tool": "npm", "installPolicy": "Prompt" } ], "attach": null } ], "diagnostics": { "enabled": true, "outputDir": ".sdt/debug", "includeAllEnv": false, "captureEnvKeys": [ "SDT_LOG_LEVEL", "DOTNET_CLI_HOME", "NUGET_PACKAGES", "PIP_CACHE_DIR", "NVM_HOME", "NVM_SYMLINK" ], "redactSensitive": true, "sensitiveKeyPatterns": [ "TOKEN", "SECRET", "PASSWORD", "PWD", "CREDENTIAL", "API_KEY", "ACCESS_KEY", "PRIVATE_KEY" ], "redactionAllowKeys": [], "bundleOnFailure": true } } }