# Elvish: Friendly and Expressive Shell

[![Build Status on Travis](https://img.shields.io/travis/elves/elvish.svg?logo=travis&label=linux%20%26%20macOS)](https://travis-ci.org/elves/elvish)
[![Build status on AppVeyor](https://img.shields.io/appveyor/ci/xiaq/elvish.svg?logo=appveyor&label=windows)](https://ci.appveyor.com/project/xiaq/elvish) <!-- [![Build Status on VSTS](https://img.shields.io/vso/build/xiaq/13c48a6c-b2dc-472e-af6c-169bf448f8e6/1.svg?logo=tfs&label=macOS)](https://xiaq.visualstudio.com/elvish/_build) 
[![Code Coverage on codecov.io](https://img.shields.io/codecov/c/github/elves/elvish.svg?label=codecov)](https://codecov.io/gh/elves/elvish) -->
[![Code Coverage on coveralls.io](https://img.shields.io/coveralls/github/elves/elvish.svg?label=coveralls)](https://coveralls.io/github/elves/elvish)
[![Go Report Card](https://goreportcard.com/badge/github.com/elves/elvish)](https://goreportcard.com/report/github.com/elves/elvish)
[![GoDoc](https://img.shields.io/badge/godoc-api-blue.svg)](https://godoc.elv.sh)
[![License](https://img.shields.io/badge/BSD-2--clause-blue.svg)](https://github.com/elves/elvish/blob/master/LICENSE)
[![Twitter](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/RealElvishShell)

Elvish is a friendly and expressive shell for Linux, BSDs, macOS and Windows. Despite being pre-1.0 software, it is already suitable for most daily interactive use.

Most of the resources for Elvish can be found on the [official website](https://elv.sh). Follow this simple 5-step to become a master Elf!

1. [Download](https://elv.sh/download/) a binary for your platform.

2. Get started with examples from the [cookbook](https://elv.sh/learn/cookbook.html).

3. Read [the reference section](https://elv.sh/ref/) to understand Elvish as a programming language; in particular, read the [language reference](https://elv.sh/ref/language.html) and the [builtin module reference](https://elv.sh/ref/builtin.html).

4. Get familiar with how to write [Effective Elvish](https://elv.sh/learn/effective-elvish.html). This is a living document that evolves with the Elvish language itself.

5. Last but not least, study the [philosophy](https://elv.sh/ref/philosophy.html) and the [name](https://elv.sh/ref/name.html) of Elvish.

To meet fellow elves, you can join any of these channels (all connected thanks to [matterbridge](https://github.com/42wim/matterbridge/)):

[![Gitter](https://img.shields.io/badge/gitter-elves/elvish-blue.svg?logo=gitter-white)](https://gitter.im/elves/elvish)
[![Telegram Group](https://img.shields.io/badge/telegram-@elvish-blue.svg)](https://telegram.me/elvish)
[![#elvish on freenode](https://img.shields.io/badge/freenode-%23elvish-blue.svg)](https://webchat.freenode.net/?channels=elvish)

Regardless of whether you consider yourself a master Elf, feel free to contribute! [CONTRIBUTING.md](CONTRIBUTING.md) has some notes for contributors. You can also join any of these channels to meet fellow developers:

[![Gitter for Developers](https://img.shields.io/badge/gitter-elves/elvish--dev-000000.svg?logo=gitter-white)](https://gitter.im/elves/elvish-dev)
[![Telegram Group for Developers](https://img.shields.io/badge/telegram-@elvish__dev-000000.svg)](https://telegram.me/elvish_dev)
[![#elvish-dev on freenode](https://img.shields.io/badge/freenode-%23elvish--dev-000000.svg)](https://webchat.freenode.net/?channels=elvish-dev)
