NewSAP Cloud Application Programming Model
372 changes
Today
enforce-export-coverageadded to the atlasStatic check that each exported TypeScript function has a testTesting
hana-linteradded to the atlasRegex naming rules for SAP HANA artifacts in a CAP projectLinting
My CAP Projects ToolboxpublishedA working inventory of daily CAP tooling: scaffolding a project with cds init and growing it facet by facet through cds add (TypeScript, seed data, an .http test file, a handler stub), then running it with cds watch and setting a breakpoint in a custom handler from SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp's JavaScript Debug Terminal. It also walks through an @open entity that accepts properties the model never declared, and reading temporal dataTemporal dataKeeping every version of a record that was valid for a period, and reading the one that held at a given moment — the assignment somebody had on the first of March, not the one they have now — without the application filtering time slices by hand.SAP only defined with CAP's temporal aspect, where a plain read returns only what is valid now and a custom handler is needed to retrieve every time slice.Generators
Debuggingcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): seven ABAP providers newer than the block were never named. State stays core-and-community.Debugging
Show 7 more
Editor supportcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): the providers behind the UI5 door are SAP's (UI5 Language Assistant, and SAP Build Code and SAP Web IDE Full-Stack, which serve ui5). The community SAPUI5 Extension is an entry in the graph but has no provides edge to this capability.Editor support
Generatorscore coverage, coverage by ecosystem, framing by ecosystem revisedReassessed against the graph (check:capabilities): the atlas holds these entries, so the links point at them and not at their repositories (docs/WRITING.md section 4).Generators
Local developmentcoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): the note counted providers and claimed an absence about who has built something, which goes stale as providers arrive.Local development
Model visualisationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): abapGraph and abap-search-tools-ui arrived after the ABAP block was last looked at and the text never named them. No state changed.Model visualisation
Seed datacore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): no artifact provides seed-data for the UI5 door; the two tools the sentence named provide ui5-testing. The core stays present on the sourced what_core_does. The tools stay on the graph under ui5-testing.Seed data
TypeScript patternscore coverage revisedReassessed against the graph (check:capabilities): removes the count of ways and links the providers that define each kind (decorators, method names, folder layout, persistence), as WRITING §3 asks.TypeScript patterns
Workflow integrationcore coverage revisedReassessed against the graph (check:capabilities): the CAP Java n8n plugin is SAP-official and uses the outbox, so outbox dispatch is no longer only a community addition. Source: the plugin's README. State unchanged.Workflow integration
Fri 23
cds-hyper-app-servicelifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.TypeScript patterns
cds-internal-toollifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.Typing
Mon 19
DRY CAP – Making Sustainable Solutions Through PluginspublishedA Devtoberfest 2026 building-apps session on packaging the things you would otherwise write twice, from in-house API clients and shared data models to validation logic, as a CAP plugin. The presenter builds one live: a cds-plugin.js next to package.json is what makes CAP notice the plugin at all, an index.cds carries a reusable user context and service that the consuming application projects into its own and protects there, and the plugin registers an Express middleware at a chosen step of the bootstrap to put user properties on the request. A feature-flagging plugin his team already uses closes it, and the whole walkthrough is the edge to Plugin authoringPlugin authoringWriting a package that extends a framework or runtime rather than an application that uses it — a reusable extension loaded by its host, and the question you arrive at once solving a problem twice makes you want to solve it once for everyone.SAP only.Plugin authoring
Supply Chain Rescueadded to the atlasCAP and SAPUI5 demo of recovery from a supply disruption
Editor supportecosystems revisedUI5 Language Assistant, SAP's VS Code extension for UI5 XML views and manifest.json, and the SAPUI5 Extension by iljapostnovs were staged in intake-20261019-bestofui5 with this concern as their best fit, and the capability was not open on the UI5 door. The UI5 reading comes from the UI5 Language Assistant README.Editor support
Lintingcoverage by ecosystem revisedUI5 linter (@ui5/linter) and ui5plugin-linter were staged in intake-20261019-bestofui5 with provides edges here, so the note that the graph holds no UI5 linter no longer holds and a community linter is present. The UI5 linter README was read again on 2026-10-19.Linting
Show 1 more
Seed dataecosystems revisedvscode-ui5-odata-mock-generator and openui5-smart-mockserver were staged in intake-20261019-bestofui5 under ui5-testing; the first one's drafter noted that seed-data fit better but was not open on the UI5 door. The UI5 reading comes from the OpenUI5 mock server pages and SAP's ui5-middleware-fe-mockserver README.Seed data
Sat 17
A Fiori Launchpad Sandbox for all your CAP-based projects - Overviewexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Testing
A Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setupexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Testing
A modern workflow for SAP Cloud Integration with CAP and Azure DevOpsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Workflow integration
Add useful Extensions to Dev spaces in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Show 61 more
AI-enabled administration: Automating log analysis with generative AI hubexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Editor support
An introduction to CDS Graphical Modeler for SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Automate your Job Postings Using Generative AI (ChatGPT) & SAP Build Process Automation Appsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Workflow integration
Avoid design time CAP server restarts when maintaining local data filesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Avoiding Data Loss When Loading Initial Data with CSV Files in CAPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Seed data
CAP full-stack testing with BDD flavourexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Testing
CAP Initializr: Generate SAP CAP Projects in Secondsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Generators
CAP Typescript + Fiori Typescript + live reload Initial app setupexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).TypeScript patterns
CAP with Local App Previews – Tips for Smooth Developmentexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
CAP: Unit Testing using Mocha and Chaiexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Testing
cds-launchpad-plugin supercharged & ready for the future - CAP Plugin, UI5 Tooling support & Async Launchpadexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Testing
cf-create-app: Create End-to-End apps and deploy to Cloud Foundry in minutesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Generators
CI/CD pipelinesdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.btp. Maintainer-requested scope audit.CI/CD pipelines
Create a Simple CAP Application and Explore the Defaultsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Create Automated System Tests for SAP Cloud Application Programming Model Projectsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Testing
Creating a Hybrid CAP (Node.js) Profile with PostgreSQL on BTP from Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Creating new services using the CDS Graphical Modeler for SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Creating structured types, enums and named aspects using the CDS Graphical Modelerexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
debug a CAP app with UI5 TypeScript UI component with VS Codeexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Debugging
Develop CAP Project with Lazyvim in Dockerexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Develop SAP CAP apps inside a VS Code Docker Containerexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Developing CAP applications in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Enhancing Unit Testing in SAP CAP Java Applications with GitHub Copilotexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Testing
Full Stack TypeScript App for Cloud Foundry - Sample Repositoryexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).TypeScript patterns
Get an introduction to the cds REPLexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Get familiar with your first CAPM project using CDS graphic modelerexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Get Started with an SAP Cloud Application Programming Model Project in SAP Continuous Integration and Deliveryexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).CI/CD pipelines
Getting Started with Unit Testing in SAP CAP Java Applicationsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Testing
Handling CSV Data Deployment in CAP HDI Without Data Lossexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Seed data
How to fix npm error notarget @sap/hdi-deploy when you create a CAP app in BASexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Importing @sap/cds common.cds to your CAP project using the CDS Graphical Modelerexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Integration Tests in a Cloud Foundry Java App using SAP Cloud Application Programming Modelexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Testing
Introducing eslint-plugin-better-cap-config an ESLint plugin to improve CAP configurationexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Linting
ISO content for common CAP typesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Seed data
Lintingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Linting
Making CAP Application Development Easier and Faster with the Help of Storyboard in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Migrating Your CAP Applications from SAP Web IDE to SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Model visualisationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Model visualisation
Part 1: How to create CAPM project in BASexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Generators
Plugin authoringdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Plugin authoring
Prompt-Driven Development: Building Full-Stack SAP CAP Apps from User Storiesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Generators
Remote Debugging of SAP CAPM App - Nodejsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Running CAP Node Applications in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
SAP AI Services - DOX - Gen AI with SAP CAP Plugin - Part 3explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Plugin authoring
SAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA Cloudexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).CI/CD pipelines
SAP Build Process Automation – Use Principal Propagation in Actions sample: CAP Node.js Serviceexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Workflow integration
SAP CAP: Best VSCode extensions for TypeScript development (UI5 & NodeJS)explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
SAP Cloud Application Programming Model(CAP):概要およびデモ - Part 1explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Set up a self-contained development environment for CAP Node.jsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Set up VS Code on Chrome OS for local Application Programming Model developmentexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Storyboard for cloud business applications using CAP in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Streamlining CAP Development with CDS Graphical Modeler in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Surviving and Thriving with the SAP Cloud Application Programming Model: Local development hurdlesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Testingecosystems revisedThe same concern on the SAP Digital Manufacturing door, opened 2026-10-17: SAP published test automation modules for the product's standard apps.Testing
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Testing
Tips and Tricks for Working with Annotations in CAP Projects using Language Server Protocol (LSP) capabilitiesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Editor support
Triggering SAP Build Process Automation Processes from SAP Cloud Application Programming (CAP) Appsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Workflow integration
TypeScript patternsdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.TypeScript patterns
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one goexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Local development
Workflow integrationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Workflow integration
加速开发和部署的CAP CDS和Fiori一些实用命令explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Generators
Thu 15
@dxfrontier/cds-ts-dispatcherprovides[typescript-patterns] revisedThe edge said only that the package answers the capability. It now says what it contributes — decorators binding handlers, the three layers its documentation recommends, injection between them and the draft decorators — and states the four comparison facets the capability declares, each on the README sentence it rests on.TypeScript patterns
@dxfrontier/cds-ts-repositoryprovides[typescript-patterns] revisedThe edge carried no sentence. It now says which half of the arrangement the package answers, names the two ways its own documentation shows it being used, and states the persistence value of the capability's layers facet. draft_events is left unstated on purpose: BaseRepositoryDraft reads and writes the draft entity, which is not a place to handle the draft events, and stating the flag here would make the two look like the same fact.TypeScript patterns
@neoimpulse/cap-js-bootstrapprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. The edge was a bare reference: the one capability this package answers carried no sentence and no source, which rule 10 does not allow. The package's own npm text names what it starts, cds watch per service and the router through cds bind --exec, and is quoted in its own language. Read through registry.npmjs.org because npmjs.com refuses the fetcher.Local development
@sang2x/captoolsprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. Its own command description states that it writes the resolved VCAP_SERVICES into default-env.json, which is the documented difference against cds bind, where only the place the credentials can be fetched from is stored on the machine. Stated as a fact about the file, with the consequence for a project named in when_not_to_use rather than as a judgement on the tool.Local development
Show 11 more
@sap/cds-dkprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. The edge named the hybrid profile without naming cds bind, and the capability's new comparison columns need the sourced answers here: the parts of the local stack this starts, that it binds cloud services, and that only the location of the credentials is stored on the machine, which is the difference against a helper that writes them into a file.Generators
cap-handler-frameworkprovides[typescript-patterns] revisedThe edge carried no sentence while the artifact's own description carried the detail. It now says what the package contributes to this capability — method names as the binding, the generated index the service reads, the separate draft hooks and the shared context — and states handler_binding, dependency_injection and draft_events on the README sentences they rest on. The layers facet is left unstated: the feature list read today names no layer above the handlers.TypeScript patterns
cds-plugin-handlersprovides[typescript-patterns] revisedThe edge carried no sentence. It now says how the plugin decides where a handler goes, which is by folder and file name rather than by a decorator, and states the handler_binding and layers values of the capability's comparison, each on the README sentence it rests on. dependency_injection and draft_events are left unstated: the README mentions neither.TypeScript patterns
cds-plugin-typescriptprovides[typescript-patterns] revisedThe edge carried no sentence. It now says what the plugin does at build time and that it says nothing about the arrangement of the code it compiles. Whether the edge belongs on typescript-patterns is an open editorial question recorded with the capability's review: capire now ships a cds build task for TypeScript in @cap-js/cds-typer, which puts this plugin beside the core's toolchain answer rather than beside the arrangement options. No facet values are stated, because the capability's four facets ask about the arrangement and the README answers none of them.TypeScript patterns
cds-routing-handlersprovides[typescript-patterns] revisedThe edge carried no sentence. It now says what the package binds and where it stops, and states the handler_binding and layers values of the capability's comparison on the README sentences they rest on. No lifecycle field was added: the README read today carries no statement by its maintainer about the package's end, and the predecessor sentence in the one-liner is another author's reading, already attributed as such.TypeScript patterns
cds2typeslifecycle, provides[typescript-patterns] revisedThe edge carried no sentence. It now says what the tool produces and that it says nothing about the arrangement of the code around it. Whether this edge belongs on typescript-patterns at all is an open editorial question recorded with the capability's review: generating types from a model is the typing concern, and this pass does not move the edge.TypeScript patterns
com.sap.cds:cds-maven-pluginprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. The edge said the goal rebuilds and restarts and left out that whether it restarts or reloads depends on Spring Boot Devtools, and that on Windows it does not work without them, which is the difference a reader on this flavor meets first.Generators
dev-approuterprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. The capability now compares its options by the part of the local stack each one starts, and this package's own description states the part. Nothing was entered for the two flags: the registry page carries no README, so whether it resolves a cloud binding itself is not stated anywhere read here.Local development
Local developmentcore coverage, coverage by flavor, framing by flavor, facets revisedNine options answered this capability with nothing to compare them by, and they are not variants of one tool: the first question a reader has is which part of the local stack an option starts. The two flags separate the hybrid-testing helpers, where cds bind states that only the location of the credentials is stored on the machine and @sang2x/captools states that it writes the resolved VCAP_SERVICES into default-env.json.Local development
Testingcoverage by ecosystem revisedIntake of @saptools/bruno, which runs request collections against services deployed to Cloud Foundry: the concern exists behind the BTP door.Testing
TypeScript patternscore coverage, coverage by flavor, facets, changed in revisedRead from capire's December 2024 release notes, so the setup steps in readings published before it can be seen to predate the change. The release page names the month only; the date is its first day.TypeScript patterns
Sun 11
AI needs a foundation: A map of the plug-in ecosystem for CAPpublishedA map of the plug-ins for CAP (@sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap), official, community and independent, drawn across regions such as integration, performance and tooling, so that a team can see what exists to reuse and what it would have to build: the question plugin authoringPlugin authoringWriting a package that extends a framework or runtime rather than an application that uses it — a reusable extension loaded by its host, and the question you arrive at once solving a problem twice makes you want to solve it once for everyone.SAP only answers from the other side. SAP's abstract places CAP at the centre of its AI strategy, with model context protocol support, and the map is offered as the foundation under that. A TechEd 2026 session (Tuesday 27 October, Community Theater, Berlin), presented by Mike ZaschkaMike Zaschkamaintains 6 entries, created 12 pieces, contributed to 9 entriesindependent, written here from SAP's abstract; the recording is not yet published.Plugin authoring
AI-enabled administration: Automating log analysis with generative AI hubpublishedA log analysis tool for incident work, built in SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp with the generative AI hub feature, which SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp ships as its LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design by its own documentation: it automates root-cause analysis over system errors and masks sensitive data. SAP's abstract states the tool's jobs and not how the hub is called, what the masking covers or which model answers. A TechEd 2026 session (Wednesday 28 October, Berlin), with no speaker listed in the catalogue at the time of writing, written here from SAP's abstract; the recording is not yet published.Editor support
Thu 8
cap-cds-typeradded to the atlasCAP service in TypeScript using types from @cap-js/cds-typer
cap-github-actionadded to the atlasCAP project built and deployed to Cloud Foundry by GitHub Actions
cap-java-childadded to the atlasConsumer side of a CAP Java parent pom promotion model with Renovate
cap-java-parent-pom-sampleadded to the atlasMaven parent pom pinning cds-services-bom and Spring Boot for CAP Java
Mon 28
How to build reusable plugin components for CAP Java applicationspublishedA companion to Daniel SchlachterDaniel Schlachtercreated 9 pieces, contributed to 10 entriessap official's Reusable components for CAP with cds-pluginReusable components for CAP with cds-pluginThe post that taught the mechanism, and it teaches it by picking a requirement small enough to be absurd: every string a service returns should end in a random emoji. Working through that on the bookshop example leaves nothing to argue about except the plumbing, which is the point — what a cds-plugin is, where it hooks in, and why packaging it beats copying it into the next project. Vinícius Barrionuevo credits this post as the thing that gave him the idea for sap-cap-sdm-plugin, and it is hard to read the plugin ecosystem in this graph without it.published 2023-04-30, showing the same mechanism on CAP Java: a plugin ships as its own Maven artifact with an event handler and a
CdsRuntimeConfiguration implementation, registered through the JDK's ServiceLoader rather than any CAP-specific wiring. The walkthrough builds a cds-emoji-plugin-java jar that decorates @emoji-annotated fields on read, installs it to the local Maven repository, and adds it as a runtime dependency to a cds init --add java bookshop application. It argues the plugin mechanism was not new to CAP Java, just previously undocumented.Plugin authoringSAP Cloud Application Programming Model(CAP):概要およびデモ - Part 1publishedIntroduces SAP Cloud Application Programming Model@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap as an open, opinionated framework that shoulders OData plumbing and database-specific code so a domain is modelled once in CDS, then builds a small bookshop project to show it: @sap/cds-dk@sap/cds-dkThe command line client and development toolkit for CAP projects, with the commands cds build, cds deploy, cds watch and cds add among them.sap official, cap's
cds init scaffolds the project, cds watch serves it locally with live reload against an in-memory SQLiteSQLiteAn embedded SQL database engine used as a selectable local cache store by CAP caching plugins. database, and a CatalogService projects a CDS domain model seeded from CSV files. The result is read as an ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design service in the browser and exercised further through a Postman collection, with the optional @sap/vscode-cds@sap/vscode-cdsSAP CDS language support for Visual Studio Code and Business Application Studio, published as an npm library.sap official, cap extension noted for CDS syntax highlighting and completion in VS Code.Local developmentSun 27
@cap-js/processadded to the atlasStarts and manages SAP Build Process Automation processes from CAPWorkflow integration
cf-setupprovides revisedA GitHub Action runs in a pipeline; it is what ci-cd is about, and deployment is what the pipeline does with it. Filed under deployment before ci-cd reached the CAP door.CI/CD pipelines
CI/CD pipelinesecosystems revisedThe capire audit of 2026-09-27 proposed CI/CD as a CAP concern and found this capability already on the BTP door, where the service is. capire's Deploy using CI/CD Pipelines guide is the CAP door's own answer, cds add github-actions and the service's ready-made CAP pipeline; three content entries about CAP pipelines had been filed under deployment for want of the door. Added by the maintainer's decision.CI/CD pipelines
Debuggingcore coverage revisedPackage pass 2026-09-27: the paragraph named one of the four SAP packages and cited the plugins index only; cds debug and the Java developer dashboard were cited nowhere.Debugging
Show 3 more
Local developmentcore coverage revisedcapire audit 2026-09-27, judgement pages read once more: a page this capability owns was cited nowhere.Local development
Plugin authoringcore coverage revisedcapire audit 2026-09-27, proposed pages read a fourth time: the paragraph names the cds add and cds build plugin APIs, and the design-time APIs index says which package they are and where they must not run.Plugin authoring
Testingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Testing
Fri 25
@sap-ux/createadded to the atlasCommand line for changing features of an existing Fiori projectGenerators
@sap-ux/fe-fpm-writeradded to the atlasWriter of flexible programming model elements into Fiori elements appsGenerators
@sap-ux/odata-service-writeradded to the atlasWriter that adds an OData service to an existing UI5 projectGenerators
ui5con24-dev-envadded to the atlaspnpm workspace running CAP, a local launchpad and two UI5 apps
Wed 23
SAP AI Services - DOX - Gen AI with SAP CAP Plugin - Part 3publishedBuilding on Reusable components for CAP with cds-pluginReusable components for CAP with cds-pluginThe post that taught the mechanism, and it teaches it by picking a requirement small enough to be absurd: every string a service returns should end in a random emoji. Working through that on the bookshop example leaves nothing to argue about except the plumbing, which is the point — what a cds-plugin is, where it hooks in, and why packaging it beats copying it into the next project. Vinícius Barrionuevo credits this post as the thing that gave him the idea for sap-cap-sdm-plugin, and it is hard to read the plugin ecosystem in this graph without it.published 2023-04-30 by Daniel SchlachterDaniel Schlachtercreated 9 pieces, contributed to 10 entriessap official, this part walks through a custom CAP plugin — a
cds-plugin.js plus a lib_cap_dox.js helper — that authenticates against SAP's Document Information Extraction (DOX) service and calls its schema and job-status APIs to fill an entity from extracted document fields. It covers reading the service key from Cloud Foundry (cf service-key) for the OAuth token endpoint, and dynamically mapping DOX's header and line-item output onto CAP entity properties.Plugin authoringTue 22
CAP full-stack testing with BDD flavourpublishedIntroduces Behavior-Driven Development for CAP applications: specifications written in Gherkin against a running app, validated by Cucumber, using cds-cucumbercds-cucumberBehaviour-driven tests for CAP applications: Gherkin scenarios that drive a running service rather than assertions written against handlers.community org, cap's ready-made step definitions for SAP Fiori elementsFiori annotationsDescribing a service so a Fiori client can render it without hand-written UI code — titles, value helps, hierarchies and visibility expressed as model annotations rather than screen logic.SAP and community, unassessed and OData screens. The library handles service lifecycle — starting the app, assigning a port, driving the browser and authenticating a named user — and its OData steps know the service's entities and fields from the CDS model itself, so a scenario can open a list report, search it and assert row counts without hand-written glue code.Testing
Sun 20
@animb1996/cds-data-driftadded to the atlasCompares a CAP project's CSV data with its database rowsSeed data
Typingcore coverage revisedcds-internal-tool, an independent package, carries a provides edge to this capability on CAP beside the three sap-official providers, so core-only no longer says who is present. relationship is unassessed: no retrieved page gives the history between the two.Typing
Sat 19
com.sap.cds:cds-feature-consoleadded to the atlasConnects a running CAP Java app to CAP console for monitoringDebugging
com.sap.cds:cds-feature-dev-dashboardadded to the atlasBrowser dashboard for a running CAP Java service during developmentLocal development
com.sap.cds:cds-feature-flowadded to the atlasDeclarative status-transition flows on bound actions in CAP JavaStatus flows
com.sap.cds:cds-feature-n8nadded to the atlasTriggers n8n workflows from CAP Java through the outboxWorkflow integration
Show 8 more
com.sap.cds:cds-maven-pluginadded to the atlasMaven plugin running CDS build steps in a CAP Java projectGenerators
com.sap.cds:cds-services-archetypeadded to the atlasMaven archetype generating a new CAP Java projectGenerators
com.sap.cds:cds-feature-consoleprovides revisedNew CAP Java provider discovered through the repository's README and its Maven coordinates. Facts describe the pinned source revision, not verified deployment compatibility.Debugging
com.sap.cds:cds-feature-dev-dashboardprovides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.Local development
com.sap.cds:cds-feature-flowprovides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.Status flows
com.sap.cds:cds-feature-n8nprovides revisedNew CAP Java provider discovered through the CAP plugins documentation and the cap-java/cds-feature-n8n repository. Facts describe the pinned source revision (0.0.1); the README itself notes association-path traversal is more limited than the Node.js plugin's.Workflow integration
com.sap.cds:cds-maven-pluginprovides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.Generators
com.sap.cds:cds-services-archetypeprovides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.Generators
Fri 18
@sap-ux/cap-config-writeradded to the atlasWriter module for changing a CAP project's configuration from codeGenerators
@sap/ams-devadded to the atlasCompiler from AMS DCL policies to DCN for local runs and testsLocal development
Wed 16
@cap-js/data-inspectorreleased 2.0.0Instructions that open the inspector from the running CAP server, and an
mta.yaml that still names capjsdatainspectorapp or the old gen folder.DebuggingTue 15
Joule in SAP Build Codeadded to the atlasJoule's generative AI inside SAP Build CodeGenerators
SAP Build Codeadded to the atlasDevelopment environment on BTP for UI5, Fiori, mobile and CAPEditor support
SAP Continuous Integration and Deliveryadded to the atlasPredefined CI/CD pipelines for SAP development projectsCI/CD pipelines
Editor supportecosystems, coverage by ecosystem, framing by ecosystem revisedOn BTP the editor is a hosted service rather than a language server or an Eclipse plugin, which is what the CAP and ABAP framings describe.Editor support
Show 1 more
TypeScript Sheriff: How can I use TypeScript in the SAP ecosystem? (Part 2 of 3)explains, summary revisedRewritten to say what the post states about each framework, so the new edges hold in the summary, and to drop the sentence on parts one and three that the series section now shows with their decline notes.Typing
Mon 14
approuteradded to the atlasShowcase for dev-approuter in front of two UI5 apps
cap-nodejs-dev-envadded to the atlasDevelopment container definition for CAP Node.js
cds-bookshopadded to the atlasCAP bookshop showing UI5 development with cds-plugin-ui5
commonadded to the atlasSample CAP plugin extending @sap/cds/common with reuse data
Show 12 more
ordersadded to the atlasSample CAP reuse service for orders, with a Fiori UI
orders-javaadded to the atlasSample CAP Java reuse service for orders, with a Fiori UI
reviewsadded to the atlasSample CAP reuse service for reviews, with a Fiori UI
reviews-javaadded to the atlasSample CAP Java reuse service for reviews, with a Vue UI
ui5-bookshop-vieweradded to the atlasUI5 app consuming the cds-bookshop server via ui5-middleware-cap
Debuggingcoverage by flavor revisedAssessed for the ABAP Cloud flavor: SAP's own troubleshooting guidance for RAP apps places the ABAP Debugger inside ABAP Development Tools, and the only ABAP-door provider in the corpus, Smart Debugger, states standard-abap only and runs in the SAP GUI New Debugger, not ADT — so no provider states abap-cloud and the core is SAP's own.Debugging
Editor supportecosystems revisedWidened to ABAP: Xexer/my-ide-actions adds IDE actions to ADT, and DevEpos/abap-tags-backend and DevEpos/abap-call-hierarchy are the ABAP backends of two Eclipse plugins. The description lost its CDS wording, which moved to framing_by_ecosystem.cap.Editor support
Generatorsecosystems revisedAbapGenerator scaffolds ABAP objects from a template package. Thirteen UI5 Community repositories generate UI5 projects or add to one: Easy-UI5 and its npm init wrapper, generators for apps, libraries, controls and tooling extensions, and create-wdi5 and generator-ui5-wdi5, which add wdi5 to an existing app.Generators
Lintingecosystems revisedui5con-2026-ui5-linter-workshop, a SAP-samples workshop in this batch, runs UI5 linter over a legacy UI5 app, which is this concern on the UI5 door. The UI5 reading comes from the UI5 linter README.Linting
Local developmentecosystems revisedabapDevSysInit sets up a new ABAP Developer Edition or trial system from one report: the user profile, the GitHub certificates and destination, abapGit standalone, and the repositories to pull.Local development
Model visualisationecosystems, description revisedThe description named only a CDS model and .cds files, which is false on the ABAP door added the same day. The ABAP half and 'source file' are the only change.Model visualisation
Seed dataecosystems revisedabapFaker generates localised fake names, addresses and other values in ABAP for development and tests, so the concern has an answer behind the ABAP door.Seed data
Sun 13
dev-approuteradded to the atlasDev-time wrapper for the SAP Application RouterLocal development
SAP-samples/cap-bookshop-wdi5added to the atlasCAP bookshop with wdi5 system tests for a CI/CD tutorial
SAP-samples/cap-local-development-workshopadded to the atlasreCAP 2025 workshop on CAP's local-development toolset
SAP-samples/cap-tour-hands-onadded to the atlasEight-exercise tour of CAP features, from mocking to plugins
Show 3 more
Debuggingecosystems revisedWidened rather than forked: debugging an ABAP program is the same concern, so the node's description became the cross-ecosystem sentence, the CAP wording moved to framing_by_ecosystem.cap, and ABAP got its own framing and coverage. Done so Smart Debugger (staged in intake-20260913-ysichov) can provide it.Debugging
Generatorsname revisedThe map draws every capability as one tile, and a name that spells out its second half ran to three lines at a size nobody could read. The id already carried the short name; the name now matches it. The concern is unchanged: the description and the coverage say what it spans.Generators
Seed dataname revisedThe map draws every capability as one tile, and a name that spells out its second half ran to three lines at a size nobody could read. The id already carried the short name; the name now matches it. The concern is unchanged: the description and the coverage say what it spans.Seed data
Fri 11
Create your first CAP pluginpublishedA step-by-step guide to the cds-plugin.js extension point: scaffold a package, add an index.cds for shared model artifacts, and test it locally against a throwaway CAP project before publishing to npm, with a separate section on building the same plugin in TypeScript and compiling it with tsc. Points to the author's own cds-plugin-handlerscds-plugin-handlersA CAP plugin that structures handlers as one file per entity, in a folder per service, instead of one service implementation that keeps growing.independent, cap and ui5-cap-serverside-rendering-pluginui5-cap-serverside-rendering-pluginA CAP plugin that fills UI5 views and fragments with entity data on the server through Handlebars and streams them as XML, and renders a Vue app to HTML on a route of its own.independent, cap as worked examples.Plugin authoring
How we could potentially have nestjs as runtime for SAP CAPpublishedA proof-of-concept that swaps @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap's ApplicationService and ODataAdapter dispatch for NestJS controllers, providers and interceptors, built by the author to learn NestJS rather than to ship a runtime. It works through CAP's run-dispatch-handle loop and AsyncLocalStorage-based transaction boundaries in detail before mapping them onto NestJS dependency injection and interceptors — one community answer to the controller-service-repository layering question core TypeScript support leaves open. The author's own conclusion is that the result reimplements CAP Java in Node.js, and they do not plan to take it further.TypeScript patterns
Surviving and Thriving with the SAP Cloud Application Programming Model: Local development hurdlespublishedThree hurdles in running a CAP@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap application locally: services mocked with
cds run --with-mocks return no data across OData associations until the ON clause is hand-written into the imported CDS, an on-premise API reached through the SAP Cloud Connector times out because its proxy is part of destinations and connectivityDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed and reachable only from inside SAP BTP, and a Fiori frontend served from the HTML5 Application Repository needs the HTML5 Repo Mock to reach a local backend at all. It closes with the launch configurations the author uses for debuggingDebuggingSeeing what running code did between an input arriving and a result coming out: which code ran, what the values were at each point, and why a value ended up as it did.SAP and community, narrow by design cds watch locally and attaching to a running Cloud Foundry instance.Local developmentWed 9
@neoimpulse/cap-js-bootstraplinks revisedThe repository declared in package.json returns 404.Local development
Tue 8
@cap-js/cds-testadded to the atlasTest support for CAP Node.js: server start, HTTP client, assertionsTesting
@capire/data-vieweradded to the atlasSample CAP plugin adding a generic data browser
@neoimpulse/cap-js-bootstrapadded to the atlasCLI starting several CAP services and an AppRouter locally togetherLocal development
@sap/ux-cds-odata-language-server-extensionadded to the atlasOData annotation features for the @sap/vscode-cds extensionEditor support
Show 67 more
A modern workflow for SAP Cloud Integration with CAP and Azure DevOpspublishedCAP used to build tooling rather than an application: the development workflow for Cloud Integration is limited to what the Integration Suite offers, so the author puts a CAP service and Azure DevOps around it. An unusual use of the framework, and the reason to read it.Workflow integration
Add useful Extensions to Dev spaces in SAP Business Application StudiopublishedStarts from the point capire makes — that CAP is editor-agnostic and BAS is the preconfigured option — and then does the thing that undoes preconfiguration: adds two extensions to a dev space for initialising data in a CAP application, with the uninstall procedure as well as the install. The uninstall half is what makes it worth keeping.Editor support
An introduction to CDS Graphical Modeler for SAP Business Application StudiopublishedThe announcement of the graphical modeller, from the team that built it — what it draws, how to get a dev space that has it, and what it is for. The starting point for the two posts that follow it, and the record of when this became part of the editor rather than an idea.Editor support
Automate your Job Postings Using Generative AI (ChatGPT) & SAP Build Process Automation AppspublishedA process that drafts its own text: ChatGPT writing job postings, SAP Build Process Automation carrying them through approval, and CAP in between. Presented as a generic pattern the author expects to be adapted rather than copied.Workflow integration
Avoiding Data Loss When Loading Initial Data with CSV Files in CAPpublished
cds add tiny-sample gives you a CSV in db/data and it loads on deploy, which looks like a way to seed a productive application. The catch, stated plainly: change the CSV or the schema and HANA is reinitialised from the file, taking whatever users had entered with it.Seed dataCAP Typescript + Fiori Typescript + live reload Initial app setuppublishedA full-stack TypeScript starting point recorded as it was arrived at — the terminal commands and the configuration files, in order, for the CAP side, the conversion to TypeScript, and then the Fiori side. The author is explicit that it takes a while to go through, which is the honest framing for a setup that has this many steps.TypeScript patterns
CAP with Local App Previews – Tips for Smooth DevelopmentpublishedUI5's virtual endpoints remove the sandbox files a local preview used to need, and this is what that means for a CAP project specifically. Tips from trying it rather than an announcement of it.Local development
CAP: Unit Testing using Mocha and ChaipublishedUnit tests added to an existing CAP service rather than written alongside a new one, which is the harder and more common case. Mocha and Chai wired up by hand, from a time before
cds.test was the obvious answer.Testingcf-create-app: Create End-to-End apps and deploy to Cloud Foundry in minutespublishedA generator from 2020 that goes further than scaffolding — an end-to-end application created and deployed to Cloud Foundry in one run. Predates most of what
cds add now does.GeneratorsConsuming SAP Build API's made easy with SAP Cloud SDK in your CAP applicationpublishedReaching into SBPA from CAP the other way round — reading its tasks and workflows rather than starting them. The author starts from the plain Axios version and says what it costs: the connection and the authentication are the work, not the call. Cloud SDK is used to generate a typed client from the OpenAPI document and then to resolve the connection through either a service binding or a destination, shown for client credentials and for user token exchange.Workflow integration
Create a Simple CAP Application and Explore the DefaultspublishedThe shortest way in: a project from the wizard, then a look at what CAP assumed on your behalf. The defaults are the subject rather than the application — which is the right first lesson in a framework whose whole argument is convention over configuration.Local development
Create Automated System Tests for SAP Cloud Application Programming Model ProjectspublishedEnd-to-end tests driving the UI with wdi5, run in the pipeline — the layer above cds.test, which stops at the service boundary.Testing
Creating a Hybrid CAP (Node.js) Profile with PostgreSQL on BTP from Business Application StudiopublishedHybrid testing is documented for HANA; this is the same profile against a PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. instance on BTP, driven from a BAS dev space rather than a laptop. Proposed under editor support because of where it runs, but the subject is the binding: what
cds bind writes, and what has to be true of the service instance and the tunnel for a local process to reach it.Local developmentCreating new services using the CDS Graphical Modeler for SAP Business Application StudiopublishedThe worked half of the introduction, published the same day: a service defined by drawing rather than by typing, projections included. Assumes the setup from the introduction and does not repeat it, so the two are one piece split in two.Editor support
Creating structured types, enums and named aspects using the CDS Graphical ModelerpublishedThe modelling constructs that are awkward to draw — structured types, enums, named aspects — done in the graphical modeller rather than in CDL.Editor support
Developing CAP applications in SAP Business Application StudiopublishedThe overview written at the point BAS replaced Web IDE, and it is structured as a comparison — each step of building a CAP application, with the difference from the Web IDE experience called out beside it. Useful now mostly for what it records: which parts of CAP development the editor took over, and when.Editor support
Enhancing Unit Testing in SAP CAP Java Applications with GitHub CopilotpublishedBuilt on SAP's own CAP Java unit-testing guide, and the question is narrow: how much of that does an assistant actually write for you. The author's own getting-started post is the one to read first.Testing
Extensions for SAP Build Process Automation - Actions from CAP Node.js ServicepublishedThe direction of travel reversed: the CAP service is the thing being called, exposed as an Action so that a no-code process can consume it. Short by design — it is an introduction to a developer tutorial, and it says outright that the goal is to cover every step rather than to model a real use case.Workflow integration
Full Stack TypeScript App for Cloud Foundry - Sample RepositorypublishedA whole repository rather than a snippet: a CAP Node.js service and a freestyle SAPUI5 application, both in TypeScript, arranged for Cloud Foundry. The build process gets its own section, which is where a TypeScript full-stack project usually goes wrong.TypeScript patterns
Get an introduction to the cds REPLpublished
cds repl as a way to ask the running model questions directly, which is the fastest route from a suspicion about a query to knowing.Local developmentGet familiar with your first CAPM project using CDS graphic modelerpublishedThe modeller as an entry point rather than an aid — a first CAPM project built by drawing it, for the developer who has not yet internalised CDL, annotations and metadata.Editor support
Get Started with an SAP Cloud Application Programming Model Project in SAP Continuous Integration and DeliverypublishedWiring a CAP project into SAP's hosted CI/CD service, which is the pipeline you get without assembling one.CI/CD pipelines
Getting Started with Unit Testing in SAP CAP Java ApplicationspublishedThe plain introduction: what the CAP Java framework gives you to test against, and how to start. Prerequisite to the same author's Copilot post.Testing
Handling CSV Data Deployment in CAP HDI Without Data LosspublishedThe same trap from the HDI side: .hdbtabledata hands the container full ownership of the data, so the next deployment overwrites the table from the file. Two independent posts three months apart on the same sharp edge, which is a fair signal about how sharp it is.Seed data
How to fix npm error notarget @sap/hdi-deploy when you create a CAP app in BASpublishedA specific npm failure when creating a CAP app from a template, and the post now opens with its own July 2025 update saying the version has been published so this instance is gone. It stays useful because the cause — a dependency pointing at a version nobody published yet — recurs, and the unblocking steps are general.Local development
Importing @sap/cds common.cds to your CAP project using the CDS Graphical ModelerpublishedPulling the common aspects and code lists from @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap into a model through the modeller, so the reuse types appear in the diagram rather than only in the file.Editor support
Integration Tests in a Cloud Foundry Java App using SAP Cloud Application Programming ModelpublishedIntegration rather than unit tests, and from 2020 — the earliest testing entry here, and a reminder of what had to be assembled by hand before the framework had an answer.Testing
Making CAP Application Development Easier and Faster with the Help of Storyboard in SAP Business Application StudiopublishedThe Storyboard from the other side — someone who came across it while learning the high-productivity tools, rather than someone who shipped it. It follows the whole arc a CAP project takes through the tool: entities, relationships, services, sample data, a UI, roles, and external resources, each as a thing the diagram can add rather than a file you open.Editor support
Migrating Your CAP Applications from SAP Web IDE to SAP Business Application StudiopublishedA migration checklist, and a reminder of how much of a CAP project used to be editor-specific: Web IDE configuration files to delete, a build to move to the Cloud MTA Build Tool, a CAP Java version to raise. Historical — Web IDE is gone — but it is the clearest list of what the tooling boundary used to include.Editor support
Part 1: How to create CAPM project in BASpublishedThe claim in the opening is the interesting part — database, service and UI without switching technologies — and then the project that follows from it. Part one, and it stops at a project that runs.Generators
Prompt-Driven Development: Building Full-Stack SAP CAP Apps from User StoriespublishedA user story in, a scaffolded full-stack CAP application out, through SAP Build Code and Joule. The question it is actually asking is how much of the foundational code is worth generating, and it answers by generating all of it.Generators
Quick Implementation of DI/DI Container on SAP CAP: Node.js Hands-on PartpublishedThe hands-on half of a pair — the theory is in the author's earlier post — built on the official bookshop sample with the directories flattened so the pattern is visible rather than the scaffolding. Assumes CAP and TypeScript already.TypeScript patterns
Remote Debugging of SAP CAPM App - NodejspublishedDebugging a CAP Node.js application that is not on your machine, built up from
cds init and a custom action so there is something to breakpoint. The part people need is at the end; the beginning is there so the end is reproducible.Local developmentReusable components for CAP with cds-pluginpublishedThe post that taught the mechanism, and it teaches it by picking a requirement small enough to be absurd: every string a service returns should end in a random emoji. Working through that on the bookshop example leaves nothing to argue about except the plumbing, which is the point — what a cds-plugin is, where it hooks in, and why packaging it beats copying it into the next project. Vinícius BarrionuevoVinícius Barrionuevomaintains 1 entry, wrote 1 post, contributed to 1 entrysap official credits this post as the thing that gave him the idea for sap-cap-sdm-pluginsap-cap-sdm-pluginA CAP Node.js plugin that maps annotated CDS entities to SAP Document Management and exposes CMIS and repository-administration clients, in an early release.independent, cap, and it is hard to read the plugin ecosystem in this graph without it.Plugin authoring
Running CAP Node Applications in SAP Business Application StudiopublishedThe Run Configurations tool, which is where binding and mocking live in BAS rather than in a terminal. Three things it does: several named configurations per application in a tree, dependencies bound to real service instances, and OData dependencies mocked. The author notes the configurations are standard launch entries underneath, which is the detail that lets you leave the tool behind if you want to.Editor support
SAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA CloudpublishedA pipeline for the database half of a CAP application, built with
cds add pipeline — one command that writes a Jenkinsfile and a .pipeline folder — and then the mta module that makes a database change deploy itself.CI/CD pipelinesSAP Build Process Automation – Use Principal Propagation in Actions sample: CAP Node.js ServicepublishedThe follow-up that carries the identity through. It takes the CAP service from the Actions tutorial and puts the calling user's identity behind it — an XSUAA instance, a trust configuration, an OAuthSAMLBearerAssertion destination, and the service changed to use that instance — so a step runs on behalf of a person rather than as the process.Workflow integration
Set up a self-contained development environment for CAP Node.jspublishedA CAP development environment that carries its own dependencies, so the machine it runs on stops being part of the setup.Local development
Storyboard for cloud business applications using CAP in SAP Business Application StudiopublishedThe first release of the Storyboard, written by the team shipping it. Where the graphical modeller draws the data model, this draws the application: its logical components and the connections between them, alongside an application explorer enhanced in the same release. Short, and it reads as an announcement — the fuller account of using it is Aryan_Raj_Sinha's post two years later.Editor support
Streamlining CAP Development with CDS Graphical Modeler in SAP Business Application StudiopublishedThe case for the graphical modeller stated as a scale problem rather than a preference: a model held only as code gets hard to keep in your head once it is large, and the diagram is a second view of the same file. The most recent write-up of the tool here, and the one that treats it as an everyday working aid rather than as a new feature.Editor support
Taking CAP to the next level - with TypeScriptpublishedThe author's own two packages introduced together, and they are two halves of one idea: cds2typescds2typesA command-line tool that generates TypeScript interfaces from a CDS model, written before @cap-js/cds-typer existed.independent, cap generates TypeScript from the CDS model, cds-routing-handlerscds-routing-handlersDecorator-based routing of CAP service handlers in TypeScript, from before the core had an opinion — the framework the CDS-TS-Dispatcher post names as its unmaintained predecessor.independent, cap arranges the handlers that use them. Published in 2020, years before cds-typer, which makes it the earliest answer in the graph to a question the core answered later.TypeScript patterns
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewpublished
cds.test covers the service; this covers what is underneath it, where the artifact is an hdbprocedure or an hdbview that CDS never sees. That means a real HDI container, so most of the post is about where to get one and how to give CAP access to it — the tests are the easy part once that is true.TestingTips and Tricks for Working with Annotations in CAP Projects using Language Server Protocol (LSP) capabilitiespublishedFour settings, from somebody who works on the annotation language server. The premise is the interesting part: CAP's annotation syntax is looser than ABAP CDSABAP CDSThe modelling layer of ABAP Cloud — view entities, projections and annotations defined above database tables, delivered with the platform rather than installed.sap official, abap or EDMX — a record can be written with or without an explicit type — so the completion has to guess how verbose you want it, and this is where you tell it. Then filtering the completion list, reading the icons, ordering diagnostics by severity, and turning i18n problems on only when you want them.Editor support
Triggering SAP Build Process Automation Processes from SAP Cloud Application Programming (CAP) AppspublishedThe two routes out of a CAP application into a process, side by side: a destination with OAuth2ClientCredentials, the same destination with principal propagation, and Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp with a CloudEvents payload. Written before @cap-js/process@cap-js/processStarts, cancels, suspends and resumes SAP Build Process Automation processes from a CAP service through entity annotations, or through a typed CDS service imported from the process definition.sap official, cap existed, so it is the record of what the plugin now does for you — useful when the plugin does not fit, and useful for reading what it is actually doing underneath.Workflow integration
TypeScript Sheriff: How can I use TypeScript in the SAP ecosystem? (Part 2 of 3)publishedThe middle part of three, and the one about SAP: where TypeScript is supported across a side-by-side extension on BTP, as of July 2023. It says the SAP Cloud SDK already generates OData clients as .ts files and UI5 ships types for its controls and modules, the ground of TypeScript supportTypeScript supportWriting apps and libraries in TypeScript — the type definitions, the module syntax the loader expects, and the build step that gets from one to the other.SAP and community, narrow by design in UI5, while CAP offers standard types and the new @cap-js/cds-typer@cap-js/cds-typerGenerates TypeScript types from a CDS model.sap official, cap generates types for a service, which is typingTypingMaking the model visible to the compiler — generated types for entities and events so a rename breaks the build rather than production.SAP and community, unassessed, with the caveat that running cds-ts commands could overwrite what cds-typer generated.Typing
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one gopublished
cds watch serves the service and the app folder but not the approuter, so anything needing a JWT means a second terminal started by hand. This replaces that with a VS Code task definition — the tasks.json is in the post — so the whole local stack comes up on one command.Local developmentUse TypeScript with the SAP Cloud Application Programming ModelpublishedWritten from the position of someone who avoided JavaScript for years and then had to cover CAP, which gives it a useful angle: what TypeScript buys a person arriving from a typed language, and where to start rather than how to finish. Ends on a worked example rather than a survey.TypeScript patterns
vite-plugin-cdsadded to the atlasServes a Vite app through cds watch and imports .cds filesLocal development
Workflow development using SAP Cloud Application Programming Model and SAP Build Process AutomationpublishedAn argument about where logic belongs rather than a wiring guide. The author's case is that pulling mapping, preprocessing and JavaScript into the process model makes it unreadable to the process owner who has to maintain it, so the model should stay thin and CAP should hold the domain model, the authorisation annotations, the events and the API consumption. Each of those is then shown in turn against SBPA — including publishing CAP events into process visibility.Workflow integration
加速开发和部署的CAP CDS和Fiori一些实用命令publishedIn Chinese. A command reference rather than a walkthrough —
cds import, cds compile, cds deploy --to sqlite, cds add hana, cds add xsuaa — grouped by what they are for. The kind of page that is more useful than a tutorial once you already know what you are doing.Generators@cbs-consulting/cds-eslintlinks, artifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Linting
@cbs-consulting/toolslinks, artifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Linting
@dxfrontier/cds-ts-dispatcherartifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.TypeScript patterns
@dxfrontier/cds-ts-repositoryartifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.TypeScript patterns
@sap-ux/eslint-plugin-fiori-toolsartifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Linting
@sap-ux/fe-mockserver-plugin-cdsartifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Testing
@sap-ux/fiori-generator-sharedartifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Generators
@sap/eslint-plugin-cdslinks, artifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Linting
@sap/generator-cap-projectlinks, artifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Generators
@sap/generator-cdslinks, artifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Generators
cds-cucumberdescription revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Testing
cds-internal-toollinks revised404 from the GitHub API. Found by the first full run of scripts/check-links.mjs — the citation had a checked date and nobody had re-read it.Typing
cds-launchpad-plugindescription revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Testing
cds-plugin-typescriptartifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.TypeScript patterns
cds-routing-handlersartifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.TypeScript patterns
cds2typesartifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.TypeScript patterns
repository-templatedescription revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
Mon 7
@cap-handler/generatoradded to the atlasInteractive generator for CAP event handler filesGenerators
@cap-utils/barrieradded to the atlasPlaceholder package under a CAP annotations name, no annotations
@cbs-consulting/cds-eslintadded to the atlasESLint plugin with one consultancy's rules for CDS filesLinting
@cbs-consulting/toolsadded to the atlasShared ESLint configuration for SAPUI5 and CAP projectsLinting
Show 39 more
@khalidmh/capxadded to the atlasInteractive project installer for CAP Node.jsGenerators
@sang2x/captoolsadded to the atlasCLI of CAP development tools for Cloud Foundry workflowsLocal development
@sap-ux/eslint-plugin-fiori-toolsadded to the atlasESLint rules for projects the Fiori tools generators produceLinting
@sap-ux/fiori-generator-sharedadded to the atlasShared functions and types of the Fiori generatorsGenerators
@sap/eslint-plugin-cdsadded to the atlasSAP's ESLint plugin for CDSLinting
@sap/generator-cap-projectadded to the atlasCAP project generator behind SAP Business Application Studio's wizardGenerators
@sap/generator-cdsadded to the atlasCDS project generator, deprecated in favour of @sap/cds-dkGenerators
@saptools/cf-request-runneradded to the atlasEndpoint discovery for CAP services deployed to Cloud FoundryDebugging
@saptools/hana-lensadded to the atlasWorkspace-wide CSN cache for querying CAP entities and columnsEditor support
@saptools/service-flowadded to the atlasStatic end-to-end tracer of one CAP operation across repositoriesDebugging
A Fiori Launchpad Sandbox for all your CAP-based projects - OverviewpublishedWhere cds-launchpad-plugincds-launchpad-pluginIndexes every SAPUI5 application in a workspace into one sandbox launchpad served by the CDS server, so all of them can be opened from a single page while developing.independent, cap came from, told as a learning exercise: the author wanted a real problem to teach himself TypeScript on, and picked the thing he kept redoing in every CAP project — a launchpad to see all the UI applications in one place. The origin post for an entry whose 2023 update is also indexed here.Testing
A Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setuppublishedThe hands-on half published the same day as the overview: the launchpad module wired into the CAP sample repository, step by step from a global cds-dk install. Same-day pairs like this are worth keeping together — the overview argues, this one is the thing you follow.Testing
Avoid design time CAP server restarts when maintaining local data filespublishedcds watch restarting on every file change is the feature; this is the case where it is not. Editing a CSV seed file mid-edit restarts the server against half-finished data, and the post is about suppressing that without giving up the watch loop. A small friction most people work around silently rather than fix.Local development
CAP Initializr: Generate SAP CAP Projects in SecondspublishedA hosted project generator for CAP in the shape of Spring Initializr — pick the structure, dependencies and configuration in a browser and download the result, rather than running cds init and then wiring the facets by hand. The post is an MVP announcement asking for feedback, and the tool lives at a Cloud Foundry trial URL rather than on npm, so it is a direction being tested in public rather than something to depend on.Generators
cap-handler-frameworkadded to the atlasConvention-based handler layer for CAP with draft lifecycle hooksTypeScript patterns
cap-mock-generatoradded to the atlasFills db/data with relationally consistent CSV from a .cds schemaSeed data
cds-hyper-app-serviceadded to the atlasTyped class-based service layer over CAP ApplicationServiceTypeScript patterns
cds-internal-tooladded to the atlasReusable internals for authors of CAP extensionsTyping
cds-launchpad-plugin supercharged & ready for the future - CAP Plugin, UI5 Tooling support & Async LaunchpadpublishedThe maintainer on a set of changes rather than on the plugin's original purpose, which is indexing every SAPUI5 project in a workspace into one sandbox launchpad so all of them can be tested together. What moved: it became a CAP plugin, gained UI5 Tooling support, and moved to the async launchpad — each framed as keeping pace with where SAPUI5 itself is going rather than as a feature.Testing
CDS-TS-Dispatcher: Simplifying SAP CAP TypeScript DevelopmentpublishedThe first of a pair introducing the author's own libraries, and it states what it is reacting to: CAP derives OData services from a CDS model, but the communication between business logic, service and persistence layers is left to you, and the earlier attempt at the service-layer half, cds-routing-handler, appeared unmaintained against newer CAP. The dispatcher is the answer offered for that layer.TypeScript patterns
CDS-TS-Repository: Simplify SAP CAP Entity persistance with BaseRepositorypublishedThe persistence half of the same pair, three days later: a BaseRepository putting entity access behind a typed repository rather than CQN written inline in a handler. Shares its opening argument with the dispatcher post — the layer between business logic and persistence is the part CAP leaves open — and the two are designed to be used together.TypeScript patterns
debug a CAP app with UI5 TypeScript UI component with VS CodepublishedDebugging both runtimes at once — the CAP server and a UI5 component written in TypeScript, the latter stepped through in its own sources rather than in the transpiled output. Written when TypeScript for UI5 had just become possible, and the combination it sets up is the one CAP's app folder invites.Debugging
Develop CAP Project with Lazyvim in DockerpublishedA Docker image running Lazyvim with language server support for CDS, TypeScript and JSON, so a CAP project can be developed with an editing experience comparable to VS Code without leaving the keyboard. Narrow by intent, and the useful general point underneath it is that CAP's editor support reaches anything that speaks LSP.Editor support
Develop SAP CAP apps inside a VS Code Docker ContainerpublishedA VS Code dev container configuration with everything a CAP project needs already in it, published as a repository rather than as instructions. The 2020 half of a pair whose other half, four years later, does the same for Lazyvim — the same author solving the same problem twice as his editor changed.Local development
eslint-plugin-better-cap-configadded to the atlasESLint rules flagging deprecated CAP configurationLinting
Exploring the TypeScript Ecosystem with @cap-js/cds-typer, cds-ts, and node-tspublishedPart one of two: a bookshop project built in TypeScript from cds init, with cds-typer added as a development dependency and the surrounding tools — cds-ts and node-ts — put in place so the project runs locally. A setup walkthrough rather than an argument about typing, and it stops at the point where the application works on a laptop; deployment is part two.Typing
Exploring the TypeScript Ecosystem with @cap-js/cds-typer, cds-ts, and node-ts Part - 2publishedPart two takes the TypeScript project from part one to Cloud Foundry: cds add mta, then the parts of the generated descriptor the author singles out as needing attention for a TypeScript build rather than a JavaScript one. The pair together is the whole path — typed model locally, then deployed — which is where a typing walkthrough usually stops short.Typing
forsap-s4hana-private-simulatoradded to the atlasCAP project simulating S/4HANA Private Edition OData APIs locally
Introducing eslint-plugin-better-cap-config an ESLint plugin to improve CAP configurationpublishedThe author's own announcement, and precise about scope: today it catches deprecated key/value entries in CAP's JSON configuration, and the ambition is that it grows into best practices, suggestions and autofixes the way any ESLint plugin does. The implementation detail worth knowing is that it uses modern ESLint's JSON language support rather than a generic parser, which is what makes linting a configuration file rather than source code work at all.Linting
ISO content for common CAP typespublishedThe npm package that supplies ISO-standard content — countries, languages, currencies, timezones — for CAP's common types, and how it works underneath. The author flags the length and the reason for it up front, having followed the mechanism further than the question required, which is what makes it worth reading rather than a package announcement.Seed data
repository-templateadded to the atlasRepository template with LICENSE, REUSE and compliance files
SAP CAP: Best VSCode extensions for TypeScript development (UI5 & NodeJS)publishedA working editor setup for CAP with TypeScript, listed extension by extension across the Node.js and UI5 halves. The kind of post that ages by attrition rather than by being wrong — the reasoning about what an editor needs to know about a CDS project outlives any particular extension in the list.Editor support
SAP CAP: Controller - Service - Repository architecturepublishedThe pattern the author's two libraries exist to support, set out as a whole rather than one package at a time: a controller layer receiving the request, a service layer holding business logic, and a repository layer owning persistence — the separation CAP leaves to the developer once a model has produced an OData service. Read after the dispatcher and repository posts, or before them as the argument for both.TypeScript patterns
sap-cap-debuggeradded to the atlasAttaches a debugger to a CAP app running on Cloud FoundryDebugging
sapbrunoadded to the atlasTerminal UI running Bruno collections against a CAP serviceTesting
Set up VS Code on Chrome OS for local Application Programming Model developmentpublishedA CAP development environment on a Chromebook, written from preference rather than constraint — the author sets out why Chrome OS is his primary machine before showing the setup. Carries its own updates section noting what has changed since, which for a 2018 post about an operating system is most of it. The interest now is that local CAP development was portable this early.Local development
Trigger an SAP Build Process Automation Workflow from CAP Using the @cap-js/process PluginpublishedA step-by-step setup for starting a Build Process Automation workflow from CAP through the plugin rather than through direct REST calls, which is how it had to be done before. Covers both ends: deploying the process in the SBPA designer and finding the workflow instance id it produces, then wiring the CAP side to it. Written against the first beta, released 26 April 2026, so the shape is settled but the surface may not be.Workflow integration
cap-typescriptdomain revisedA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.
SAP-NPM-API-collectiondomain revisedA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.
Sun 6
cap-js-mockdataverdict revisedVerdict rings retired. What the ring compressed now lives in readings derived from facts (liveness, compatibility, reach) and in the description fields, so a thing can be dead as a dependency and still worth reading. VISION §9.Seed data
sap-cds-erdverdict withheld revisedWithheld verdicts retired with the rings. Nothing is recused from: facts about an entry are facts whoever maintains it, and a starting-point is answered by description.to_build_on_it.Model visualisation
Wed 2
@dxfrontier/cds-ts-dispatcheradded to the atlasDecorator-driven handler registration for CAP in TypeScriptTypeScript patterns
@dxfrontier/cds-ts-repositoryadded to the atlasTyped BaseRepository over CAP entitiesTypeScript patterns
cds-plugin-typescriptadded to the atlasCDS build task compiling TypeScript sources during cds buildTypeScript patterns
cds-routing-handlersadded to the atlasDecorator-based routing of CAP service handlers in TypeScriptTypeScript patterns
Show 1 more
cds2typesadded to the atlasCLI generating TypeScript interfaces from a CDS modelTypeScript patterns
Tue 1
cap-js-mockdataprovides, verdict revisedRecording
cds add data as a version change on seed-data narrowed what this plugin uniquely offers. The verdict stays TRY, but for a smaller reason than yesterday, and saying so is the point of dating verdicts.Seed dataSeed datacore coverage revisedWrong since mid-2024 and nobody had checked. It said generated volumes were community territory;
cds add data has generated volumes since @sap/cds-dk 7.9.0. Found by doing the version-history pass — which is the argument for that pass in one line.Seed dataMon 31
@cap-js/cds-typeradded to the atlasGenerates TypeScript types from a CDS modelTyping
@cap-js/cds-typesadded to the atlasType definitions for the CAP Node.js SDKTyping
@cap-js/consoleadded to the atlasConnects a running CAP application to the CAP consoleDebugging
@cap-js/data-inspectoradded to the atlasInspects database entities and contents at CAP service levelDebugging
Show 22 more
@cap-js/n8nadded to the atlasTriggers n8n workflows from a CAP applicationWorkflow integration
@sap/cds-dkadded to the atlasCommand line client and development toolkit for CAPGenerators
@sap/cds-lspadded to the atlasLanguage server for CDSEditor support
@sap/vscode-cdsadded to the atlasCDS language support for VS Code and Business Application StudioEditor support
cap-n8nadded to the atlasIntegration of CAP with n8n workflows and triggersWorkflow integration
cap-typescriptadded to the atlasMinimal CAP project in TypeScript
cds-eclipse-pluginadded to the atlasEclipse plugin for the CDS languageEditor support
cds-intellijadded to the atlasSAP CDS language support for IntelliJ IDEAEditor support
cds-plugin-handlersadded to the atlasOne handler file per entity in CAP servicesTypeScript patterns
cds-textmate-grammaradded to the atlasTextMate grammar for the CDS languageEditor support
cf-setupadded to the atlasGitHub Action setting up the Cloud Foundry CLICI/CD pipelines
sap-cds-erdadded to the atlasAWK script sketching an ER diagram from .cds filesModel visualisation
SAP-NPM-API-collectionadded to the atlasAPI documentation extracted from SAP-published npm packages
zed-cds-extensionadded to the atlasCDS language support for the Zed editorEditor support
Debuggingcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Debugging
Editor supportcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Editor support
Local developmentcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Local development
sap-cds-erduse as revisedFirst entered as an option with a when_not_to_use listing everything it is not, which framed a published sketch as a weak dependency. It was never offered as one. The facts are unchanged; they now sit under what taking it further would involve.Model visualisation
Seed datacore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Seed data
Testingcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Testing
Typingcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Typing
Workflow integrationcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Workflow integration
Sun 30
@sap-ux/fe-mockserver-plugin-cdsadded to the atlasFiori Elements mock server plugin taking a CDS file as metadataTesting
cap-js-mockdataadded to the atlasCSV seed data generated from @Mockdata annotations with FakerSeed data
cds-cucumberadded to the atlasGherkin scenarios driving a running CAP serviceTesting
cds-launchpad-pluginadded to the atlasSandbox launchpad for all SAPUI5 apps in a CAP workspaceTesting
Thu 27
Workflow integrationthe core changed in @cap-js/n8n 0.0.1Guidance that n8n triggering from CAP has no SAP-official path and is community territory only. Since August 2026 there is an SAP-published plugin alongside the independent one.Workflow integration
Thu 2
Generatorsthe core changed in @sap/cds-dk 10.0.3Any generated-project walkthrough that shows require() and module.exports coming out of a bare cds init — on cds-dk 10.0.3 and later, a fresh Node.js project is ESM unless --add cjs was passed.Generators
Mon 29
@sap/vscode-cdsreleased 10.0.1The minimum Visual Studio Code version is 1.109.5.Editor support
@sap/vscode-cdsreleased 10.0.1Guides that use CAP notebooks in Visual Studio Code.Editor support
@sap/vscode-cdsreleased 10.0.1The where-used index is persisted by default, switched off with the user setting
cds.workspace.persistency.enabled.Editor support@sap/vscode-cdsreleased 10.0.1A CAP Project Explorer is added to the sidebar, which the user setting
cds.explorer.enabled can disable.Editor supportMon 22
@cap-js/cds-typerreleased 0.40.0Build setups written around cds-typer emitting
.ts files that TypeScript then compiles.Typing@cap-js/cds-typesreleased 0.18.0Setup notes that rely on
@types/sap__cds appearing after npm install.TypingFri 12
@sap/generator-cap-projectreleased 2.1.1Running the generator on Node.js 20.Generators
Tue 9
@sap/generator-cdsreleased 3.0.0Support for Node.js 20 was dropped.Generators
Sat 30
@sap-ux/cap-config-writerreleased 1.0.0Examples and test setups written for the CommonJS build, such as a Jest configuration without ESM support.Generators
@sap-ux/fe-fpm-writerreleased 1.0.0Examples that load the package with
const ... = require('@sap-ux/fe-fpm-writer') from a CommonJS module, written against 0.x.Generators@sap-ux/fiori-generator-sharedreleased 1.0.0Jest configurations for projects that test code importing
@sap-ux/fiori-generator-shared without the ESM settings the changelog gives (extensionsToTreatAsEsm, ts-jest with useESM).Generators@sap-ux/odata-service-writerreleased 1.0.0Jest configurations, written for the CommonJS build, of projects that test code importing the package.Generators
Thu 23
@cap-js/cds-testreleased 1.0.0Test setups that rely on axios arriving with cds-test, or that set
cds.test.axios.defaults.TestingTestingthe core changed in @cap-js/cds-test 1.0.0Any description of cds.test as axios-backed, or troubleshooting written around cds.test.axios as the primary HTTP client — since 1.0 that path is deprecated, not the default.Testing
Fri 27
Workflow integrationthe core changed in @cap-js/process 0.1.0Guidance that calling SAP Build Process Automation from CAP is always a hand-written HTTP integration. Since March 2026 there is a first-party plugin for it — though the typed, process-specific service still does not work locally and needs a hybrid or production connection.Workflow integration
Mon 29
@sap/cds-lspreleased 9.6.0Editor integrations that start the language server on a Node.js release older than 22.Editor support
Thu 18
@sap-ux/eslint-plugin-fiori-toolsreleased 9.0.0Setups that install
eslint-plugin-fiori-custom separately.LintingTue 30
@sap/vscode-cdsreleased 9.4.0The user setting for semantic highlighting of annotations is renamed
cds.contributions.features.semanticHighlighting; under its old name it could not be enabled. The temporary setting cds.workspace.fastDiagnosticsMode is removed.Editor supportThu 21
@sap/ux-cds-odata-language-server-extensionreleased 1.18.6CDS annotation examples that use the
$value syntax.Editor support@sap/ux-cds-odata-language-server-extensionreleased 1.18.6CDS annotation examples that use the
$value syntax.Editor supportMon 11
@sap/generator-cdsreleased 2.18.10Support for Node.js 18 was dropped.Generators
Wed 2
Generatorsthe core changed in @sap/cds-dk 9.1.0Descriptions of cds add as covering only infrastructure facets and never touching test code. That was accurate before mid-2025; since then it does, though still experimental.Generators
Thu 5
@cap-js/cds-typesreleased 0.12.0Pairing the newest cds-types with a project on cds 8 or earlier.Typing
Mon 2
Testingthe core changed in @sap/cds 9.0.2Setup steps that install axios, chai, chai-as-promised and chai-subset directly to use cds.test rather than adding @cap-js/cds-test. On cds9, cds.test does not run without the latter present, regardless of what else is installed.Testing
Tue 27
@sap/eslint-plugin-cdsreleased 4.0.2Lint setups for CAP projects that pair @sap/eslint-plugin-cds 4 with ESLint 8.Linting
@sap/vscode-cdsreleased 9.0.1Settings that set
cds.useOldParser, and descriptions of the extension updating references when a CDS file is renamed.Editor supportTue 1
@cap-js/cds-typerreleased 0.34.0Advice to switch on
use_entities_proxy before importing generated entities statically.TypingTue 4
Editor supportthe core changed in @sap/cds-dk 8.8.0Advice that CDS editor completion and parse speed cannot improve without switching editors. The new parser was opt-in from this release (cds.compiler.useOldParser to stay on the old one) and became the default in cds9.Editor support
Fri 21
Testingthe core changed in @cap-js/cds-test 0.1.0Guidance that treats cds.test as something @sap/cds provides with no extra install — from this point a project needs @cap-js/cds-test as a devDependency to get it.Testing
Mon 10
@cap-js/cds-typerreleased 0.33.0Handler code typed against the earlier generated types for
cds.Binary and cds.LargeBinary.TypingMon 13
@cap-js/cds-typesreleased 0.9.0Handler signatures typed with
TypedRequest<T>.TypingSun 1
TypeScript patternsthe core changed in @sap/cds-dk, December 2024Setup steps that tell a reader to run cds-tsx watch or cds-ts watch to start a TypeScript project. The release note's own sentence is that this is not necessary anymore.TypeScript patterns
Fri 12
Model visualisationthe core changed in @sap/cds-dk 8.0.2Advice that a diagram needs an external script or a paid tool. It needs neither, for a class diagram.Model visualisation
Thu 2
Local developmentthe core changed in @sap/cds-dk 7.9.1Advice that hybrid testing needs a dedicated service instance per org and space. True before mid-2024; a shared instance is enough since.Local development
Seed datathe core changed in @sap/cds-dk 7.9.1Any guidance that you must hand-write or third-party-generate CSV to get seed data at all. That was true before mid-2024 and is not now — the open question is realism, not volume.Seed data
Tue 13
cds-cucumberreleased 0.3.7Test setups that set
CDS_CUCUMBER_FIREFOX to run the UI steps in Firefox.TestingMon 5
cds-cucumberreleased 0.3.5Feature files that open with
Given we have started the CAP application.TestingMon 18
Plugin authoringthe core changed in @sap/cds-dk 7.5.0Advice that deployment artifacts a plugin needs must be produced by a script outside cds build.Plugin authoring
Thu 16
@sap/cds-lspreleased 7.4.0Editor integrations that start the language server on a Node.js release older than 18.15.0.Editor support
@sap/vscode-cdsreleased 7.4.0Settings that select one of the two removed validation modes.Editor support
@sap/vscode-cdsreleased 7.4.0Markdown formatting inside doc comments, previously on by default, is off by default.Editor support
Tue 10
@cap-js/cds-typerreleased 0.11.0
compileFromCSN is no longer exported from the package's programmatic API.TypingWed 20
cds-cucumberreleased 0.2.1Scenarios that use the step
we select additional row in value help dialog.TestingTue 25
TypeScript patternsthe core changed in @cap-js/cds-typer 0.5.0Setup guidance from 2020-2022 that reaches for cds2types, hand-written .d.ts files or another community fork to get typed entities out of a CDS model. That gap is what cds-typer closed in mid-2023; what is left open, and what this capability records, is the shape of the code around the generated types — dispatchers, repositories, controller-service-repository layering — which the core still has no opinion on.TypeScript patterns
Mon 30
@sap/cds-lspreleased 6.5.0Models that document definitions with
@cds.doc and expect the text on hover.Editor support@sap/vscode-cdsreleased 6.5.0Models that document definitions with
@cds.doc and expect the text on hover.Editor supportLocal developmentthe core changed in @sap/cds-dk 6.5.0Guidance that hybrid testing only reaches managed BTP services. Since January 2023 a user-provided service binds the same way.Local development
Fri 30
@sap/cds-lspreleased 6.2.0Formatter settings that name
keepAnnotationsInOriginalLine.Editor support@sap/vscode-cdsreleased 6.2.0Formatter settings that name
keepAnnotationsInOriginalLine.Editor support