Niobium Runner

Overview
Niobium Runner is a powerful VS Code extension that provides a configurable command runner using .niobium.yml
configuration files. It enables developers to define, organize, and execute commands directly from the IDE, streamlining development workflows.
Features
- Command Execution: Run individual commands, stages, or sequences defined in your
.niobium.yml
file
- Docker Integration: Manage Docker containers directly from VS Code
- File Watchers: Set up watchers to trigger commands when files change
- Custom Dashboard: Visualize and manage your project's commands in a dedicated sidebar
- Keyboard Shortcuts: Configurable shortcuts for frequently used commands
Installation
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "Niobium Runner"
- Click Install
Getting Started
- Create a
.niobium.yml
file in your project root
- Define your commands, stages, and sequences in the YAML file
- Access the Niobium dashboard from the sidebar to run your commands
Configuration
Create a .niobium.yml
file in your project with a structure like this:
commands:
- name: hello
description: Print a hello message
command: echo "Hello, World!"
- name: list-files
description: List files in the current directory
command: ls -la
# Define stages
stages:
- name: basic-stage
description: A basic stage with multiple commands
commands:
- hello
- list-files
# Define sequences
sequences:
- name: basic-sequence
description: A basic sequence with one stage
stages:
- basic-stage
Command Palette
Niobium Runner adds several commands to the VS Code command palette (Ctrl+Shift+P):
Niobium: Run Command
- Execute a specific command
Niobium: Run Stage
- Execute a group of commands
Niobium: Run Sequence
- Execute a sequence of stages
Niobium: Show Dashboard
- Open the Niobium dashboard
Niobium: Show Runner
- Open the command runner interface
Docker Integration
Manage Docker containers directly from VS Code:
- Start, stop, and remove containers
- View container logs
- Add new Docker containers
File Watchers
Set up file watchers to automatically trigger commands when specific files change:
- Navigate to the File Watchers view in the Niobium sidebar
- Configure patterns and associated commands
- Toggle watchers on/off as needed
Keyboard Shortcuts
Customize keyboard shortcuts for your most frequently used commands:
- Access keyboard shortcuts settings in VS Code
- Search for "Niobium" commands
- Assign your preferred key combinations
Support
If you encounter any issues or have feature requests, please submit them on our GitHub repository.
Troubleshooting
Docker Socket Path on macOS
When using Docker containers on macOS (with either Docker Desktop or Rancher Desktop), the Docker socket path is typically located at $HOME/.docker/run/docker.sock
or $HOME/.docker/desktop/docker.sock
instead of the default /var/run/docker.sock
. This can cause issues when containers need to access the Docker daemon.
Niobium Runner automatically detects the correct Docker socket path on macOS. However, for explicit configuration:
- For containers that need Docker access, specify the correct socket path in your
.niobium.yml
:
volumes:
- source: /Users/YOUR_USERNAME/.docker/run/docker.sock # For Rancher Desktop
target: /var/run/docker.sock
Or for Docker Desktop:
volumes:
- source: /Users/YOUR_USERNAME/.docker/desktop/docker.sock # For Docker Desktop
target: /var/run/docker.sock
- For Docker socket-dependent tools (like Checkov), include both the mount and flag:
commands:
- name: checkov
description: Run Checkov to scan for security issues
image: bridgecrew/checkov
image_tag: latest
command: --directory /src --docker-socket /var/run/docker.sock --output json
volumes:
- source: .
target: /src
- source: /Users/YOUR_USERNAME/.docker/run/docker.sock # Or the correct path for your Docker installation
target: /var/run/docker.sock
The first time you run a container with Niobium Runner, the correct socket path will be detected and logged to help with future configurations.
License
This extension is released under the MIT License. See the LICENSE file for details.