SDT/sdtconfig-DevTool-master.json
stan44 d5a74be368 Add guided CLI workflows and config commands
- introduce `sdt` subcommands for run, debug, setup, env, favorite, and explain
- add project/workspace discovery plus config bootstrap and migration helpers
- expand tests for CLI parsing, project role detection, and headless flows
2026-03-29 22:22:48 -05:00

607 lines
14 KiB
JSON

{
"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
}
}
}