This skill should be used when the user asks to "lint Nushell code", "use nu-lint", "set up Nushell LSP", "configure nu --lsp", "use nu --mcp", "test Nushell scripts", "generate documentation", "format Nushell code", "debug Nushell", or mentions LSP, MCP server, linting, testing, debugging, or IDE integration for Nushell.
View on GitHubFebruary 1, 2026
Select agents to install to:
npx add-skill https://github.com/danielbodnar/nushell-dev/blob/main/plugins/nushell-dev/skills/nushell-tooling/SKILL.md -a claude-code --skill nushell-toolingInstallation paths:
.claude/skills/nushell-tooling/# Nushell Tooling & Developer Experience
Guide for Nushell development tooling including LSP, MCP server, linting, testing, and documentation generation. Covers IDE integration, debugging, and workflow automation.
## Language Server Protocol (LSP)
### Starting the LSP
```nushell
# Start LSP server
nu --lsp
# The LSP provides:
# - Code completion
# - Hover information
# - Go to definition
# - Diagnostics (errors/warnings)
# - Document symbols
```
### IDE Configuration
#### VS Code
Install "Nushell" extension, then configure:
```json
// settings.json
{
"nushell.server.path": "nu",
"nushell.server.args": ["--lsp"],
"nushell.config.path": "~/.config/nushell/config.nu",
"nushell.env.path": "~/.config/nushell/env.nu"
}
```
#### Neovim (nvim-lspconfig)
```lua
-- init.lua
require('lspconfig').nushell.setup{
cmd = { "nu", "--lsp" },
filetypes = { "nu" },
settings = {}
}
```
#### Helix
```toml
# languages.toml
[[language]]
name = "nu"
language-servers = ["nu"]
[language-server.nu]
command = "nu"
args = ["--lsp"]
```
#### Zed
```json
// settings.json
{
"languages": {
"Nushell": {
"language_servers": ["nu-lsp"]
}
},
"lsp": {
"nu-lsp": {
"binary": { "path": "nu", "arguments": ["--lsp"] }
}
}
}
```
### LSP Features
| Feature | Description |
|---------|-------------|
| Completion | Command names, flags, variables |
| Hover | Type info, documentation |
| Diagnostics | Syntax errors, type mismatches |
| Go to Definition | Jump to command/variable definition |
| Document Symbols | Outline of definitions in file |
| Signature Help | Parameter hints while typing |
## MCP Server (Model Context Protocol)
### Starting MCP Server
```nushell
# Start MCP server for Claude Code integration
nu --mcp
# Available tools:
# - list_commands: List all Nushell commands
# - command_help: Get detailed help for a command
# - evaluate: Execute Nushell code and return results
```
###