Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 92 additions & 32 deletions get-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,71 +12,119 @@ 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.
### Preparation

```shell
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:

| 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 |
On macOS, Linux and WSL (Windows Subsystem for Linux), we recommend using [Homebrew](https://brew.sh), and run the commands in the subsequent sections in your terminal to get everything set up.
On Windows PowerShell you can use the built-in `WinGet` command.

Then install CAP's _cds-dk_ globally:

```shell
npm add -g @sap/cds-dk
```
::: code-group
```shell [macOS / Linux / WSL]
# silently install
# curl (required to get Homebrew)
# git (required by Homebrew)
# just for completeness, this might already be installed on your machine
sudo apt install curl git -y
bash -c "$( curl https://raw.githubusercontent.com/homebrew/install/HEAD/install.sh )"
```
:::


<style scoped>
.required::before { content: 'Required:'; color: #999; margin-right: 0.5em }
.optional::before { content: 'Optional:'; color: #999; margin-right: 0.5em }
.proposed::before { content: 'Proposed:'; color: #999; margin-right: 0.5em }
</style>



### 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 PowerShell to activate the new command
```
:::
```shell
npm i -g @sap/cds-dk # install CAP's cds-dk globally
cds -v # check cds version
```

### SQLite (Windows) {.required}

::: code-group
```PowerShell [Windows]
winget install --silent SQLite.SQLite
# restart PowerShell to activate the new command
sqlite3 -version
```
:::

### 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
# restart PowerShell to activate the new commands
```
:::
```shell
mvn -version # display Maven and Java versions
```

### Git and GitHub {.optional}

```shell
brew install git # Git CLI
::: 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
# restart PowerShell to activate the new commands
```
:::
```shell
git -v # display Git cli version
```


### Visual Studio Code {.proposed}

::: code-group
```shell [macOS]
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]
# VS Code on Homebrew is only supported for macOS
sudo snap install --classic code
```
:::
```shell
brew install --cask visual-studio-code # VS Code itself
code -v # display VS Code's version
```

#### Visual Studio Code proposed extensions {.proposed}
```shell
code --install-extension sapse.vscode-cds # for .cds models
code --install-extension mechatroner.rainbow-csv # for .csv files
Expand All @@ -92,6 +140,18 @@ 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.

::: details Alternative setup ...

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 |
:::

## Command Line Interface

Expand Down