# About this Guide This guide is intended to help document how `KCL` (the KCL compiler) works, and to help new contributors get involved in KCL development. This guide consists of **4** parts: 1. **Building and Testing `KCL`**: Contains information that should be useful no matter how you are contributing, about building, testing, debugging, profiling, etc. 2. **Contributing to `KCL`**: Contains information that should be useful no matter how you are contributing, about procedures for contribution, using git and Github, etc. 3. **`KCL` Architecture**: Contains an introduction to the architecture of the compiler and a detailed introduction to each compilation process. 4. **Appendices**: There are a few of these with different information, including a glossary. The Guide itself is of course open-source as well, and the sources can be found at the [GitHub repository](https://github.com/kcl-lang/kcl/tree/main/docs/dev_guide). If you find any mistakes in the guide, please file an issue about it. Even better, open a Github Pull Request (PR) with a correction! If you do contribute to the guide, please see the corresponding subsection on writing documentation in this guide. Read [Quick Start](2.quick_start.md) to start. ## Other Documentations * [KCL Documents](https://kcl-lang.io/)