Skeleton DSL Support

VS Code language support for Skeleton (Skel), an open-source DSL for describing software architecture.

Features
- TextMate syntax highlighting for Skel declarations, types, decorators, comments, and strings
- Recoverable syntax and workspace semantic diagnostics, including multiple diagnostics and related locations
- Diagnostic quick fixes, formatting, context-aware decorator completion, hover details, and hierarchical symbols from
skelc lsp
- Go to Definition and Find All References across workspace Skel files
- Workspace symbol search and top-level declaration rename
- Best-effort navigation while the current document contains a syntax error
- A Skel-focused dark color theme
- Commands to restart the language server and open its output channel
Installation
Install skelc first:
go install go.yorun.ai/skelc/cmd/skelc@latest
skelc version --output-format json
Install the Skeleton DSL Support extension from the VS Code Marketplace, then open a .skel file. The extension starts skelc lsp from PATH.
The extension supports VS Code 1.91 or newer and requires skelc v0.10.3 or newer. The language server reports syntax and source-directory-scoped semantic diagnostics while you edit; use skelc check for the same validation in terminals and CI. Decorator completion is filtered by the following target and omits decorators already present on it. Deprecated declarations and elements are identified in completion, hover, and symbol views.
Configuration
| Setting |
Default |
Description |
skelc.path |
skelc |
Executable used to start the language server. Changing it restarts the server. |
skelc.trace.server |
off |
Protocol tracing: off, messages, or verbose. |
Available commands:
Skel: Restart Language Server
Skel: Show Language Server Output
Remote and Virtual Workspaces
The extension runs as a workspace extension. In Remote SSH, WSL, and Dev Container windows, install skelc in that remote environment or configure a remote value for skelc.path.
Untitled Skel documents receive language-server support. Virtual and untrusted workspaces are intentionally unsupported because the extension requires filesystem access and starts the configured executable.
Troubleshooting
If the server does not start:
- Run
skelc version --output-format json in the same environment as the VS Code extension host and confirm the version is v0.10.3 or newer.
- Set
skelc.path to the executable's absolute path when it is not on PATH.
- Run
Skel: Restart Language Server.
- Run
Skel: Show Language Server Output and set skelc.trace.server to messages or verbose when protocol details are needed.
Development
From the repository root, install dependencies and run the normal checks:
npm ci
npm run check
Open this repository in VS Code and press F5 to launch the portable Extension Development Host configuration.
Protocol and Extension Host tests require a local skelc build with LSP support:
SKELC_PATH=/absolute/path/to/skelc npm run test:integration
SKELC_PATH=/absolute/path/to/skelc npm run test:extension
License
Skel for Visual Studio Code is open source under the Apache License 2.0.