Kandev Docs

Windows Support

Run Kandev on Windows through native and WSL workflows.

Kandev runs on Windows through WSL (Windows Subsystem for Linux).

Prerequisites

  • Windows 10 (version 2004+) or Windows 11
  • WSL 2 with a Linux distribution installed (Ubuntu recommended)

Setup

1. Install WSL

From PowerShell (as Administrator):

wsl --install

Restart your machine if prompted, then open your Linux distribution from the Start menu.

2. Install system dependencies

sudo apt update
sudo apt install build-essential libatomic1 git
  • build-essential provides gcc, required by go-sqlite3 (CGO)
  • libatomic1 is required by Node.js

3. Install mise (runtime manager)

curl https://mise.run | sh

Add mise to your shell profile:

echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc
source ~/.bashrc

4. Install runtimes

mise use -g node
mise use -g pnpm
mise use -g go

5. Clone and install

git clone https://github.com/kdlbs/kandev.git kandev
cd kandev
make install

6. Run

make dev    # development mode
make start  # production mode

Troubleshooting

libatomic.so.1: cannot open shared object file

Node.js requires libatomic1. Install it:

sudo apt install libatomic1

pnpm: command not found

Ensure pnpm is installed and activated via mise:

mise use -g pnpm

Binary was compiled with 'CGO_ENABLED=0', go-sqlite3 requires cgo

The SQLite driver needs a C compiler. Install build-essential:

sudo apt install build-essential

Browser doesn't auto-open

WSL interop must be enabled so the CLI can launch your Windows browser. Ensure /etc/wsl.conf contains:

[interop]
enabled=true
appendWindowsPath=true

Then restart WSL from PowerShell:

wsl --shutdown

cd: can't cd to apps during make install

The Makefile cannot find the repository's apps/ directory. Run the command from the root of a complete Kandev checkout:

cd /path/to/kandev
test -d apps
make install

If test -d apps fails, check that you cloned the repository above and did not run make -f /path/to/kandev/Makefile install from another directory. A missing pnpm installation produces pnpm: command not found instead.

On this page