monaco-yaml

YAML language support for the Monaco Editor, with JSON Schema-powered validation and autocompletion

Library
npm
v5.5.1
331stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
61/100Good
Development Activity40
Maintenance56
Community68
Maturity60
Momentum20

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
78/100Good
Architecture84
Code Quality80
Innovation75
Learning Curve72

monaco-yaml adds full YAML language support to Monaco Editor (the editor that powers VS Code), including syntax validation, hover documentation, and autocompletion driven by JSON Schema. Since YAML has no native schema mechanism of its own, the plugin lets consumers attach JSON Schemas to YAML documents by URI pattern, giving users VS Code-quality YAML editing (think Kubernetes manifests or GitHub Actions workflows) inside any web application.

It runs the actual language service in a Web Worker (via yaml.worker) so parsing and validation don’t block the UI thread, mirroring how Monaco’s own JSON and TypeScript language services are architected. It’s the standard choice whenever a web app embeds Monaco and needs to edit YAML with the same fidelity users expect from VS Code.

What You Get

  • Real-time YAML syntax and schema validation with inline diagnostics
  • JSON Schema-driven autocompletion and hover documentation for YAML keys and values
  • Schema association by file URI pattern (glob), so different YAML files can validate against different schemas
  • A dedicated yaml.worker Web Worker so parsing/validation never blocks the main UI thread
  • TypeScript typings and ESM-first packaging for straightforward integration into modern bundler setups

Common Use Cases

  • Building a web-based configuration editor (Kubernetes manifests, CI pipeline files, OpenAPI specs) with schema-validated YAML editing
  • Embedding VS Code-quality YAML autocompletion in an internal developer tool or low-code platform
  • Adding YAML support to a browser-based IDE or playground that already uses Monaco for JSON/TypeScript editing
  • Validating user-authored YAML against a custom JSON Schema in real time before it’s submitted or saved

Under The Hood

Architecture The plugin follows Monaco’s own language-service pattern: src/index.ts registers the YAML language and exposes the public configuration API (schema associations, options), while src/yaml.worker.ts runs the actual parsing, validation, and completion logic inside a Web Worker created via monaco-worker-manager, keeping expensive YAML/JSON-Schema processing off the main thread exactly as Monaco’s built-in JSON and TypeScript workers do; fillers/ provides browser-safe shims for Node built-ins the worker’s dependencies expect (e.g. path-browserify for path).

Tech Stack TypeScript (ESM-only, type: module), built with tsc plus a custom build.js for asset/worker bundling, tested with Vitest; it depends on a small constellation of purpose-built companion packages by the same maintainer (monaco-worker-manager, monaco-languageserver-types, monaco-marker-data-provider, monaco-types) alongside jsonc-parser for JSON-with-comments parsing and @vscode/l10n for localization, plus prettier for YAML formatting support.

Code Quality The test/ directory (e.g. marker-data.test.ts) exercises diagnostic/marker generation against real YAML+schema fixtures, and the package ships full TypeScript typings alongside its ESM build; the project maintains a documented example workspace (examples/) that doubles as an integration smoke test and a live demo site (monaco-yaml.js.org).

API Design The public API centers on a single configureMonacoYaml() call that takes schema associations and validation options, which is a low-friction entry point for the common case, though correctly wiring the Web Worker (via bundler-specific worker loader configuration) is the one non-trivial setup step most new users hit, documented extensively in the README precisely because bundler worker configuration varies (Vite, webpack, esbuild each need slightly different worker setup).

Used by 10 apps in this directory

Rust
64%
Apache 2.0

agentgateway

AI Development · Developer Tools

4,420

An open source AI-native proxy that secures, observes, and governs agent-to-LLM, agent-to-tool, and agent-to-agent communication through MCP, A2A, and unified LLM routing.

View details
88
Repo Health
82
Technical
72
Dependency
Built with
Rust64%
Go24%
Updated yesterday
Java
73%
Other

ByteChef

Automation · AI Agents

990

Unified open-source platform for AI agent orchestration and workflow automation with 180+ connectors, MCP support, and durable execution.

View details
81
Repo Health
82
Technical
73
Dependency
Built with
Java73%
TypeScript26%
Updated 2 days ago
Ruby
67%
Other

GitLab

Devops · Developer Tools

24,533

The complete DevOps platform that unifies Git hosting, CI/CD, issue tracking, and security scanning into a single self-hostable application.

View details
87
Repo Health
86
Technical
70
Dependency
Built with
Ruby67%
JavaScript20%
Updated today
Go
61%
Apache 2.0

Harness Open Source

Developer Tools · Devops · Code Editors

38,017

A unified open source DevOps platform combining Git hosting, CI/CD pipelines, cloud development environments, and artifact registries in a single self-hosted system.

View details
89
Repo Health
79
Technical
65
Dependency
Built with
Go61%
TypeScript34%
Updated 2 days ago
TypeScript
98%
Other

Hexabot

AI Development · Automation

1,186

Build and run agentic workflows across channels with YAML, tools, and RAG

View details
79
Repo Health
76
Technical
70
Dependency
Built with
TypeScript98%
Updated yesterday
Python
63%
Other

Keep

Devops · Automation · Monitoring

12,224

The open-source AIOps and alert management platform that unifies 130+ monitoring tools into a single pane of glass with AI-powered correlation, deduplication, and workflow automation.

View details
91
Repo Health
79
Technical
67
Dependency
Built with
Python63%
TypeScript36%
Updated today
Java
59%
Apache 2.0

Kestra

Devops · Data Engineering · Automation

27,853

Event-driven orchestration platform for data, AI, and infrastructure workflows — define everything in YAML, run anywhere at scale.

View details
94
Repo Health
81
Technical
75
Dependency
Built with
Java59%
TypeScript23%
Vue15%
Updated today
TypeScript
97%
Other

Kibana

Analytics · Monitoring

21,251

Your open source window into the Elastic Stack — query, visualize, and act on data stored in Elasticsearch with real-time dashboards, AI-assisted search, and automated alerting.

View details
98
Repo Health
87
Technical
68
Dependency
Built with
TypeScript97%
Updated today
TypeScript
96%
Other

Lightdash

Analytics · Data Engineering

6,056

The open-source Looker alternative that turns your dbt project's metrics and dimensions into governed, self-serve charts and dashboards — no license key required.

View details
93
Repo Health
84
Technical
66
Dependency
Built with
TypeScript96%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search