Run the VSCode tasks and debug configurations#

The repository ships with VSCode tasks and debug launch configurations so that contributors can exercise the deploy-tools CLI without typing out full commands. They run the same subcommands documented in the CLI reference, pre-filled to operate on the bundled demo_configuration.

The demo configuration#

src/deploy_tools/demo_configuration/ holds a small, self-contained set of module definitions used as sample input. The tasks default to reading this configuration and writing the generated deployment to demo-output/, giving you a realistic deployment to inspect without needing a real configuration repository.

Running a task#

Open the command palette and choose Tasks: Run Task, then pick one of:

  • Clean deployment — empty and recreate demo-output/.

  • Validate deployment — preview the changes a sync would make (read-only).

  • Sync modules — build and deploy the demo configuration into demo-output/.

  • Compare deployment to snapshot — diff the deployment against a previous snapshot.

  • Generate schema — regenerate the JSON schemas under models/schemas/.

  • Recreate tests sample output from golden-master configuration — regenerate the golden-master test samples via tests/generate_samples.sh.

  • Tests, lint and docs — run tox -p (type checking, tests, and the docs build).

Tasks that take flags (such as --allow-all, --from-scratch, or the compare mode) prompt for those options when run, defaulting to the most common choice.

Debugging a command#

The Run and Debug panel offers equivalent launch configurations (Debug Validation, Debug Sync, Debug Compare, Debug Schema Generation, and Debug Unit Test). These invoke the same commands under debugpy so you can set breakpoints and step through the CLI while it processes the demo configuration.