Introduction

Hello and welcome to the Nushell Contributor Book. Nushell, or Nu as its often called, is a modern shell written in Rust. You can learn more about Nu and how to use it in the Nu bookopen in new window. In this book, we'll be looking at how to contribute to the Nu project itself, how Nu's code is organized, and the core concepts behind its design.

Contributing to Nu will require at least some basic programmer experience, and it's helpful to have some experience with Rust. That said, we've had people contribute to Nu who have never written a line of Rust before writing their submission. If you are interested in contributing, there's a growing community of people who would like to help you succeed.

This aims to cover three separate areas:

  1. The Design Philosophy of Nu
  2. The Implementation of Nu
  3. Best practices for coding for Nu

The latter two topics are primarily covered directly in the Nushell repositoryopen in new window in developer documentation crossreferenced from its CONTRIBUTING.md fileopen in new window.