# Documentation > Overview of the Eure language, schema system, implementation notes, and architecture decision records. ## Start Here - [Overview](https://eure.dev/docs/): Overview of the Eure language, schema system, implementation notes, and architecture decision records. - [Getting Started](https://eure.dev/docs/getting-started): A quick introduction to Eure — what it is, how to install the CLI, and how to write and validate your first Eure file. - [Syntax Reference](https://eure.dev/docs/syntax-reference): Comprehensive reference for Eure syntax — string variants, code blocks, array markers (including [^]), the arrow operator =>, sections, and extensions. - [Language Specification](https://eure.dev/docs/spec/alpha): Version: 0.1.0-alpha Status: Draft - [Types](https://eure.dev/docs/data-types): Eure recommends 2-space indentation for nested structures. - [Extensions](https://eure.dev/docs/extensions): Extensions provide metadata and additional information about data without being part of the data itself. The $ syntax indicates an extension namespace in the Eure language. - [Schemas](https://eure.dev/docs/schemas): Eure Schema uses extensions to define types and constraints within Eure documents. The schema system is self-hosted, meaning the schema language is defined using itself. - [Template Extensions (Planned)](https://eure.dev/docs/template-extensions): Design specification for template extensions. These features are planned but not yet implemented in the eure-template crate. ## Tooling - [CLI Reference](https://eure.dev/docs/cli): Complete reference for all 11 eure CLI commands, their flags, and usage examples. - [Project Configuration](https://eure.dev/docs/project-configuration): How to configure an Eure workspace with Eure.eure — defining validation targets, assigning schemas to file groups, and running eure check across a project. - [Editor Setup](https://eure.dev/docs/editor-setup): How to set up Eure language support in your editor — VS Code extension, LSP integration for other editors, and available IDE features. - [Format Conversion](https://eure.dev/docs/format-conversion): Converting between Eure and other formats — JSON, TOML, and YAML — using the eure CLI and the Rust conversion APIs. - [Derive Macros](https://eure.dev/docs/derive-macros): Using eure-macros derive macros (FromEure, IntoEure, BuildSchema, ObjectKey) to convert between Rust types and EureDocument. - [Programmatic API](https://eure.dev/docs/programmatic-api): Build, edit, and format Eure documents from Rust using IntoEure, EditableDocument, and eure-fmt. - [serde-eure](https://eure.dev/docs/serde-eure): Using serde-eure to bridge non-Eure formats (JSON, TOML, YAML, MessagePack, …) with EureDocument using schema-guided union variant representation. - [eure-mark](https://eure.dev/docs/eure-mark): eure-mark is a generic renderer for articles authored in Eure. This guide covers the article file format, content types, the Rust rendering API, and integration patterns. ## Implementation Reference - [EureDocument vs Value](https://eure.dev/docs/euredocument-vs-value): This guide explains how to work with EureDocument and how to extract typed data using the FromEure trait. - [CST and Visitor](https://eure.dev/docs/cst-and-visitor): The eure-tree crate provides a Concrete Syntax Tree (CST) representation for Eure documents, along with a powerful Visitor pattern API for traversing and analyzing the tree. This s - [Completion Architecture (Design)](https://eure.dev/docs/completion_architecture): Design proposal for the Eure LSP completion system using CST traversal instead of string-based parsing. The described types are not yet implemented. - [Completion with Error Recovery (Design)](https://eure.dev/docs/completion_with_error_recovery): Design proposal for error-recovery-based completion. The described types (ErrorBasedCompletion, PathExtractorVisitor) are not yet implemented. - [Codegen IR Design Draft](https://eure.dev/docs/codegen-ir-design): Design draft for eure-codegen-ir, the canonical IR for bidirectional conversion between Rust types, Eure schema, and generated code. Partially implemented; sections marked "pending implementation" are not yet in the codebase. ## Project Context - [Eure Comparisons](https://eure.dev/docs/eure-comparisons): Eure is a minimalist, schema-friendly configuration language and data format designed for human readability and programmatic editing. It combines JSON compatibility with TOML-like minimalism, featuring algebraic data models, rich editor support, and templating capabilities. - [Decision Records](https://eure.dev/docs/decision-records): - A Eure document should be self-contained as a sane data serialization format. It's always surprising that desirialization requires network access or file system access. - It will ## Optional - [Current-Index Array Marker `[^]` for Block-Scoped Merging](https://eure.dev/docs/adrs/0017-current-index-array-marker): 2026-04-17, accepted - [serde-eure: Schema-Guided Serializer/Deserializer Design](https://eure.dev/docs/adrs/0016-serde-eure-design): 2026-04-05, accepted - [PartialMap: Allow Hole Syntax in Key Position](https://eure.dev/docs/adrs/0015-partial-map-for-hole-keys): 2026-04-05, accepted - [Move variant-repr from Union Semantics to Interop Metadata](https://eure.dev/docs/adrs/0014-union-variant-repr-as-interop-metadata): 2026-02-21, accepted - [Header Scanner for Standalone Array Marker Keys](https://eure.dev/docs/adrs/0013-header-scanner-for-standalone-array-keys): 2026-02-07, accepted - [Union Variant Resolution: Short-Circuit by Default](https://eure.dev/docs/adrs/0012-union-variant-resolution-semantics): 2025-12-21, accepted - [Order-Preserving Map Semantics](https://eure.dev/docs/adrs/0011-order-preserving-map): 2025-12-21, accepted - [IR-Based Architecture for eure-fmt](https://eure.dev/docs/adrs/0010-eure-fmt-ir-based-architecture): 2025-12-13, proposed - [Comma Rules: Optional in Objects, Required in Arrays/Tuples](https://eure.dev/docs/adrs/0009-comma-rules-for-collections): 2025-12-13, accepted - [Code Block Indentation Stripping Based on Closing Delimiter](https://eure.dev/docs/adrs/0008-codeblock-indentation-stripping): 2025-12-13, accepted - [Code Block Attributes via Extension Syntax](https://eure.dev/docs/adrs/0007-codeblock-attributes-via-extensions): 2025-12-13, accepted - [ObjectKey Type Design: Restricted Key Types for Reliable Maps](https://eure.dev/docs/adrs/0006-objectkey-design): 2025-12-11, accepted - [Centralized Configuration in eure-config with Feature Flags](https://eure.dev/docs/adrs/0004-eure-config-with-feature-flags): 2025-12-11, proposed - [Hole as Overridable Value](https://eure.dev/docs/adrs/0002-hole-as-overridable-value): 2025-12-05, accepted - [Empty Document Produces Empty Map](https://eure.dev/docs/adrs/0003-empty-document-as-empty-map): 2025-12-05, accepted - [Consolidate Uninitialized with Hole Value](https://eure.dev/docs/adrs/0001-consolidate-uninitialized-with-hole): 2025-12-05, accepted - [Arrow Syntax (=>) for Map Entries](https://eure.dev/docs/adrs/0005-arrow-syntax-for-map-entries): 2025-11-26, accepted