Install Node.js, the CDS CLI, the VS Code CDS extension, TypeScript tooling, and set up your BTP Trial.
Node.js
CAP supports two runtimes: Node.js and Java. Both are first-class citizens — same CDS models, same concepts, different runtime. In this course we're going with Node.js and TypeScript, but if you're a Java developer, everything you learn about CDS modeling, services, and BTP integration translates directly.
Install the latest LTS version of Node.js (v22 or later at the time of writing).
If you don't have Node.js yet, head to nodejs.org and download the LTS installer for your platform. If you're on macOS or Linux, consider using a version manager like nvm — it makes switching between Node versions painless.
Verify your installation:
node -v # v22.x.x or laternpm -v # 10.x.x or later
The CDS Development Kit (@sap/cds-dk)
The CDS Development Kit is CAP's CLI. It gives you the cds command, which you'll use constantly — to scaffold projects, run your app, deploy databases, generate types, and more.
Install it globally:
npm install -g @sap/cds-dk
Verify it works:
cds version
You should see output listing the CDS version along with its component versions (compiler, runtime, etc.). If the cds command isn't found, make sure your global npm bin directory is in your PATH.
Three commands to know right away
VS Code + CDS Extension
You can use any editor, but VS Code with SAP's CDS extension gives you the best experience: syntax highlighting, code completion, and go-to-definition for .cds files.
Open VS Code and go to the Extensions panel (Cmd+Shift+X on macOS, Ctrl+Shift+X on Windows/Linux).
Search for "SAP CDS Language Support" and install it.
The extension activates automatically when you open a project containing .cds files. You'll get:
Syntax highlighting for CDS models
Code completion for keywords, types, and annotations
Diagnostics (red squiggles for errors)
Go-to-definition for entities, types, and aspects
What about SAP Business Application Studio?
SAP Business Application Studio (BAS) is SAP's cloud-based IDE, built on Eclipse Theia (which is very similar to VS Code). It comes pre-configured with all the CAP tooling, extensions, and even BTP connectivity — zero local setup required.
It's a perfectly valid choice, and some teams prefer it because there's nothing to install. However, this course uses a local VS Code setup because:
You'll understand every piece of the toolchain (nothing is hidden behind a pre-configured environment)
Local development is faster (no network latency for file operations)
It's closer to what most professional teams use day-to-day
If you prefer BAS, everything in this course will work there too — the CDS commands, the project structure, the TypeScript setup are all identical. Just skip the local installation steps and use the BAS terminal instead.
TypeScript Tooling
We're using TypeScript throughout this course. CAP supports TypeScript natively — you don't need a separate build step during development. Here's what we need:
typescript
The TypeScript compiler. CAP uses it for type checking and editor support.
tsx
A TypeScript execution engine that lets Node.js run .ts files directly. CAP's cds watch uses it under the hood so you don't need a compile step during development.
cds-typer
This is the bridge between CDS and TypeScript. It reads your .cds model files and generates TypeScript type definitions — so when you write handler code, you get full autocompletion and type safety for your entities, services, and actions.
For example, when you define an Events entity in CDS, cds-typer generates a TypeScript interface with all the fields and their types.
We'll see cds-typer in action in the next lesson when we create our first project. For now, just know it exists and that it's a core part of the TypeScript workflow.
BTP Trial Account
This might seem premature — we won't touch BTP until Section 5 at the earliest. But BTP Trial accounts can take time to provision, and there's nothing worse than hitting a wall mid-course because your account isn't ready.
Why now?
Trial accounts sometimes take a few hours (occasionally longer) to fully activate
You'll need to enable specific services (Cloud Foundry, HANA Cloud) that have their own setup steps
Getting this done now means zero friction when we actually need it
Setup steps
Go to SAP BTP Trial and sign up (or log in if you already have an SAP account).
Once in the BTP Cockpit, note your Global Account and Subaccount — you'll use these later.
Enable the Cloud Foundry environment in your trial subaccount:
Go to your subaccount → Overview → Cloud Foundry Environment → click Enable.
Create a Space (name it whatever you want, like dev).
Install the Cloud Foundry CLI:
# macOS (Homebrew)brew install cloudfoundry/tap/cf-cli@8# Windows (Chocolatey)choco install cloudfoundry-cli# Or download from: https://github.com/cloudfoundry/cli/releases
Verify:
cf version # cf8 or later
Log in to your trial:
cf login -a https://api.cf.us10-001.hana.ondemand.com
You don't need to do anything else with BTP right now. Just make sure you can log in with cf login and you're set.
Checklist
Before moving on, make sure you have:
Node.js v22+ installed
@sap/cds-dk installed globally (cds version works)
VS Code with the SAP CDS Language Support extension