.. _west:

West (Zephyr's meta-tool)
#########################

The Zephyr project includes a swiss-army knife command line tool named
``west``\ [#west-name]_. West is developed in its own `repository`_.  Like
``git`` and ``docker``, the top-level ``west`` command takes some common
options, a sub-command to run, and then options and arguments for that
sub-command::

  west [common-opts] <command> [opts] <args>

West's built-in commands provide a multiple repository management
system with features inspired by Google's Repo tool and Git
submodules. West simplifies configuration and is also pluggable: you
can write your own west "extension commands" which add additional
features to west.  Zephyr uses this feature to provide conveniences
for building applications, flashing and debugging them, and more.

It is possible not to use west for Zephyr development if you do not
require these features, prefer to use your own tools, or want to
eliminate the extra layer of indirection. However, this implies extra
effort and expert knowledge.

You can run ``west --help`` (or ``west -h`` for short) to get top-level help
for available west commands, and ``west <command> -h`` for detailed help on
each command.

The following pages document west's ``v0.5.x`` releases, and provide additional
context about the tool.

.. toctree::
   :maxdepth: 1

   repo-tool.rst
   manifest.rst
   config.rst
   extensions.rst
   build-flash-debug.rst
   zephyr-cmds.rst
   sign.rst
   why.rst
   without-west.rst
   planned.rst

For details on west's Python APIs (including APIs provided by extensions in the
zephyr), see :ref:`west-apis`.

.. rubric:: Footnotes

.. [#west-name]

   Zephyr is an English name for the Latin `Zephyrus
   <https://en.wiktionary.org/wiki/Zephyrus>`_, the ancient Greek god of the
   west wind.

.. _repository:
   https://github.com/zephyrproject-rtos/west
