# Introduction

Thanks for considering contributing to Aminal. 

## How do terminals even work?

- [ELI5 - How does a terminal emulator work?](https://www.reddit.com/r/linuxquestions/comments/3ciful/eli5_how_does_a_terminal_emulator_work/)
- [Xterm Control Sequences](https://www.xfree86.org/4.8.0/ctlseqs.html) 
- [VT100 Programmer Information](https://vt100.net/docs/vt100-ug/chapter3.html)
- [VT100 Manual](http://www.bitsavers.org/pdf/dec/terminal/vt100/EK-VT100-UG-001_VT100_User_Guide_Aug78.pdf)

## What can I work on?

You can browse the [issues](https://github.com/liamg/aminal/issues) to see what is currently needed.

Good places to get started are:

- [Good first issues](https://github.com/liamg/aminal/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
- [Help wanted issues](https://github.com/liamg/aminal/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)

Simply using the terminal and experimenting with different applications is also very useful, as it helps us prioritise work and find bugs. If you find something that doesn't work yet, please [raise an issue](https://github.com/liamg/aminal/issues/new/choose).

## I want to build X feature or fix Y bug...

If you have an idea for a feature, please [raise an issue](https://github.com/liamg/aminal/issues/new/choose) before you do anything else.

Feel free to start working a bug fix straight away, though a [related issue](https://github.com/liamg/aminal/issues/new/choose) is needed to go along with your merge request.

