kb-dashboard-cli
CLI, LSP, and future MCP server for the kb-yaml-to-lens dashboard compiler.
This package provides command-line tools and language server capabilities for building Kibana dashboards from YAML definitions. It converts human-friendly YAML dashboard definitions into Kibana NDJSON format:
Features
- YAML-based Dashboard Definition – Define dashboards, panels, filters, and queries in simple YAML
- Rich Panel Support – Lens visualizations including metric, pie, XY (line, bar, area), gauge, heatmap, datatable, tag cloud, waffle, mosaic, and treemap — plus ES|QL variants of each
- Advanced Controls – Control groups with options lists, range sliders, and time sliders with chaining
- Filter Support – Exists, phrase, range, and custom DSL with AND/OR/NOT operators
- Direct Upload – Optional direct upload to Kibana with authentication support
- Full CLI Toolkit – Commands for compile, upgrade, decompile, disassemble, compare, fetch, screenshot, and LSP server
Prerequisites
For ⭐ VS Code Extension (Recommended):
- VS Code 1.85.0+ or compatible editor (Cursor, VSCodium, etc.)
- No Python installation required - bundled binary included!
For CLI (Automation/CI):
- uv for running via
uvx(recommended - no Python setup required) - Or Python 3.12+ with pip/uv for traditional installation
Quick Start
Option 1: ⭐ VS Code Extension (Recommended for Getting Started)
Best for: Interactive dashboard development, visual editing, live preview
The VS Code extension is the fastest way to start building Kibana dashboards. It includes:
- Pre-built snippets for quick dashboard scaffolding
- Live preview as you type
- Visual drag-and-drop grid editor
- One-click upload to Kibana
- No Python installation required - LSP server binary is bundled
Installation
From OpenVSX Registry (Cursor, VS Code forks):
- Open Extensions view (Ctrl+Shift+X)
- Search for "Kibana Dashboard Compiler"
- Click Install
Manual VSIX Install:
Download platform-specific .vsix from releases page
Verify Installation
After installation, verify the extension is working:
- Open Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
- Type "YAML Dashboard" - you should see all extension commands
- Create a test file:
test-dashboard.yaml - Type
dashboardand press Tab - a snippet should insert
If commands don't appear, restart VS Code and check the Output panel (View → Output → "Dashboard Compiler LSP").
Your First Dashboard in VS Code
- Create a new file:
my-dashboard.yaml - Start typing
dashboardand press Tab to insert snippet - Save (Ctrl+S) - auto-compiles in background
- Run command (Ctrl+Shift+P): "YAML Dashboard: Preview Dashboard"
- Configure Kibana URL in settings, then run: "YAML Dashboard: Open in Kibana"
Learn more: VS Code Extension Documentation
Option 2: CLI (Best for Automation & CI/CD)
Best for: Scripting, CI/CD pipelines, batch processing, programmatic usage
The CLI provides multiple installation methods:
Click to expand CLI installation options
Using uvx (Recommended)
Run the CLI directly without cloning or installing anything (requires uv):
uvx kb-dashboard-cli compile --help
This downloads and runs the published package automatically. No Python environment setup required!
Using Docker
Run the compiler in a container without installing Python or dependencies:
# Pull the pre-built image
docker pull ghcr.io/strawgate/kb-yaml-to-lens/kb-dashboard-compiler:latest
# Or build locally (from repo root)
just cli docker-build
Standalone Binary
Download a platform-specific binary from the releases page:
- Linux (x64):
kb-dashboard-linux-x64 - macOS (Intel):
kb-dashboard-darwin-x64 - macOS (Apple Silicon):
kb-dashboard-darwin-arm64 - Windows (x64):
kb-dashboard-windows-x64.exe
No Python installation required!
From Source (For Development)
Clone the repository and install dependencies:
git clone https://github.com/strawgate/kb-yaml-to-lens
cd kb-yaml-to-lens
just cli install
See DEVELOPING.md for full development setup.
Compile Your First Dashboard (CLI)
- Create a YAML dashboard file in
inputs/directory:
dashboards:
- name: My First Dashboard
description: A simple dashboard with markdown
panels:
- title: Welcome
size: { w: 24, h: 15 } # Size on 48-column grid
position: { x: 0, y: 0 } # Position on the grid
markdown:
content: |
# Welcome to Kibana!
This is my first dashboard compiled from YAML.
- Compile to NDJSON:
If using uvx: uvx kb-dashboard-cli compile --input-dir inputs --output-dir output
If using Docker:
docker run --rm -v $(pwd)/inputs:/inputs -v $(pwd)/output:/output \
ghcr.io/strawgate/kb-yaml-to-lens/kb-dashboard-compiler:latest \
compile --input-dir /inputs --output-dir /output
If using standalone binary: ./kb-dashboard-<platform> compile --input-dir inputs --output-dir output
- (Optional) Upload directly to Kibana:
Add --upload --kibana-url http://localhost:5601 --kibana-username elastic --kibana-password changeme to the compile command above.
The --upload flag will automatically open your dashboard in the browser upon successful upload.
Learn more: CLI Documentation
Documentation
Getting Started
- VS Code Extension Guide - Visual dashboard development (recommended for beginners)
- CLI Reference - Command-line compilation and automation
- Complete Examples - Real-world dashboard examples you can copy
Deep Dive
- Full Documentation Site - Complete user guide and API reference
- Programmatic Usage Guide - Create dashboards entirely in Python code
- Architecture - Technical design and data flow overview
- Contributing Guide - How to contribute and add new capabilities
License
MIT
Support
For issues and feature requests, please refer to the repository's issue tracker.
Metadata
Release files for kb-dashboard-cli 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| kb_dashboard_cli-0.4.1.tar.gz | 38.5 kB | Without provenance | Details for kb_dashboard_cli-0.4.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| kb_dashboard_cli-0.4.1-py3-none-any.whl | Python 3 | none | any | Details for kb_dashboard_cli-0.4.1-py3-none-any.whl |
Total release size: 84.4 kB
Release files / kb_dashboard_cli-0.4.1.tar.gz
| Download URL | kb_dashboard_cli-0.4.1.tar.gz |
|---|---|
| Size | 38.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
955d6d29af6be27fee91df70557638ec4d963ee4b2cfb51551efc1c0eeb0ae27
|
|
BLAKE2b-256 checksum How to use checksums |
607881c79b4a9757fd0b7f5adb50bc8c66710ff396ed86184873af8f614a5998
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / kb_dashboard_cli-0.4.1-py3-none-any.whl
| Download URL | kb_dashboard_cli-0.4.1-py3-none-any.whl |
|---|---|
| Size | 45.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dc35aec2dea9370b1597d0b1d6545d55aaf4aaf5bd5fe49fecde91570a95465a
|
|
BLAKE2b-256 checksum How to use checksums |
8d2e742ae6884aca4cc349e1404ed2cbb298310c8134a77d2429517cbdef387c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for kb-dashboard-cli 0.4.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.