.. _other_tools_and_programs:

************************
Other Tools and Programs
************************

.. contents::
   :local:

The Ansible community uses a range of tools for working with the Ansible project. This is a list of some of the most popular of these tools.

If you know of any other tools that should be added, open a PR against the `Awesome Ansible repository <https://github.com/ansible-community/awesome-ansible>`_.

Popular editors
===============

Text editors
------------

There are popular open-source editors like Vim or Emacs that support YAML, Jinja, and specifically Ansible through corresponding plugins. Refer to `Awesome Ansible Editors List <https://github.com/ansible-community/awesome-ansible?tab=readme-ov-file#editor-and-ide-integrations>`_ for more information.

Visual studio code
------------------

An open-source, free GUI text editor created and maintained by Microsoft. Useful Visual Studio Code plugins include:

* `Ansible extension by Red Hat <https://marketplace.visualstudio.com/items?itemName=redhat.ansible>`_ - provides autocompletion, syntax highlighting, hover, diagnostics, goto support, and command to run ansible-playbook and ansible-navigator tool for both local and execution-environment setups.
* `YAML Support by Red Hat <https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml>`_ - provides YAML support through yaml-language-server with built-in Kubernetes and Kedge syntax support.


.. note::

    the Visual Studio Code Ansible extension  is maintained by the Ansible community and  Red Hat.

.. _validate-playbook-tools:

Tools for validating playbooks
==============================

- `Ansible Lint <https://docs.ansible.com/ansible-lint/index.html>`__ - a highly configurable linter for Ansible playbooks.
- `Molecule <https://ansible.readthedocs.io/projects/molecule/>`_ - a testing framework for Ansible plays and roles.
- `yamllint <https://yamllint.readthedocs.io/en/stable/>`__ - a command-line utility to check syntax validity including key repetition and indentation issues.

Collection development tools
============================

- `antsibull-changelog <https://github.com/ansible-community/antsibull-changelog>`_ - a changelog generator for Ansible collections.
- `antsibull-docs <https://github.com/ansible-community/antsibull-docs>`_ - a docsite generator and documentation validator for Ansible collections.

Other tools
===========

Refer to `Awesome Ansible Tools List <https://github.com/ansible-community/awesome-ansible#tools>`_, a community-curated list of awesome Ansible resources.
