🔥 A modern LeetCode CLI built with TypeScript
3.2K
Run the CLI via Docker without local Node.js installation.
You can pull the image directly from Docker Hub.
docker pull nightslayer/leetcode-cli:latest
Add to your shell config (functions forward arguments properly, aliases don't):
Bash/Zsh (~/.bashrc or ~/.zshrc):
leetcode() {
docker run -it --rm \
-v "$(pwd)/leetcode:/root/leetcode" \
-v "$HOME/.leetcode:/root/.leetcode" \
nightslayer/leetcode-cli:latest "$@"
}
Fish (~/.config/fish/config.fish):
function leetcode
docker run -it --rm \
-v (pwd)/leetcode:/root/leetcode \
-v $HOME/.leetcode:/root/.leetcode \
nightslayer/leetcode-cli:latest $argv
end
PowerShell ($PROFILE):
function leetcode {
docker run -it --rm `
-v "${PWD}/leetcode:/root/leetcode" `
-v "$env:USERPROFILE/.leetcode:/root/.leetcode" `
nightslayer/leetcode-cli:latest $args
}
leetcode
leetcode list
leetcode pick 1
leetcode submit 1
-it is required for TUI mode. The shell function shown above already includes it.
System keychain is usually unavailable inside containers, so interactive leetcode login is not supported there.
Use env credentials instead:
docker run -it --rm \
-e LEETCODE_SESSION=\"<your_session_cookie>\" \
-e LEETCODE_CSRF_TOKEN=\"<your_csrf_cookie>\" \
-v \"$(pwd)/leetcode:/root/leetcode\" \
nightslayer/leetcode-cli:latest list
When both env vars are set, the CLI runs in read-only env auth mode.
If you prefer to build it yourself:
Build:
docker build -t leetcode-cli .
Run (Bash/Zsh):
docker run -it --rm \
-v "$(pwd)/leetcode:/root/leetcode" \
-v "$HOME/.leetcode:/root/.leetcode" \
leetcode-cli list
Content type
Image
Digest
sha256:1c8f08135…
Size
84.2 MB
Last updated
9 days ago
docker pull nightslayer/leetcode-cli