# Documentation > Documentation for the VDL language, CLI, plugin system, and reference behavior. ## Overview - [Documentation](https://vdl.varavel.com/docs/index.md): Documentation for the VDL language, CLI, plugin system, and reference behavior. ## Sections - [Guides](https://vdl.varavel.com/docs/guides/index.md): Practical guides for installing, configuring, and extending VDL. - [Language](https://vdl.varavel.com/docs/language/index.md): Learn how to write VDL schemas from first principles. - [VDL Plugin Protocols](https://vdl.varavel.com/docs/protocols/index.md): Specification of standard plugin protocols in the VDL ecosystem. - [Reference](https://vdl.varavel.com/docs/reference/index.md): Reference material for VDL language behavior, formatting, annotations, RPCs, and events. ## Pages - [Installation](https://vdl.varavel.com/docs/guides/installation/index.md): Complete installation options for the VDL CLI. - [CLI Commands](https://vdl.varavel.com/docs/guides/cli/index.md): Complete reference for the VDL command-line interface. - [Editor Integration](https://vdl.varavel.com/docs/guides/editors/index.md): Set up VDL support in your code editor. - [Project Configuration](https://vdl.varavel.com/docs/guides/configuration/index.md): Configure VDL generation with vdl.config.vdl. - [Available Plugins](https://vdl.varavel.com/docs/guides/plugins/index.md): Official VDL plugins and what each one generates. - [Creating Plugins](https://vdl.varavel.com/docs/guides/creating-plugins/index.md): A practical guide to writing VDL plugins. - [Start Here](https://vdl.varavel.com/docs/language/start-here/index.md): Learn how to write VDL schemas from first principles. - [Files and Comments](https://vdl.varavel.com/docs/language/files/index.md): How VDL files are structured and how comments work. - [Includes](https://vdl.varavel.com/docs/language/includes/index.md): Split VDL schemas across files with include statements. - [Docstrings](https://vdl.varavel.com/docs/language/docstrings/index.md): Document VDL schemas with inline and external Markdown docs. - [Types](https://vdl.varavel.com/docs/language/types/index.md): Define object types, aliases, arrays, maps, and inline objects. - [Field Types](https://vdl.varavel.com/docs/language/field-types/index.md): Learn primitives, arrays, maps, custom types, enums, and inline object field types. - [Enums](https://vdl.varavel.com/docs/language/enums/index.md): Define finite sets of named values. - [Constants and Literals](https://vdl.varavel.com/docs/language/constants/index.md): Define reusable dynamic literal values with const declarations. - [Annotations](https://vdl.varavel.com/docs/language/annotations/index.md): Attach metadata to VDL declarations, fields, and enum members. - [Spreads and References](https://vdl.varavel.com/docs/language/spreads-references/index.md): Reuse fields, enum members, and literal values safely. - [Naming and Validation](https://vdl.varavel.com/docs/language/naming-validation/index.md): Learn the naming conventions and validation rules VDL applies. - [Introduction](https://vdl.varavel.com/docs/protocols/introduction/index.md): What VDL Plugin Protocols are, why they exist, and how they keep the ecosystem consistent. - [VPP-0: Core](https://vdl.varavel.com/docs/protocols/core/index.md): Foundational plugins for generating the primitive VDL model: types, enums, and constants. - [VPP-1: Deprecations](https://vdl.varavel.com/docs/protocols/deprecations/index.md): Global deprecation metadata for every VDL plugin and protocol. - [VPP-2: RPC](https://vdl.varavel.com/docs/protocols/rpc/index.md): Standard RPC modeling and HTTP/SSE transport behavior for VDL plugins. - [VPP-3: Policy](https://vdl.varavel.com/docs/protocols/policy/index.md): Type-safe authorization checks compiled into native boolean functions. - [VPP-4: Events](https://vdl.varavel.com/docs/protocols/events/index.md): Transport-agnostic event payloads and routing subjects with the @event annotation. - [Language Specification](https://vdl.varavel.com/docs/reference/spec/index.md): Varavel Definition Language (VDL) specification. - [Formatting Guide](https://vdl.varavel.com/docs/reference/formatting-guide/index.md): Standard formatting conventions for VDL. - [About VDL](https://vdl.varavel.com/docs/about/index.md): Learn what VDL is, what it provides, and why the core language stays small.