Debugging & Tasks
Tasks
Turn any shell command your project needs — build, lint, test, watch — into a one-click, keyboard-shortcut-bound, or fully automatic action.
What a task is
A task wraps a terminal command with a name, so instead of remembering and
retyping npm run build (or your project's equivalent), you run Tasks:
Run Task → build from the Command Palette, or bind it to a keyboard
shortcut, or set it to run automatically whenever you open the folder.
Generate tasks automatically
Run Tasks: Configure Task — Gunamaya scans for a package.json,
Makefile, or similar and offers ready-made tasks for the scripts it
finds.
Customize in tasks.json
Fine-tune anything auto-generated, or write your own from scratch, in
.vscode/tasks.json.
Run it
Ctrl+Shift+B runs your project's default build task directly; anything else goes through Tasks: Run Task.
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "npm run build",
"group": { "kind": "build", "isDefault": true },
"problemMatcher": ["$tsc"]
}
]
}Auto-detection
Gunamaya can detect tasks from common project files without you writing
tasks.json first:
- npm / yarn / pnpm — scripts in
package.json(the npm extension) - Gulp, Grunt, Jake — tasks defined in their usual config files
- TypeScript / make — when those tools are present in the folder
Run Tasks: Configure Task and pick from the detected list, or run a
detected task directly from Tasks: Run Task. Scripts named build,
compile, or watch are treated as build tasks by default.
Problem matchers
The problemMatcher field is what turns raw command output into clickable
entries in the Problems panel — a TypeScript compiler error, for
instance, becomes a link that jumps straight to the offending file and line
instead of leaving you to parse terminal text. Gunamaya ships matchers for
the most common compilers and linters; point yours at $tsc, $eslint-stylish,
or a custom pattern for anything else.
Background and watch tasks
Mark a long-running task (a dev server, a file watcher) as "isBackground": true so Gunamaya knows not to wait for it to exit before considering it
"started" — instead, it watches for a pattern in the output (configurable via
problemMatcher.background) that signals readiness.
Run a task automatically on folder open
Set "runOptions": { "runOn": "folderOpen" } on a task — a dev server or
file watcher — so it starts the moment you open the project, with no extra
step.
Tasks and Gunamaya AI
Gunamaya AI can run any task the same way it runs terminal commands — ask it to "run the build and fix any errors" and it will invoke the task, read the Problems panel output, and iterate.