Linux Setup Guide
Complete guide to installing and configuring Bootspring on Linux distributions.
System Requirements#
| Requirement | Minimum | Recommended |
|---|---|---|
| Kernel | 4.4+ | 5.15+ |
| glibc | 2.17+ | 2.31+ |
| Memory | 2 GB RAM | 8 GB RAM |
| Disk | 500 MB | 1 GB |
| Node.js | v18.0.0 | v20.x LTS |
Supported Distributions#
| Distribution | Versions | Status |
|---|---|---|
| Ubuntu | 20.04, 22.04, 24.04 | Full support |
| Debian | 11, 12 | Full support |
| Fedora | 38, 39, 40 | Full support |
| CentOS/RHEL | 8, 9 | Full support |
| Arch Linux | Rolling | Full support |
| openSUSE | Leap 15, Tumbleweed | Full support |
| Alpine | 3.18+ | Supported |
Installation by Distribution#
Ubuntu / Debian#
1# Add NodeSource repository
2curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
3
4# Install Node.js
5sudo apt-get install -y nodejs
6
7# Install Bootspring
8npm install -g bootspring
9
10# Verify
11bootspring --versionFedora#
# Install Node.js
sudo dnf install nodejs
# Install Bootspring
npm install -g bootspringCentOS / RHEL 8+#
1# Enable Node.js module
2sudo dnf module enable nodejs:20
3
4# Install Node.js
5sudo dnf install nodejs
6
7# Install Bootspring
8npm install -g bootspringArch Linux#
# Install Node.js
sudo pacman -S nodejs npm
# Install Bootspring
npm install -g bootspringopenSUSE#
# Install Node.js
sudo zypper install nodejs20
# Install Bootspring
npm install -g bootspringAlpine Linux#
# Install Node.js
apk add nodejs npm
# Install Bootspring
npm install -g bootspringUniversal Method: nvm (Recommended)#
Works on all distributions:
1# Install nvm
2curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
3
4# Reload shell
5source ~/.bashrc # or ~/.zshrc
6
7# Install Node.js LTS
8nvm install --lts
9nvm use --lts
10
11# Install Bootspring
12npm install -g bootspring
13
14# Verify
15bootspring --versionShell Configuration#
Bash#
Add to ~/.bashrc:
1# Bootspring completions
2if command -v bootspring &> /dev/null; then
3 eval "$(bootspring completions bash)"
4fi
5
6# Aliases
7alias bs="bootspring"
8alias bsg="bootspring generate"
9alias bsa="bootspring agent invoke"
10alias bss="bootspring status"Apply:
source ~/.bashrcZsh#
Add to ~/.zshrc:
1# Bootspring completions
2if command -v bootspring &> /dev/null; then
3 eval "$(bootspring completions zsh)"
4fi
5
6# Aliases
7alias bs="bootspring"
8alias bsg="bootspring generate"
9alias bsa="bootspring agent invoke"Apply:
source ~/.zshrcFish#
Add to ~/.config/fish/config.fish:
1# Bootspring completions
2if command -v bootspring &> /dev/null
3 bootspring completions fish | source
4end
5
6# Aliases
7alias bs="bootspring"
8alias bsg="bootspring generate"Apply:
source ~/.config/fish/config.fishAuthentication#
Browser Login#
bootspring loginOpens your default browser. If no display:
# Device code flow
bootspring login --deviceEnvironment Variable#
1# Current session
2export BOOTSPRING_API_KEY="bs_live_xxx"
3
4# Permanent
5echo 'export BOOTSPRING_API_KEY="bs_live_xxx"' >> ~/.bashrc
6source ~/.bashrcSecure Storage with pass#
1# Install pass
2sudo apt install pass # Debian/Ubuntu
3sudo dnf install pass # Fedora
4
5# Initialize GPG key
6gpg --gen-key
7
8# Initialize pass
9pass init <gpg-key-id>
10
11# Store API key
12pass insert bootspring/api-key
13
14# Use in shell config
15export BOOTSPRING_API_KEY=$(pass bootspring/api-key)Using secret-tool (GNOME)#
# Store
secret-tool store --label="Bootspring API Key" service bootspring key api-key <<< "bs_live_xxx"
# Retrieve
export BOOTSPRING_API_KEY=$(secret-tool lookup service bootspring key api-key)Project Setup#
Initialize Project#
cd ~/projects/my-app
bootspring initConfigure for Project Type#
# Interactive mode
bootspring init --interactive
# Auto-detect
bootspring init --yesVS Code Integration#
Install VS Code#
Ubuntu/Debian:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install codeFedora:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
sudo dnf install codeArch:
yay -S visual-studio-code-binInstall Bootspring Extension#
code --install-extension bootspring.bootspring-vscodeClaude Desktop Integration#
Install Claude Desktop#
Ubuntu/Debian (AppImage):
1# Download AppImage
2wget https://claude.ai/download/linux -O claude-desktop.AppImage
3chmod +x claude-desktop.AppImage
4
5# Run
6./claude-desktop.AppImageSnap (if available):
snap install claude-desktopFlatpak (if available):
flatpak install flathub com.anthropic.claudeConfigure MCP Server#
bootspring mcp installManual Configuration#
Edit ~/.config/Claude/claude_desktop_config.json:
1{
2 "mcpServers": {
3 "bootspring": {
4 "command": "npx",
5 "args": ["-y", "bootspring", "mcp", "serve"],
6 "env": {
7 "BOOTSPRING_API_KEY": "your-api-key"
8 }
9 }
10 }
11}AppImage MCP Path#
If using AppImage, you may need to specify the full path:
1{
2 "mcpServers": {
3 "bootspring": {
4 "command": "/home/user/.nvm/versions/node/v20.10.0/bin/npx",
5 "args": ["-y", "bootspring", "mcp", "serve"]
6 }
7 }
8}Terminal Emulators#
GNOME Terminal#
Default on Ubuntu, Fedora GNOME. Works out of the box.
Alacritty#
1# Install
2sudo apt install alacritty # or your package manager
3
4# Config (~/.config/alacritty/alacritty.toml)
5[shell]
6program = "/bin/zsh"
7args = ["-l"]Kitty#
# Install
sudo apt install kitty
# Works out of the box with completionsTilix#
sudo apt install tilixTerminator#
sudo apt install terminatorJetBrains IDE Setup#
Install Toolbox#
wget https://download.jetbrains.com/toolbox/jetbrains-toolbox-2.1.3.18901.tar.gz
tar -xzf jetbrains-toolbox-*.tar.gz
./jetbrains-toolbox-*/jetbrains-toolboxConfigure Terminal#
Settings → Tools → Terminal:
- Shell path:
/bin/zshor/bin/bash
Install Plugin#
- Settings (Ctrl+Alt+S)
- Plugins → Marketplace
- Search "Bootspring"
- Install
Neovim Integration#
Install Neovim#
1# Ubuntu/Debian
2sudo apt install neovim
3
4# Fedora
5sudo dnf install neovim
6
7# Arch
8sudo pacman -S neovimConfigure for Bootspring#
Add to ~/.config/nvim/init.lua:
1-- Bootspring commands
2vim.api.nvim_create_user_command('BootspringGenerate', function()
3 vim.fn.system('bootspring generate')
4 print('Context regenerated')
5end, {})
6
7vim.api.nvim_create_user_command('BootspringAgent', function(opts)
8 local result = vim.fn.system('bootspring agent invoke ' .. opts.args)
9 print(result)
10end, { nargs = '+' })
11
12-- Keymaps
13vim.keymap.set('n', '<leader>bg', ':BootspringGenerate<CR>')
14vim.keymap.set('n', '<leader>ba', ':BootspringAgent ')systemd Integration#
User Service#
Create ~/.config/systemd/user/bootspring-mcp.service:
1[Unit]
2Description=Bootspring MCP Server
3After=network.target
4
5[Service]
6Type=simple
7ExecStart=/usr/bin/npx bootspring mcp serve
8Restart=on-failure
9Environment=BOOTSPRING_API_KEY=bs_live_xxx
10
11[Install]
12WantedBy=default.targetEnable:
systemctl --user enable bootspring-mcp
systemctl --user start bootspring-mcpnpm Permission Issues#
Option 1: nvm (Recommended)#
Using nvm avoids all permission issues:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --ltsOption 2: Change npm Directory#
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrcOption 3: Fix Permissions (Not Recommended)#
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}Firewall Configuration#
UFW (Ubuntu)#
# Allow outbound HTTPS (for API)
sudo ufw allow out 443/tcpfirewalld (Fedora/RHEL)#
# Usually allowed by default
sudo firewall-cmd --list-allTroubleshooting#
Command Not Found#
1# Check if npm bin is in PATH
2echo $PATH | grep -E "(npm|node)"
3
4# Find npm global bin
5npm bin -g
6
7# Add to PATH
8export PATH="$(npm bin -g):$PATH"
9echo 'export PATH="$(npm bin -g):$PATH"' >> ~/.bashrcPermission Denied#
# Use nvm to avoid permission issues
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --lts
npm install -g bootspringGLIBC Version Error#
# Check glibc version
ldd --version
# May need to use newer distribution or containerSSL Certificate Errors#
1# Update CA certificates
2sudo apt install ca-certificates
3sudo update-ca-certificates
4
5# Or for Node.js specifically
6npm config set cafile /etc/ssl/certs/ca-certificates.crtDisplay Not Found (Browser Login)#
1# Use device code flow instead
2bootspring login --device
3
4# Or set browser manually
5export BROWSER=/usr/bin/firefox
6bootspring loginAppArmor/SELinux Blocking#
AppArmor (Ubuntu):
sudo aa-complain /usr/bin/nodeSELinux (Fedora/RHEL):
# Check denials
sudo ausearch -m avc -ts recent
# Temporary permissive
sudo setenforce 0Health Check#
bootspring doctorExpected output:
Bootspring Health Check
=======================
System:
✓ Ubuntu 22.04.3 LTS
✓ Intel Core i7-12700K
✓ 32 GB RAM
Runtime:
✓ Node.js v20.10.0 (x64)
✓ npm v10.2.3
✓ Bootspring v1.2.0
Configuration:
✓ Config file: Valid
✓ Context file: Present
✓ API key: Configured
Network:
✓ API: Connected
✓ Latency: 38ms
Integrations:
✓ VS Code: Extension installed
All 11 checks passed!
Docker Usage#
Run in Container#
1FROM node:20-alpine
2
3RUN npm install -g bootspring
4
5WORKDIR /app
6COPY . .
7
8RUN bootspring generate
9
10CMD ["bootspring", "mcp", "serve"]Docker Compose#
1version: '3.8'
2services:
3 bootspring:
4 image: node:20-alpine
5 command: npx bootspring mcp serve
6 environment:
7 - BOOTSPRING_API_KEY=${BOOTSPRING_API_KEY}
8 volumes:
9 - ./:/app
10 working_dir: /appUninstallation#
Remove Bootspring#
npm uninstall -g bootspringClean Configuration#
rm -rf ~/.bootspring
rm -rf ~/.config/bootspringRemove Shell Completions#
Edit ~/.bashrc or ~/.zshrc and remove Bootspring lines.