SampleSampletypeA worked example you read or clone. Evidence: it demonstrates, it never provides.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →Starting point

off-stack-abap-template

A GitHub template repository for off-stack ABAP: abaplint and the @abaplint/transpiler behind npm test and CI, agent skills for the abapGit format, and optional ADT scripts that pull the code into a system.

Starts an ABAP project that is written in a local IDE as abapGit files and checked with no system: npm run lint runs abaplint, and npm run unit transpiles src/ with @abaplint/transpiler against open-abap-core and eleven further open-abap libraries, then runs the ABAP Unit tests on Node.js. The template carries no ABAP of its own: the getting-started steps create a package in the system, link it to the new repository with abapGit and push it once, after which a GitHub Actions workflow runs npm test on every push and pull request and release-please versions the project from conventional commits. Under .agents/skills/ sit skills that tell a coding agent how to write each object type, from CLAS and TABL to BDEF, SRVD and SRVB, in abapGit's serialised format, beside an AGENTS.md left for the project to fill in. The way back into a system is optional and needs an .env with ADT credentials: two TypeScript scripts on abap-adt-api, also registered as opencode tools, trigger an abapGit pull and run ABAP Unit in the connected system. The shipped abaplint.json is a reduced starting configuration, and opencode is the one agent client the template configures, with an opencode.jsonc that configures two remote MCP servers: abap-mcp at https://mcp-abap.marianzeis.de/mcp, an endpoint mcp-sap-docs documents as its own, and sap-released-objects.

Facts

Last push

Where it sits

Lives in
Demonstrates
GeneratorsABAPGeneratorscapabilityGetting from nothing to a project that runs, and from a project that runs to one that has the piece you just decided you need. Two different moments: the first is a one-time decision about layout, the second recurs for the life of the project.Static analysisABAPStatic analysiscapabilityCatching problems in code before it runs: naming, obsolete statements, security findings, and compatibility with a target environment. Style linting, security scanning and cloud-readiness checks are often treated as one concern.Unit testingABAPUnit testingcapabilityTesting application logic without a running business process — and the test doubles that make dependencies on the database and on framework services tractable.Agent guidanceABAPAgent guidancecapabilityPackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from [agent access to your code](capability:agent-code-access), where the agent reads the real project instead of being handed a file about it.
Requires
abaplintabaplintartifactThe lint step, npm run lint, which runs locally and as the first half of npm test in the CI workflow.@abaplint/transpiler@abaplint/transpilerartifactTurns the ABAP in src/ and its test classes into JavaScript, so npm run unit runs the ABAP Unit tests with no system.open-abap-coreopen-abap-coreartifactThe first of the open-abap libraries the transpiler configuration loads, supplying the standard ABAP the transpiled code runs against.Node.jsNode.jsoutside the atlasRuns the npm scripts and the transpiled ABAP Unit tests, on the developer's machine and in the CI workflow.abapGitabapGitartifactLinks the repository to a package in the system, pushes that package once so the project starts from it, and later brings the code into the system.
Optional
abap-adt-apiabap-adt-apiartifactThe ADT client the two optional scripts use to trigger an abapGit pull and run ABAP Unit in the connected system.adt client

Who is behind it

Philipp DölkerPhilipp DölkerPersonMaintains this
In the atlas: maintains 2, contributes to 4
@MagPasulke
maintainer

Before choosing this

Signals

LicenceNo licenseNeither the package manifest nor the repository tree declares a licence

Without a licence the default is all rights reserved. Ask the maintainer, or check for terms stated elsewhere, before depending on it.

What it declares

Every artifact

Type
Sample
Origin
Independently maintained
Runtime
Node.js

As a sample

Form
A template or starter

Connections11

off-stack-abap-template connectionsoff-stack-abap-templatePROVIDES→ demonstrates4demonstrates authoredAgent guidancedemonstrates authoredGeneratorsdemonstrates authoredStatic analysisdemonstrates authoredUnit testingNEEDS→ connects to1connects to stated If: an `.env` holds the system's ADT URL and credentials The optional scripts and opencode tools reach a development system over ADT to trigger an abapGit pull of the repository and run its ABAP Unit tests there. MagPasulke/off-stack-abap-template — README, scripts & opencode tools: https://github.com/MagPasulke/off-stack-abap-template MagPasulke/off-stack-abap-template — README, AI agent skills & agents.md: https://github.com/MagPasulke/off-stack-abap-templateABAP platformif→ needs5needs declared Turns the ABAP in `src/` and its test classes into JavaScript, so `npm run unit` runs the ABAP Unit tests with no system. MagPasulke/off-stack-abap-template — README, abap transpiler: https://github.com/MagPasulke/off-stack-abap-template MagPasulke/off-stack-abap-template — package.json, devDependencies: https://raw.githubusercontent.com/MagPasulke/off-stack-abap-template/main/package.json@abaplint/transpilerneeds stated Links the repository to a package in the system, pushes that package once so the project starts from it, and later brings the code into the system. MagPasulke/off-stack-abap-template — README, prerequisites: https://github.com/MagPasulke/off-stack-abap-template MagPasulke/off-stack-abap-template — README, create abapGit repo & root package: https://github.com/MagPasulke/off-stack-abap-templateabapGitneeds declared The lint step, `npm run lint`, which runs locally and as the first half of `npm test` in the CI workflow. MagPasulke/off-stack-abap-template — README, abaplint: https://github.com/MagPasulke/off-stack-abap-template MagPasulke/off-stack-abap-template — package.json, devDependencies: https://raw.githubusercontent.com/MagPasulke/off-stack-abap-template/main/package.jsonabaplintneeds stated Runs the npm scripts and the transpiled ABAP Unit tests, on the developer's machine and in the CI workflow. MagPasulke/off-stack-abap-template — README, prerequisites: https://github.com/MagPasulke/off-stack-abap-templateNode.jsneeds stated The first of the open-abap libraries the transpiler configuration loads, supplying the standard ABAP the transpiled code runs against. MagPasulke/off-stack-abap-template — abap_transpile.json, libs: https://raw.githubusercontent.com/MagPasulke/off-stack-abap-template/main/abap_transpile.jsonopen-abap-core→ optionally needs1optionally needs stated If: the ADT scripts or the opencode tools are used, with an `.env` holding the system's ADT URL and credentials The ADT client the two optional scripts use to trigger an abapGit pull and run ABAP Unit in the connected system. MagPasulke/off-stack-abap-template — scripts/adt_gitpull_core.ts: https://raw.githubusercontent.com/MagPasulke/off-stack-abap-template/main/scripts/adt_gitpull_core.ts MagPasulke/off-stack-abap-template — README, scripts & opencode tools: https://github.com/MagPasulke/off-stack-abap-templateabap-adt-apiif

README

quoted from MagPasulke/off-stack-abap-template, read
MagPasulke/off-stack-abap-template/README.mdOn GitHub

off-stack ABAP template

A GitHub template repository for developing ABAP projects outside of a SAP system. Write ABAP in your local IDE, lint it, run unit tests locally via transpilation, and sync to a real SAP system when ready.

Create a repository from this template

excerpt, no licence read, read the rest, on GitHub

Details

Sources3
Added by handdiscovered herechecked
github.com/MagPasulke/off-stack-abap-templatetree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
runtimesnode
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainabap, developer-experience
History in the atlas1
  1. First seen.
For your agent
Ref
artifact:magpasulke-off-stack-abap-template
JSON
/artifacts/magpasulke-off-stack-abap-template.json
MCP
Connecting an agent