# Development Guide ## Compile Documentation Xray supports multiple platforms, and you can perform cross-compilation on various platforms by yourself. Please click [Compile Documentation](./intro/compile.md) to view specific compile-related content. ## Design Concept Xray kernel provides a platform for secondary development. This section explains the design goals and architecture of Xray. Please click [Design Principles](./intro/design.md) to learn about the design goals and architecture of Xray. ## Development Standards This section outlines the guidelines to follow when obtaining code, developing, submitting PRs, as well as the relevant coding standards. Please click [Development Specification](./intro/guide.md) to view the guidelines that should be followed during Xray development. ## Protocol Details Xray uses many protocols, and you can obtain a detailed description of each protocol through various means. ### [VLESS Protocol](./protocols/vless.md) VLESS is a stateless lightweight transport protocol that can serve as a bridge between Xray clients and servers. ### [VMess Protocol](./protocols/vmess.md) VMess is an encrypted transport protocol that can act as a bridge between Xray clients and servers. ### [Mux.Cool Protocol](./protocols/muxcool.md) Mux.Cool protocol is a multiplexing transport protocol used to transmit multiple independent data streams within an established data stream. ### [mKCP Protocol](./protocols/mkcp.md) mKCP is a stream transmission protocol modified from the [KCP protocol](https://github.com/skywind3000/kcp) that can transmit arbitrary data streams in order.