agentleFS
williamcorrea23williamcorrea23/sap-router-skill/.agents/skills/btp-developer-guide/SKILL.md

btp-developer-guide

Skill1 starsChanged 4 months agoMITView on GitHub

SAP BTP Developer Guide — runtime selection, CAP/ABAP Cloud/SAP Build, integration patterns, CI/CD, monitoring

The file

Files
SKILL.md

SAP BTP Developer Guide

1. Choose Runtime

RuntimeBest ForLanguages
Cloud FoundryCAP apps, microservices, stateless APIsNode.js, Java, Python, Go
KymaEvent-driven, custom Docker stacksAny container
ABAP EnvironmentRAP Cloud extensions, SteampunkABAP (clean core)
SAP BuildCitizen dev, low-code process automationLCNC

2. CAP Quick Start

cds init my-project && cd cds-project
cds add mta && cds add app --ui5 && cds add sample
cds watch                    # http://localhost:4004
npx cds add xsuaa            # authentication
npx cds add hana             # production DB
mbt build                    # → mta_archives/*.mtar
cf deploy mta_archives/*.mtar

3. Integration Patterns

PatternBTP ServiceProtocol
REST/OData ProxyAPI ManagementHTTP
Async EventsEvent MeshMQTT, CloudEvents
B2B/EDITPMAS2, OFTP2
File TransferCPISFTP
Scheduled JobsJob SchedulingCron-triggered REST

4. CI/CD Pipeline

# .pipeline/config.yml
stages:
  - Build: mbt build
  - Test: cds test --coverage
  - Lint: eslint src/ && abaplint --format json
  - Deploy DEV: cf deploy mta_archives/*.mtar -f
  - Deploy PRD: manual approval → cf deploy mta_archives/*.mtar

5. Monitoring

ServiceWhat It Monitors
Cloud LoggingCentralized logs via OpenSearch + Kibana dashboards
Alert NotificationProactive alerts (email, webhook, Slack)
Automation PilotAutomated incident response (remediation)

Pitfalls

  • No MTA wrapper → Cause: deploying individual apps without MTA. Solution: always use cds add mta and deploy via mbt build → cf deploy.
  • Destinations not found → Cause: destinations are subaccount-scoped. Solution: create destinations in the same subaccount as the consuming app; use cf env APP_NAME to verify binding.
  • CF memory crash → Cause: app exceeds memory limit. Solution: check cf app APP_NAME for mem usage; scale with cf scale APP_NAME -m 256M.
  • Kyma vs CF confusion → Cause: choosing runtime by familiarity. Solution: prefer CF for stateless CAP/API workloads; Kyma for event-heavy, polyglot, or stateful container stacks.
  • Missing xs-security.json → Cause: app deployed without authentication. Solution: cds add xsuaa generates the security descriptor; customize scopes/roles in xs-security.json.

Verification

cf apps                                    # list deployed apps
cf services                                # list service instances
cf logs APP_NAME --recent                  # recent logs
curl https://<app>.cfapps.<region>.hana.ondemand.com/health -s

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.