From 9abb3bbcddfaa590fe6c33a617aaec16509a8b5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Mann?= Date: Thu, 12 Feb 2026 13:47:48 +0100 Subject: [PATCH 1/8] feat(install): setup for Windows --- get-started/index.md | 55 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 47 insertions(+), 8 deletions(-) diff --git a/get-started/index.md b/get-started/index.md index 84e5e63d37..5459717962 100644 --- a/get-started/index.md +++ b/get-started/index.md @@ -12,15 +12,21 @@ Jumpstart & Grow as You Go... {.subtitle} A most minimalistic setup needs [CAP's _cds-dk_](https://www.npmjs.com/package/@sap/cds-dk) installed, which in turn requires [Node.js](https://nodejs.org). Add optional setups for [Java](https://sapmachine.io), [GitHub](https://github.com), and [Visual Studio Code](https://code.visualstudio.com), as appropriate, and as outlined below. -On macOS (and Linux), we recommend using [Homebrew](https://brew.sh), and run the commands in the subsequent sections in your terminal to get everything set up. +### macOS, Linux and WSL + +On macOS, Linux and WSL, we recommend using [Homebrew](https://brew.sh), and run the commands in the subsequent sections in your terminal to get everything set up. ```shell +# silently install +# curl (required to get Homebrew) +# git (required by Homebrew) +sudo apt install curl git -y bash -c "$( curl https://raw.githubusercontent.com/homebrew/install/HEAD/install.sh )" ``` ::: details Alternative setup (required on Windows) ... - Instead of using Homebrew – which is not available on Windows –, you can manually download and install the required packages from their respective websites: + You can also manually download and install the required packages from their respective websites: | Package | Install from | Remarks | |---------|----------------------------------|---------------------------------------------------------| @@ -30,11 +36,6 @@ bash -c "$( curl https://raw.githubusercontent.com/homebrew/install/HEAD/install | VS Code | https://code.visualstudio.com | + [recommended extensions](../tools/cds-editors#vscode) | | SQLite | https://sqlite.org/download.html | _required_ on Windows | -Then install CAP's _cds-dk_ globally: - - ```shell - npm add -g @sap/cds-dk - ``` ::: @@ -65,7 +66,7 @@ brew install maven ### Git and GitHub {.optional} ```shell -brew install git # Git CLI +brew install git # Git CLI (for completeness, already installed for Homebrew) brew install gh # GitHub CLI brew install github # GitHub Desktop App ``` @@ -77,6 +78,8 @@ brew install github # GitHub Desktop App ```shell brew install --cask visual-studio-code # VS Code itself ``` + +#### Visual Studio Code proposed extensions ```shell code --install-extension sapse.vscode-cds # for .cds models code --install-extension mechatroner.rainbow-csv # for .csv files @@ -92,6 +95,42 @@ code --install-extension vscjava.vscode-maven # for Maven > You can of course also use other IDEs or editors of your choice, such as [IntelliJ IDEA](https://www.jetbrains.com/idea/), for which we also provide [support](../tools/cds-editors#intellij). Yet we strongly recommend Visual Studio Code for the best experience with CAP. +## Setup for Windows PowerShell + +### Node.js and _cds-dk_ {.required} +```pwsh +winget install --silent OpenJS.NodeJS.LTS +# restart the shell to activate node command +npm i -g @sap/cds-dk +``` +### SQLite {.require} +```pwsh +winget install --silent SQLite.SQLite +``` + +### Java and Maven {.optional} +```pwsh +winget install --silent SAP.SapMachine.25.JDK +``` + +Since Apache Maven is not available using winget, here is a one liner to install it directly. Note the configurable version number at the beginning. + +```pwsh +$v="3.9.6"; curl -o "$env:LOCALAPPDATA\maven.zip" "https://archive.apache.org/dist/maven/maven-3/$v/binaries/apache-maven-$v-bin.zip"; tar -xf "$env:LOCALAPPDATA\maven.zip" -C "$env:LOCALAPPDATA"; setx PATH "$env:PATH;$env:LOCALAPPDATA\apache-maven-$v\bin"; rm "$env:LOCALAPPDATA\maven.zip" +``` +### Git and GitHub {.optional} +```pwsh +winget install --silent Git.Git +winget install --silent GitHub.cli +winget install --silent GitHub.GitHubDesktop +``` + +### Visual Studio Code {.proposed} +```pwsh +winget install --silent Microsoft.VisualStudioCode +``` +See [Visual Studio Code proposed extensions](#visual-studio-code-proposed-extensions) for recommenden Visual Studio Code extensions. + ## Command Line Interface From 29a0dcc9c8538c514157a47707d1cf33d2189563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Mann?= <64193442+joergmann@users.noreply.github.com> Date: Thu, 12 Feb 2026 13:50:33 +0100 Subject: [PATCH 2/8] Update get-started/index.md Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- get-started/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/get-started/index.md b/get-started/index.md index 5459717962..8e4dc7a61e 100644 --- a/get-started/index.md +++ b/get-started/index.md @@ -129,7 +129,7 @@ winget install --silent GitHub.GitHubDesktop ```pwsh winget install --silent Microsoft.VisualStudioCode ``` -See [Visual Studio Code proposed extensions](#visual-studio-code-proposed-extensions) for recommenden Visual Studio Code extensions. +See [Visual Studio Code proposed extensions](#visual-studio-code-proposed-extensions) for recommended Visual Studio Code extensions. ## Command Line Interface From 1b3f301c4d7ad0719515efffca0da940271328ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Mann?= Date: Thu, 12 Feb 2026 14:15:39 +0100 Subject: [PATCH 3/8] improvements --- get-started/index.md | 55 +++++++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 24 deletions(-) diff --git a/get-started/index.md b/get-started/index.md index 8e4dc7a61e..3634c36dda 100644 --- a/get-started/index.md +++ b/get-started/index.md @@ -24,20 +24,6 @@ sudo apt install curl git -y bash -c "$( curl https://raw.githubusercontent.com/homebrew/install/HEAD/install.sh )" ``` -::: details Alternative setup (required on Windows) ... - - You can also manually download and install the required packages from their respective websites: - - | Package | Install from | Remarks | - |---------|----------------------------------|---------------------------------------------------------| - | Node.js | https://nodejs.org | _required_ | - | Java | https://sapmachine.io | _optional_ | - | Git | https://git-scm.com | _optional_ | - | VS Code | https://code.visualstudio.com | + [recommended extensions](../tools/cds-editors#vscode) | - | SQLite | https://sqlite.org/download.html | _required_ on Windows | - -::: - - - ### Node.js and _cds-dk_ {.required} -```shell +::: code-group +```shell [macOS / Linux / WSL] brew install node@24 # Node.js LTS -npm i -g @sap/cds-dk # CAP's cds-dk +``` +```PowerShell [Windows] +winget install --silent OpenJS.NodeJS.LTS +# restart the shell to activate node command +``` +::: +```shell +npm i -g @sap/cds-dk # install CAP's cds-dk globally ``` +#### SQLite {.require} + +::: code-group +```PowerShell [Windows] +winget install --silent SQLite.SQLite +``` +::: ### Java and Maven {.optional} -```shell +::: code-group +```shell [macOS / Linux / WSL] brew install sapmachine-jdk brew install maven ``` +```PowerShell [Windows] +winget install --silent SAP.SapMachine.25.JDK +# Apache Maven is not available using winget so download it directly +$v="3.9.12"; ` +$url="https://dlcdn.apache.org/maven/maven-3/$v/binaries/apache-maven-$v-bin.zip"; ` +$mvnzip="$env:LOCALAPPDATA\maven.zip"; ` +curl $url -o $mvnzip; ` +tar -xf $mvnzip -C "$env:LOCALAPPDATA"; ` +setx PATH "$env:PATH;$env:LOCALAPPDATA\apache-maven-$v\bin"; ` +rm $mvnzip +``` +::: ### Git and GitHub {.optional} -```shell +::: code-group +```shell [macOS / Linux / WSL] brew install git # Git CLI (for completeness, already installed for Homebrew) brew install gh # GitHub CLI brew install github # GitHub Desktop App ``` - +```PowerShell [Windows] +winget install --silent Git.Git +winget install --silent GitHub.cli +winget install --silent GitHub.GitHubDesktop +``` +::: ### Visual Studio Code {.proposed} - -```shell +::: code-group +```shell [macOS] brew install --cask visual-studio-code # VS Code itself ``` +```PowerShell [Windows] +winget install --silent Microsoft.VisualStudioCode +``` +```bash [Linux] +snap install --classic code # VS Code on Homwbrew is only supported for macOS +``` +::: #### Visual Studio Code proposed extensions {.proposed} ```shell @@ -82,49 +124,6 @@ code --install-extension vscjava.vscode-maven # for Maven > You can of course also use other IDEs or editors of your choice, such as [IntelliJ IDEA](https://www.jetbrains.com/idea/), for which we also provide [support](../tools/cds-editors#intellij). Yet we strongly recommend Visual Studio Code for the best experience with CAP. -### Windows PowerShell - -#### Node.js and _cds-dk_ {.required} -```powershell -winget install --silent OpenJS.NodeJS.LTS -# restart the shell to activate node command -npm i -g @sap/cds-dk -``` -#### SQLite {.require} -```powershell -winget install --silent SQLite.SQLite -``` - -#### Java and Maven {.optional} -```powershell -winget install --silent SAP.SapMachine.25.JDK -``` - -Since Apache Maven is not available using `winget`, here is a script to install it directly. -Note the configurable version number at the beginning. - -```powershell -$v="3.9.12"; ` -$url="https://dlcdn.apache.org/maven/maven-3/$v/binaries/apache-maven-$v-bin.zip"; ` -$mvnzip="$env:LOCALAPPDATA\maven.zip"; ` -curl $url -o $mvnzip; ` -tar -xf $mvnzip -C "$env:LOCALAPPDATA"; ` -setx PATH "$env:PATH;$env:LOCALAPPDATA\apache-maven-$v\bin"; ` -rm $mvnzip -``` -#### Git and GitHub {.optional} -```powershell -winget install --silent Git.Git -winget install --silent GitHub.cli -winget install --silent GitHub.GitHubDesktop -``` - -#### Visual Studio Code {.proposed} -```powershell -winget install --silent Microsoft.VisualStudioCode -``` -See [Visual Studio Code proposed extensions](#visual-studio-code-proposed-extensions) for recommended Visual Studio Code extensions. - ::: details Alternative setup ... You can also manually download and install the required packages from their respective websites: @@ -136,10 +135,8 @@ See [Visual Studio Code proposed extensions](#visual-studio-code-proposed-extens | Git | https://git-scm.com | _optional_ | | VS Code | https://code.visualstudio.com | + [recommended extensions](../tools/cds-editors#vscode) | | SQLite | https://sqlite.org/download.html | _required_ on Windows | - ::: - ## Command Line Interface ### The `cds` command From 118e6d06f89fda47aa796a73c1325689767ec7c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Mann?= Date: Tue, 17 Feb 2026 11:18:46 +0100 Subject: [PATCH 7/8] more fixes --- get-started/index.md | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/get-started/index.md b/get-started/index.md index 67b804b3c3..370fbcfab1 100644 --- a/get-started/index.md +++ b/get-started/index.md @@ -43,18 +43,21 @@ brew install node@24 # Node.js LTS ``` ```PowerShell [Windows] winget install --silent OpenJS.NodeJS.LTS -# restart the shell to activate node command +# restart PowerShell to activate the new command ``` ::: ```shell -npm i -g @sap/cds-dk # install CAP's cds-dk globally +npm i -g @sap/cds-dk # install CAP's cds-dk globally +cds -v # check cds version ``` -#### SQLite {.require} +### SQLite (Windows) {.required} ::: code-group ```PowerShell [Windows] winget install --silent SQLite.SQLite +# restart PowerShell to activate the new command +sqlite3 -version ``` ::: @@ -76,8 +79,12 @@ curl $url -o $mvnzip; ` tar -xf $mvnzip -C "$env:LOCALAPPDATA"; ` setx PATH "$env:PATH;$env:LOCALAPPDATA\apache-maven-$v\bin"; ` rm $mvnzip +# restart PowerShell to activate the new commands ``` ::: +```shell +mvn -version # display Maven and Java versions +``` ### Git and GitHub {.optional} @@ -91,8 +98,12 @@ brew install github # GitHub Desktop App winget install --silent Git.Git winget install --silent GitHub.cli winget install --silent GitHub.GitHubDesktop +# restart PowerShell to activate the new commands ``` ::: +```shell +git -v # display Git cli version +``` ### Visual Studio Code {.proposed} @@ -102,11 +113,15 @@ brew install --cask visual-studio-code # VS Code itself ``` ```PowerShell [Windows] winget install --silent Microsoft.VisualStudioCode +# restart PowerShell to activate the new command ``` ```bash [Linux] -snap install --classic code # VS Code on Homwbrew is only supported for macOS +snap install --classic code # VS Code on Homebrew is only supported for macOS ``` ::: +```shell +code -v # display VS Code's version +``` #### Visual Studio Code proposed extensions {.proposed} ```shell From f94db03f06d2c48cf6b9a84797444a28842147b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Mann?= Date: Tue, 17 Feb 2026 13:17:13 +0100 Subject: [PATCH 8/8] clean up --- get-started/index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/get-started/index.md b/get-started/index.md index 370fbcfab1..4b89c16b69 100644 --- a/get-started/index.md +++ b/get-started/index.md @@ -109,14 +109,15 @@ git -v # display Git cli version ### Visual Studio Code {.proposed} ::: code-group ```shell [macOS] -brew install --cask visual-studio-code # VS Code itself +brew install --cask visual-studio-code # VS Code itself ``` ```PowerShell [Windows] winget install --silent Microsoft.VisualStudioCode # restart PowerShell to activate the new command ``` ```bash [Linux] -snap install --classic code # VS Code on Homebrew is only supported for macOS +# VS Code on Homebrew is only supported for macOS +sudo snap install --classic code ``` ::: ```shell