{ "version": "2.0.0", "tasks": [ { "label": "(build): Build the project using the build script defined in `package.json`", "type": "shell", "command": "bash start.sh && task build" }, { "label": "(clean): Removes optional folders that are cached during various tasks", "type": "shell", "command": "bash start.sh && task clean" }, { "label": "(commit): Lint staged files, report spelling errors, and open a _required_ commit dialoge", "type": "shell", "command": "bash start.sh && task commit" }, { "label": "(fix): Run code auto-fixers / auto-formatters", "type": "shell", "command": "bash start.sh && task fix" }, { "label": "(init): Runs the initialization script", "type": "shell", "command": "bash start.sh && task init" }, { "label": "(jumpusb): Creates a JumpUSB (https://jumpusb.com)", "type": "shell", "command": "bash start.sh && task jumpusb" }, { "label": "(lint): Lints the project using all linters", "type": "shell", "command": "bash start.sh && task lint" }, { "label": "(livereload): Start the project with live-reloading (i.e. watch mode)", "type": "shell", "command": "bash start.sh && task livereload" }, { "label": "(preload): Set up your workstation in advance by installing commonly used programs", "type": "shell", "command": "bash start.sh && task preload" }, { "label": "(prepare): Prepares the project for the normal start command", "type": "shell", "command": "bash start.sh && task prepare" }, { "label": "(publish): Publish a semantic release via `semantic-release`", "type": "shell", "command": "bash start.sh && task publish" }, { "label": "(reset): Resets the project by removing all caches and then re-generating templated files", "type": "shell", "command": "bash start.sh && task reset" }, { "label": "(scripts): Run and view descriptions for `npm scripts` via an interactive dialog", "type": "shell", "command": "bash start.sh && task scripts" }, { "label": "(services): Update elements of the repository that require API access", "type": "shell", "command": "bash start.sh && task services" }, { "label": "(shell): Start a terminal session using Docker with any Linux operating system", "type": "shell", "command": "bash start.sh && task shell" }, { "label": "(start): Start the project by installing / updating dependencies, repairing issues, and opening a tutorial", "type": "shell", "command": "bash start.sh && task start" }, { "label": "(synchronize): Set up the project and refresh it with the latest changes", "type": "shell", "command": "bash start.sh && task synchronize" }, { "label": "(test): Open an interactive dialog to select and run a Molecule test", "type": "shell", "command": "bash start.sh && task test" }, { "label": "(update): Fully update the repository", "type": "shell", "command": "bash start.sh && task update" }, { "label": "(yubikey): Create an OpenGPG-enabled YubiKey", "type": "shell", "command": "bash start.sh && task yubikey" }, { "label": "(ansible:playbook:environment): Prompts for which environment to use and then symlinks to it", "type": "shell", "command": "bash start.sh && task ansible:playbook:environment" }, { "label": "(ansible:playbook:find-missing:files): Find roles that are missing files", "type": "shell", "command": "bash start.sh && task ansible:playbook:find-missing:files" }, { "label": "(ansible:populate:dependencies): Attempt to automatically populate `meta/main.yml` and `requirements.yml`", "type": "shell", "command": "bash start.sh && task ansible:populate:dependencies" }, { "label": "(ansible:test:local): Run the Ansible play on the local machine (or via WSL - see task summary)", "type": "shell", "command": "bash start.sh && task ansible:test:local" }, { "label": "(ansible:test:molecule:docker): Runs a Docker Molecule test", "type": "shell", "command": "bash start.sh && task ansible:test:molecule:docker" }, { "label": "(ansible:test:molecule:local): Runs a Molecule test on the localhost", "type": "shell", "command": "bash start.sh && task ansible:test:molecule:local" }, { "label": "(ansible:test:molecule:ssh): Runs a Molecule test over SSH", "type": "shell", "command": "bash start.sh && task ansible:test:molecule:ssh" }, { "label": "(ansible:test:molecule:virtualbox): Runs a full E2E Molecule test for all supported operating systems", "type": "shell", "command": "bash start.sh && task ansible:test:molecule:virtualbox" }, { "label": "(ansible:test:molecule:virtualbox:converge): Provisions a desktop VirtualBox VM and then runs a Molecule test", "type": "shell", "command": "bash start.sh && task ansible:test:molecule:virtualbox:converge" }, { "label": "(ansible:test:vagrant): Runs the playbook using Vagrant", "type": "shell", "command": "bash start.sh && task ansible:test:vagrant" }, { "label": "(ci:github:actions:test): Locally test the on-push GitHub Action event (only works for Linux containers)", "type": "shell", "command": "bash start.sh && task ci:github:actions:test" }, { "label": "(commit:all): Add all the untracked changes and commit the code", "type": "shell", "command": "bash start.sh && task commit:all" }, { "label": "(common:code:count): Display a chart detailing the lines of code for each language used", "type": "shell", "command": "bash start.sh && task common:code:count" }, { "label": "(common:code:find:todo): Scan code base for TODOs and FIXMEs", "type": "shell", "command": "bash start.sh && task common:code:find:todo" }, { "label": "(docker:build): Build a regular Docker image and then generate a slim build from it", "type": "shell", "command": "bash start.sh && task docker:build" }, { "label": "(docker:build:fat:build): Build a normal Docker container from the Dockerfile", "type": "shell", "command": "bash start.sh && task docker:build:fat:build" }, { "label": "(docker:build:slim): Build a slim version of the Docker image", "type": "shell", "command": "bash start.sh && task docker:build:slim" }, { "label": "(docker:shell): Open the terminal of an existing Docker image", "type": "shell", "command": "bash start.sh && task docker:shell" }, { "label": "(docker:test): Perform all available tests on the Docker image", "type": "shell", "command": "bash start.sh && task docker:test" }, { "label": "(docker:test:container-structure-test): Runs ContainerStructureTest for Dockerfile build", "type": "shell", "command": "bash start.sh && task docker:test:container-structure-test" }, { "label": "(docker:test:output): For each folder matching `./test/output*`, ensure slim and latest output match with default command", "type": "shell", "command": "bash start.sh && task docker:test:output" }, { "label": "(fix:eslint): Fix ESLint errors automatically", "type": "shell", "command": "bash start.sh && task fix:eslint" }, { "label": "(fix:eslint:staged): Auto-fix only modified files with ESLint", "type": "shell", "command": "bash start.sh && task fix:eslint:staged" }, { "label": "(fix:go): Fix Go with all available Go fixers", "type": "shell", "command": "bash start.sh && task fix:go" }, { "label": "(fix:json): Format and sort JSON", "type": "shell", "command": "bash start.sh && task fix:json" }, { "label": "(fix:markdown): Auto-fixes markdown files", "type": "shell", "command": "bash start.sh && task fix:markdown" }, { "label": "(fix:packer): Automatically fix and format Packer templates", "type": "shell", "command": "bash start.sh && task fix:packer" }, { "label": "(fix:php): Fix PHP with all available PHP auto-fixers", "type": "shell", "command": "bash start.sh && task fix:php" }, { "label": "(fix:prettier): Automatically format most files using Prettier", "type": "shell", "command": "bash start.sh && task fix:prettier" }, { "label": "(fix:python): Automatically format Python files using Black", "type": "shell", "command": "bash start.sh && task fix:python" }, { "label": "(fix:shellcheck): Automatically apply fixes to `.sh` and `.sh.j2` files using Shellcheck", "type": "shell", "command": "bash start.sh && task fix:shellcheck" }, { "label": "(fix:spelling:markdown): Auto-fix spelling errors in markdown files using `misspell`", "type": "shell", "command": "bash start.sh && task fix:spelling:markdown" }, { "label": "(fix:toml): Format `.toml` files by alphabetizing and flattening", "type": "shell", "command": "bash start.sh && task fix:toml" }, { "label": "(fix:yaml): Auto-format and sort YML files", "type": "shell", "command": "bash start.sh && task fix:yaml" }, { "label": "(get:links): Log useful links such as the current project's git repository link", "type": "shell", "command": "bash start.sh && task get:links" }, { "label": "(go:test:convey): Run tests through the browser with GoConvey", "type": "shell", "command": "bash start.sh && task go:test:convey" }, { "label": "(group:exec): Execute group commands on any GitLab group (including repositories in sub-groups)", "type": "shell", "command": "bash start.sh && task group:exec" }, { "label": "(image:compress): Compress JPG/PNG images via TinyPNG", "type": "shell", "command": "bash start.sh && task image:compress" }, { "label": "(install:ansible:role): Install an Ansible role by using Docker", "type": "shell", "command": "bash start.sh && task install:ansible:role" }, { "label": "(lint:ansible): Lint Ansible projects using Ansible Lint", "type": "shell", "command": "bash start.sh && task lint:ansible" }, { "label": "(lint:any): Generic linting of files for things like destroyed-symlinks, merge conflicts, etc.", "type": "shell", "command": "bash start.sh && task lint:any" }, { "label": "(lint:codeclimate): Run CodeClimate with all available linters", "type": "shell", "command": "bash start.sh && task lint:codeclimate" }, { "label": "(lint:docker): Lint Dockerfiles using Hadolint (requires Docker)", "type": "shell", "command": "bash start.sh && task lint:docker" }, { "label": "(lint:dockerfilelint): Lint a Dockerfile with `dockerfilelint`", "type": "shell", "command": "bash start.sh && task lint:dockerfilelint" }, { "label": "(lint:eslint): Lint with ESLint", "type": "shell", "command": "bash start.sh && task lint:eslint" }, { "label": "(lint:eslint:staged): Lint only modified files with ESLint", "type": "shell", "command": "bash start.sh && task lint:eslint:staged" }, { "label": "(lint:eslint:warn-all): Convert ESLint errors into warnings by saving the modified configuration inside `package.json`", "type": "shell", "command": "bash start.sh && task lint:eslint:warn-all" }, { "label": "(lint:go): Lint Go with `golangci-lint`", "type": "shell", "command": "bash start.sh && task lint:go" }, { "label": "(lint:markdown:markdown): Lint markdown files with `remark`", "type": "shell", "command": "bash start.sh && task lint:markdown:markdown" }, { "label": "(lint:markdown:markdown:links): Scan markdown files for broken links", "type": "shell", "command": "bash start.sh && task lint:markdown:markdown:links" }, { "label": "(lint:packer): Validate the Packer templates ending with `template.json`", "type": "shell", "command": "bash start.sh && task lint:packer" }, { "label": "(lint:php): Lint PHP with all available PHP linters", "type": "shell", "command": "bash start.sh && task lint:php" }, { "label": "(lint:prettier): Lint formatting using Prettier", "type": "shell", "command": "bash start.sh && task lint:prettier" }, { "label": "(lint:prose:prose): Lint text/markdown for English prose with `proselint`", "type": "shell", "command": "bash start.sh && task lint:prose:prose" }, { "label": "(lint:python): Lint Python files using Flake8", "type": "shell", "command": "bash start.sh && task lint:python" }, { "label": "(lint:shellcheck): Report possible errors in shell scripts", "type": "shell", "command": "bash start.sh && task lint:shellcheck" }, { "label": "(lint:spelling): Checks for spelling errors in staged files", "type": "shell", "command": "bash start.sh && task lint:spelling" }, { "label": "(lint:vagrant): Validate the Vagrantfile", "type": "shell", "command": "bash start.sh && task lint:vagrant" }, { "label": "(lint:yaml): Lint `.yml` files using YAML Lint", "type": "shell", "command": "bash start.sh && task lint:yaml" }, { "label": "(nest:benchmark): Initiate a web server benchmarking session (with `clinic`)", "type": "shell", "command": "bash start.sh && task nest:benchmark" }, { "label": "(new:project): Create a new project", "type": "shell", "command": "bash start.sh && task new:project" }, { "label": "(npm:build): Build the application", "type": "shell", "command": "bash start.sh && task npm:build" }, { "label": "(npm:clean): Remove temporary folders that might conflicts with builds", "type": "shell", "command": "bash start.sh && task npm:clean" }, { "label": "(npm:cov:open): View the code coverage report in the browser", "type": "shell", "command": "bash start.sh && task npm:cov:open" }, { "label": "(npm:cov:upload): Upload code coverage report to `codecov.io`", "type": "shell", "command": "bash start.sh && task npm:cov:upload" }, { "label": "(npm:depcheck:dependencies): Remove unused dependencies", "type": "shell", "command": "bash start.sh && task npm:depcheck:dependencies" }, { "label": "(npm:doc:html): Generate TypeDoc HTML documentation", "type": "shell", "command": "bash start.sh && task npm:doc:html" }, { "label": "(npm:doc:json): Generate TypeDoc JSON documentation", "type": "shell", "command": "bash start.sh && task npm:doc:json" }, { "label": "(npm:start): Run the application", "type": "shell", "command": "bash start.sh && task npm:start" }, { "label": "(npm:start:inspect): Run the application in `watch` mode and open DevTools", "type": "shell", "command": "bash start.sh && task npm:start:inspect" }, { "label": "(npm:start:prod): Run the application in `production` mode", "type": "shell", "command": "bash start.sh && task npm:start:prod" }, { "label": "(npm:start:prod:inspect): Run the application in `production` and `watch` mode and open DevTools", "type": "shell", "command": "bash start.sh && task npm:start:prod:inspect" }, { "label": "(npm:test): Run the unit tests for an NPM project", "type": "shell", "command": "bash start.sh && task npm:test" }, { "label": "(npm:test:coverage): Generate code coverage assets", "type": "shell", "command": "bash start.sh && task npm:test:coverage" }, { "label": "(npm:test:dashboard): Run and manage test cases from a web interface (powered by `majestic`)", "type": "shell", "command": "bash start.sh && task npm:test:dashboard" }, { "label": "(npm:test:debug): Debug tests in `watch` mode", "type": "shell", "command": "bash start.sh && task npm:test:debug" }, { "label": "(npm:test:inspect): Debug tests with DevTools in `watch` mode", "type": "shell", "command": "bash start.sh && task npm:test:inspect" }, { "label": "(npm:typesync): Install missing type definitions", "type": "shell", "command": "bash start.sh && task npm:typesync" }, { "label": "(packer:build): Build Packer images for all available platforms", "type": "shell", "command": "bash start.sh && task packer:build" }, { "label": "(packer:build:kvm): Build a Packer image for KVM", "type": "shell", "command": "bash start.sh && task packer:build:kvm" }, { "label": "(packer:build:parallels): Build a Packer image for Parallels", "type": "shell", "command": "bash start.sh && task packer:build:parallels" }, { "label": "(packer:build:virtualbox): Build a Packer image for VirtualBox", "type": "shell", "command": "bash start.sh && task packer:build:virtualbox" }, { "label": "(packer:build:vmware): Build a Packer image for VMWare", "type": "shell", "command": "bash start.sh && task packer:build:vmware" }, { "label": "(packer:install:platforms): Install all available virtualization providers", "type": "shell", "command": "bash start.sh && task packer:install:platforms" }, { "label": "(publish:android:beta): Publishes Android app to Firebase beta channel", "type": "shell", "command": "bash start.sh && task publish:android:beta" }, { "label": "(publish:android:release): Publishes Android app to Google Play", "type": "shell", "command": "bash start.sh && task publish:android:release" }, { "label": "(publish:app:beta): Publish a beta release of all the release targets", "type": "shell", "command": "bash start.sh && task publish:app:beta" }, { "label": "(publish:app:release): Publish a production release of all the targets", "type": "shell", "command": "bash start.sh && task publish:app:release" }, { "label": "(publish:brew:cask): Publishes a Homebrew Cask", "type": "shell", "command": "bash start.sh && task publish:brew:cask" }, { "label": "(publish:brew:formula): Publishes a Homebrew Formulae", "type": "shell", "command": "bash start.sh && task publish:brew:formula" }, { "label": "(publish:chrome:release): Publishes Chrome extension", "type": "shell", "command": "bash start.sh && task publish:chrome:release" }, { "label": "(publish:force): Force a `semantic-release` even if there are no new eligible commits", "type": "shell", "command": "bash start.sh && task publish:force" }, { "label": "(publish:ios:beta): Publishes iOS app to Firebase beta channel", "type": "shell", "command": "bash start.sh && task publish:ios:beta" }, { "label": "(publish:ios:release): Publishes iOS app to iTunes", "type": "shell", "command": "bash start.sh && task publish:ios:release" }, { "label": "(publish:opera:release): Publishes Opera extension", "type": "shell", "command": "bash start.sh && task publish:opera:release" }, { "label": "(pull:upstream): Pull from upstream repositories", "type": "shell", "command": "bash start.sh && task pull:upstream" }, { "label": "(python:build): Build the project", "type": "shell", "command": "bash start.sh && task python:build" }, { "label": "(python:build:binary): Build standalone binary", "type": "shell", "command": "bash start.sh && task python:build:binary" }, { "label": "(python:publish): Publish the project to PyPi.org", "type": "shell", "command": "bash start.sh && task python:publish" }, { "label": "(python:requirementstxt): Generate the requirements.txt fallback file", "type": "shell", "command": "bash start.sh && task python:requirementstxt" }, { "label": "(python:test): Runs tests with `pytest` after fixing and linting", "type": "shell", "command": "bash start.sh && task python:test" }, { "label": "(reset:force): Aggressively reset the project (**WARNING** This will wipe uncommitted work)", "type": "shell", "command": "bash start.sh && task reset:force" }, { "label": "(security:bandit): Check for Python code security issues", "type": "shell", "command": "bash start.sh && task security:bandit" }, { "label": "(security:dockle): Analyze and lint the Docker container using Dockle", "type": "shell", "command": "bash start.sh && task security:dockle" }, { "label": "(security:gitleaks): Scans repository (including git history) for possible leaked keys", "type": "shell", "command": "bash start.sh && task security:gitleaks" }, { "label": "(security:grype): Scan container images and file systems for security issues using Grype", "type": "shell", "command": "bash start.sh && task security:grype" }, { "label": "(security:private-keys): Scan for private keys", "type": "shell", "command": "bash start.sh && task security:private-keys" }, { "label": "(security:snyk): Analyze the Docker container for security vulnerabilities with Snyk (requires login)", "type": "shell", "command": "bash start.sh && task security:snyk" }, { "label": "(security:trivy): Analyze the Docker container for security vulnerabilities with Trivy", "type": "shell", "command": "bash start.sh && task security:trivy" }, { "label": "(security:yubikey:prepare): Prepares an environment by provisioning all the required software / preliminary steps", "type": "shell", "command": "bash start.sh && task security:yubikey:prepare" }, { "label": "(symlink:playbook): Symlink all the roles in the roles/ folder to ~/.ansible/roles", "type": "shell", "command": "bash start.sh && task symlink:playbook" }, { "label": "(symlink:role): Symlink the current role to ~/.ansible/roles/.", "type": "shell", "command": "bash start.sh && task symlink:role" }, { "label": "(tag:deps): Inject a new command in the `Taskfile.yml` that includes all tasks matching a given tag as deps", "type": "shell", "command": "bash start.sh && task tag:deps" }, { "label": "(vagrant:up): Select which virtualization platform to run the image on using an interactive prompt", "type": "shell", "command": "bash start.sh && task vagrant:up" } ] }