IDE extensionIDE extensiontypeInstalls into a development environment (VS Code, Eclipse with ABAP Development Tools, SAP Business Application Studio) and works inside it, rather than as a library you call or a command you run.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 →

Bella

An Eclipse plugin that puts Claude into ABAP Development Tools: explain, generate, rework and implement from the editor's context menu, completion as ghost text, and a chat whose tools reach the system through the developer's existing ADT logon.

Bella runs inside ABAP Development Tools for Eclipse and grounds what the model writes in the system the developer is logged on to: its editor actions collect the tables, types, classes and function modules the code and the instruction mention, load their definitions through the existing ADT logon, and list them in the diff preview shown before anything is written. Code for an object that is open goes into the Eclipse editor only, never into the system, and the editor is left dirty so the developer saves and activates as usual; objects that are not open may be written, created and activated after confirmation, and releasing a transport is always refused. In the chat the model calls Bella's own adt_* tools for search, read, context, where-used, syntax check, ABAP Unit and ATC, and abap_lint checks generated code for obsolete statements without SAP access, a rule set of Bella's own that its README states is not abaplint and no replacement for ATC. The model never talks to the system itself: Bella makes the provider call, through an Anthropic API key, a locally installed Claude Code CLI, the GitHub Copilot CLI or an OpenAI-compatible endpoint. ARC-1 or another MCP server can be added beside the built-in tools, which the README names as where a central audit log, rate limits and a package allowlist come from.

Facts

Last pushLicenceMIT

Where it sits

Lives in
Provides
Agent access to your codeABAPAgent access to your codecapabilityLetting a coding agent read the project or the system you actually have, reach its model, its objects and its checks, and act on it. In file-based environments that works out of the box; complex systems need dedicated access capabilities. Whatever the environment, the agent also needs project- and framework-specific context, so it understands the thing in front of it rather than guessing from what it remembers of its training data. The transport is incidental: an MCP server, a language server or a CLI answer the same question, and what differs between them is how much of the real thing the agent can see. Distinct from [MCP servers](capability:mcp-servers), which is a protocol adapter on your own running service, and from [agent guidance](capability:agent-guidance), which is knowledge handed over as files rather than read from the thing itself.Editor supportABAPEditor supportcapabilityWorking in source code with the editor helping rather than treating it as text — completion, go-to-definition, inline errors, refactoring and preview.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.
Requires
ABAP Development Tools for EclipseABAP Development Tools for Eclipseartifactsupplies the ABAP editors and the logged-on ABAP projects Bella's ADT integration feature attaches to; Bella ships and downloads no ADT of its ownEclipse IDEEclipse IDEoutside the atlasthe IDE Bella is installed into from its own p2 update site, at release 2024-12 or newer with Java 21

Who is behind it

Kilian TaubmannKilian TaubmannPersonMaintains this
In the atlas: maintains 1, contributes to 1
@ktaubmann
maintainer

Before choosing this

Conditions

PolicySAP API Policy 4.2026a§ 1.1, 1.2, 2.2.2from Agent access to your codeAn MCP server calls ADT or another SAP API of a running system for an agent.
  • § 1.1 Published APIs. Published APIs are made available for the documented purposes identified by SAP, including integration, extensions and data exchange.
  • § 1.2 Non-Published APIs. Customer and third-party applications must not access non-published APIs except where documentation permits it or SAP otherwise authorizes it.
  • § 2.2.2 AI call sequences and data extraction. Outside SAP-endorsed architectures, data services or expressly identified pathways, the policy prohibits specified agentic API use and systematic or large-scale extraction.

An agent that plans and executes ADT calls is the case section 2.2.2 names. Check that the endpoints are published for the intended use, and that the design runs within a pathway SAP identifies for it.

SAP API Policy 4.2026a →

What it declares

Every artifact

Type
IDE extension
Origin
Independently maintained
Runtime
Java

As an IDE extension

Installs into
Eclipse with ABAP Development Tools
Distributed through
does not say

For agent access to your code

Read
sourcesearchwhere-usedDDICCDStable data
Change
writecreateactivatetransportsgit
Check
syntaxATCABAP Unit
Run
run codedumps
property statedstated nonot said

Connections7

Bella connectionsBellaPROVIDES→ provides3provides authored Reads the definitions of the tables, structures, classes, interfaces, function modules, data elements and table types a request touches out of the connected system, through the developer's own ADT logon rather than a separate service user, and gives the model tools for search, read, context, where-used, syntax check, ABAP Unit and ATC. Read and check tools run automatically; write, create and activate ask first, and releasing a transport is refused. ktaubmann/Bella — README: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md ktaubmann/Bella — repository: https://github.com/ktaubmann/BellaAgent access to your codeprovides stated Adds AI actions to the ABAP editor in Eclipse: a right-click submenu for explaining a selection, generating code at the cursor, reworking a selection and implementing the method at the cursor, completion as grey ghost text that Tab accepts and Esc dismisses, and a chat view with editor context whose code blocks can be inserted, replace the selection or be taken over as a method body. ktaubmann/Bella — README, Features: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md ktaubmann/Bella — README, Features: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md ktaubmann/Bella — README: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.mdEditor supportprovides stated Ships `abap_lint`, a rule set of Bella's own that checks code without SAP access for obsolete statements, `SELECT *`, `SELECT` in loops, unchecked `SELECT SINGLE`, `CATCH cx_root`, empty `CATCH` blocks, break-points and aborting messages, and shows its findings for generated code in the diff preview. The README states it is not abaplint and no replacement for ATC. ktaubmann/Bella — README, How Bella gets SAP context: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md ktaubmann/Bella — README, How Bella gets SAP context: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.mdStatic analysisNEEDS→ connects to2connects to stated reads object definitions and runs syntax check, ABAP Unit and ATC in the system through the ADT communication layer, under the logon of the developer's own ABAP projects ktaubmann/Bella — README: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md ktaubmann/Bella — README, Architecture: who calls whom: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.mdABAP platformconnects to stated If: an MCP server is added under Preferences → Bella → SAP-Tools & ARC-1 runs the model's tool requests through ARC-1 instead of Bella's own ADT tools, which the README states adds audit, rate limits and a package allowlist ktaubmann/Bella — README: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md ktaubmann/Bella — README, Architecture: who calls whom: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md ktaubmann/Bella — README, Architecture: who calls whom: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.mdarc-1if→ needs2needs stated supplies the ABAP editors and the logged-on ABAP projects Bella's ADT integration feature attaches to; Bella ships and downloads no ADT of its own ktaubmann/Bella — README, Installation: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md ktaubmann/Bella — README, Installation: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.mdABAP Development Tools for Eclipseneeds stated the IDE Bella is installed into from its own p2 update site, at release 2024-12 or newer with Java 21 ktaubmann/Bella — README, Installation: https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.mdEclipse IDE

README

quoted from ktaubmann/Bella under MIT, read
ktaubmann/Bella/README.mdOn GitHub

Bella

Bella – AI assistant for ABAP in Eclipse

Bella brings Claude into the SAP ABAP Development Tools (ADT). You can use it with an API key, with your Claude subscription, with your GitHub Copilot subscription, or with another model through an OpenAI-compatible endpoint.

  • Explain code: right-click → What happens here?
  • Chat with the code in your editor as context
  • Generate code, rework a selection or implement a method, written into the editor only
  • Inline AI completion as ghost text

Bella reaches the SAP system through your existing ADT logon. ARC-1 or any other MCP server can be added. The user interface is available in 14 languages.

Bella shows a diff preview before it writes generated code into the ABAP editor

Features

FeatureWhere
What happens here? Explains the selection or, without a selection, the method at the cursorRight-click in the editor → Bella
Generate code here… Writes code at the cursor position, using the real definitions of the tables, classes and function modules involvedRight-click → Bella
Rework selection… Fix errors, modern syntax, ABAP Cloud, performance, commentsRight-click → Bella
Implement method Writes the body of the METHOD/FORM/FUNCTION at the cursorRight-click → Bella
AI completion as grey ghost text; Tab accepts, Esc dismissesCtrl+↑ (macOS: Cmd+Option+Enter), or automatically while typing (not with the Claude subscription or GitHub Copilot)
Check with ATC and fix… Runs ATC on the object, lists the findings; Bella fixes the ticked ones in the editor (diff preview, not saved)Right-click → Bella, toolbar
Review transport request… Pick one of your requests (or enter a number); Bella reviews it in the chat: what it does, findings per object, security, syntax/ATC/ABAP Unit, completeness, verdict. Read onlyMenu Bella, right-click → Bella
Review code Checks the selection or the method at the cursor with abap_lint, syntax check and ATC and reports blocking points, performance and Clean ABAP issues, most important first (read only)Right-click → Bella (chat)
Suggest refactoring / unit testRight-click → Bella (chat)
Chat with editor context, streaming and tool calls; insert code blocks, replace the selection or take them over as a method bodyCtrl+Alt+B, pink B in the toolbar, menu Bella
SAP tools: search, read (also DDIC tables, structures, data elements, domains, table types, function modules, message classes, classic DDIC views, lock objects, transactions, enhancement implementations and knowledge transfer documents), table contents, context of used objects, where-used, syntax check (also for unsaved code), ABAP Unit and ATC (for one object or a whole package), style check, write, create, activate, test OData and REST servicesautomatically in the chat
Chat modes from Diff mode only to Automode, and Planning Mode with accept, change or cancel (see below)Drop-down and button below the chat input
Questions with options: when a decision is yours, Bella asks with a menu as Claude Code does; pick with the mouse, arrow keys or digits, or type your own answerin the chat
Chat history: chats are saved; open an earlier one to read and continue itChats ▾ below the chat input, toolbar of the chat view

Right-click in the ABAP editor: submenu Bella with its actions

Changing shortcuts: Preferences → General → Keys, filter for "Bella". Ctrl+↑ only applies in editors Bella is attached to and replaces "Scroll Line Up" there. Bella does not use Ctrl+Alt+Space, because the Claude desktop app takes it for its quick entry on Windows.

Dialog 'Generate code at the cursor' with suggestions
Generate code at the cursor. Describe what you need or pick a suggestion.
Bella explains a report and lists side effects and suspicious points
What happens here? The explanation also lists side effects and suspicious points, here a missing authority check.
Dialog 'ATC check' with the findings of a report, sorted by priority, each with a tick box
Check with ATC and fix. The findings, most important first; Bella fixes the ticked ones in the editor after the diff preview.
Chat modes

A drop-down below the chat input sets how freely Bella may act, from careful to free. It applies from the next tool call on, and every chat starts with Ask before changes.

ModeReadingTable contentsWriting into an open editorSaving, creating, activating in SAP
Diff mode only (suggest)runsasksdiff previewrefused
Ask before changes (default)runsasksdiff previewasks
Read data without askingrunsrunsdiff previewasks
Write and activaterunsasksdiff previewruns
Automoderunsrunsdiff previewruns, plus ABAP Unit after each activation (adt_activate with run_unit_tests); Bella carries the task out and fixes errors, ATC priority 1 and 2 findings and failing tests
  • Choosing one of the two modes that write without asking asks once for confirmation.
  • Planning Mode (button next to Send): Bella reads and analyses what you typed and answers with a numbered plan; nothing is changed, also not in the editor. Below the plan you then choose:
    • Accept plan: Bella carries the plan out in the mode chosen in the drop-down (e.g. asking before each change, or everything at once in Automode).
    • Change plan: you type what should be different; Bella answers with a revised plan and asks again.
    • Cancel: the plan is dropped and nothing happens.
  • In every mode the allowed packages, your DENY rules and the ban on releasing transports stay, and objects open in an editor are only changed in the editor (you save and activate those).
  • The modes work the same with an API key, the Claude subscription and GitHub Copilot.
  • Use the modes that write without asking in development systems only.
How Bella gets SAP context

A model that does not know your system guesses field names and signatures. Bella therefore reads them from the system through your ADT logon:

  • Editor actions (Generate code here…, Rework selection…, Implement method) first collect the objects the code and your instruction mention: tables in SELECT, types after TYPE, classes before => or after NEW, function modules in CALL FUNCTION, and names such as MARA in "select mara and show". Bella loads their definitions (at most 12 objects, 8 seconds), adds them to the request and lists them in the diff preview under SAP definitions used. You can switch this off under Preferences → Bella → Editor. It needs ADT and an ABAP editor of a logged-on system; the completion (Ctrl+↑) stays without it so that it stays fast.
  • In the chat the model calls adt_context or adt_read_source itself. To save tokens, adt_read_source can return a single method (method) or only the matching lines (grep), and adt_write_source can replace a single method. Sources are cached and revalidated with SAP (ETag), and a note tells the model when an object has saved changes that are not activated yet. adt_context takes an object name, a piece of code or a list of names and returns in one call: the public section of classes, interfaces, table and structure fields, CDS views, function module signatures, data elements and table types.
  • Style check: abap_lint checks code without SAP access for obsolete statements (MOVE, CALL METHOD, CREATE OBJECT, header lines, FORM …), SELECT *, SELECT in loops, SELECT … ENDSELECT, unchecked SELECT SINGLE, CATCH cx_root, empty CATCH blocks, break-points, aborting messages, texts the user sees as literals instead of text symbols, selection texts set in code (%_p_name_%_app_%-text), unused variables, unused local types and private methods, unreachable code, sy-subrc not checked after READ TABLE, ASSIGN, AUTHORITY-CHECK or CALL FUNCTION with EXCEPTIONS, database changes in loops, DELETE … INDEX sy-tabix inside a loop over the same table, MANDT in SQL, INTO before WHERE in strict SQL, EXIT/CHECK outside loops, EXPORTING where RETURNING fits, an empty CATCH of a down cast, commented-out code, repeated ELSEIF conditions, mismatched BEGIN OF/END OF names, deep nesting, long or complex methods, a missing @ in strict Open SQL, long lines, trailing spaces, runs of blank lines and mixed keyword case (rules after ARC-1's abaplint presets and rules.abaplint.org, compared with abaplint on abapGit's sources). It knows the target system: syntax the system's SAP_BASIS release does not have yet (inline declarations, constructor expressions and table expressions before 7.40, RAISE EXCEPTION NEW before 7.52, FINAL( ) before 7.57) is an error, and on ABAP Cloud so are classic statements, lists, dynpros, obsolete statements and SQL without @. Where the release offers them it suggests modern forms: xsdbool( ), line_exists( ), CORRESPONDING #( ) and RAISE EXCEPTION NEW. CDS data definitions get CDS rules: obsolete DDIC-based views (DEFINE VIEW without ENTITY) and association names without a leading underscore. The diff preview shows its findings for generated code. It is a small rule set of Bella's own, not abaplint and no replacement for ATC.
  • Checks before and after writing, as with ARC-1: before adt_write_source saves an ABAP main source, SAP's syntax check runs on the new source; a write that adds syntax errors is refused (unless allow_errors says the errors are an intended step). Unlike ARC-1's local abaplint parser, SAP's compiler knows the system's real DDIC. A clean change costs one check, whose result also stands in for the check after saving. adt_write_source and adt_create_object add the style check of the code written and a syntax check of the saved version to their result (for CDS views, access controls, metadata extensions, behavior and service definitions only the syntax check), so the model fixes them before activating. adt_activate with run_atc runs ATC on the activated objects in the same call, because ATC checks the active version; findings are listed by priority. Write and activate and Automode run ATC once when a change is complete (not on every activation), fix priority 1 and 2 and explain what they leave.
  • Quick fixes and pretty printer: adt_quickfix lists SAP's own quick fixes (Ctrl+1) for the line of a syntax or ATC finding and previews one as a diff, ready for adt_write_source; adt_format formats code with the system's pretty printer settings; adt_format_settings changes those settings for everybody and always asks first.
  • Targeted class and program changes: adt_edit_code adds a method (with an empty implementation), changes a method's signature, moves it to another section (keeping its body and ABAP Doc), deletes it, replaces the class definition, or replaces or adds a FORM/MODULE — without rewriting the whole source. A change that would add syntax errors is refused, and one that would leave a method declared without implementation (or the reverse) too, as in ARC-1's class surgery. Open objects are changed in the editor with a diff preview.
  • Source code search: adt_search_objects with search_in source searches the text of ABAP sources through ADT's text search (as ARC-1's SAPSearch does), optionally only in one package or object type, and returns the objects with their matching lines. It needs SAP_BASIS 7.51 or later and the authorization S_ADT_RES.
  • Speed: adt_context and the editor actions load up to three definitions at the same time. The tool lists of MCP servers such as ARC-1 are kept for five minutes instead of being fetched before every chat question; a server that does not answer is asked again after a minute, and its tools stay out of the chat meanwhile.
  • Size limit: a tool result longer than 120,000 characters (about 30,000 tokens) is cut at a line end with a note to ask for less, so a large table, trace or source cannot fill the model's context.
  • Navigation and object information: adt_navigate finds the definition of the symbol at a position, its references, ADT's code completion and a class hierarchy; adt_object_info shows the release state of an SAP API (C0–C4, successor of a deprecated API), the version history and a version's source, and program variants. adt_object_info 'diff' shows a unified diff between two versions of a source: by default the active one and the saved changes that are not activated yet, or two numbers from the version history (as ARC-1's SAPRead diff). adt_navigate 'impact' lists what a CDS view reads, associates and composes (from its source) and what uses it, grouped into CDS views, behavior and service definitions, service bindings, access controls, metadata extensions and ABAP code, direct uses only unless include_indirect; adt_navigate 'structure' shows the includes of a table or structure, followed five levels deep, and its append structures (as ARC-1's SAPContext impact and structure).
  • Deleting: adt_delete_object checks the where-used list first, refuses while other objects use the object unless told otherwise, and always asks.
  • Text elements: adt_text_elements reads and adt_write_text_elements writes the text pool of a program, class or function group through ADT's textelements service, as ARC-1's SAPWrite edit_text_symbols does: text symbols (TEXT-001), selection texts of PARAMETERS and SELECT-OPTIONS, and list headings, in the body format ADT and ARC-1 use (one @MaxLength per symbol, symbols separated by blank lines, unpadded selection names). SAP keeps selection texts only for fields of the active program; those it does not keep are listed for the developer to maintain in SE38. Bella adds a missing @MaxLength to text symbols, reads the part back to check that SAP kept the texts, and activates the text pool; adt_activate takes an inactive text pool of the activated program, class or function group along (or activate it alone with type REPT).
  • Creating objects: adt_create_object creates classes, interfaces, programs, includes, function groups and function modules (with processing type normal, RFC or update), message classes with their messages, data elements, domains (with fixed values), table types, tables, structures, CDS views, access controls, metadata extensions, behavior definitions, service definitions and service bindings, as ARC-1's SAPWrite create does. adt_write_metadata changes data elements, domains, table types and the messages of a message class; it reads the object first and changes only the fields given. Objects that depend on each other (a domain and its data element, a table and its CDS view, a RAP stack) go together into objects of adt_create_object: up to 20, created in that order and activated together at the end, as ARC-1's batch_create; every entry passes the same checks before anything is created, and the first failure stops the rest.

Tables and structures are read as source on newer ABAP releases (7.52 and later). On older releases, and for data elements, domains, table types and message classes, Bella summarizes the object's ADT description.

  • Table contents: adt_table_contents reads rows of a table or CDS view through ADT's data preview, like SE16 or the SQL console: table with optional columns, where and max_rows (default 100, at most 1000), or a complete ABAP SQL SELECT in sql. Only a single SELECT is sent, and SAP checks your authorization for the data. Because the rows go to the model provider, Bella asks before each read unless the chat mode is Read data without asking or Automode.
  • System knowledge: adt_list_systems shows each system's SAP_BASIS release or whether it is an ABAP Cloud system, and the editor actions tell the model the release. adt_transports 'for_object' asks SAP which transport request a change needs, adt_transports 'history' lists the requests an object was changed in (from its version history), and adt_diagnose 'short_dumps' lists and reads runtime errors (ST22).
  • Diagnostics: adt_diagnose reads system messages, gateway errors, ABAP profiler traces (hit list, statements, database accesses) and trace requests, the state and directory of the SQL trace (ST05), the authorization trace (STUSERTRACE; it contains user names and authorization values, so Bella asks first like for table contents) and the ATC check variants. adt_trace_control arms or cancels a profiler trace for the next run of a user and switches the SQL trace on or off; it always asks.
  • Debugging (experimental): while the ABAP debugger in Eclipse is stopped, debug_context gives the model the current line, the call stack, the variables of the current frame (tables and structures two levels deep, at most 10 rows; one variable in full with variable, e.g. LT_ITEMS/[3]), the exception it stopped at and the breakpoints. debug_breakpoint sets or removes a line breakpoint through Eclipse's own Toggle Breakpoint command in the open editor of the object, and debug_step steps into, over, out or resumes. Bella reads the session through Eclipse's debug framework, not through internal SAP APIs. Variable values reach the model provider, so debug_context asks first like table contents (not in the Read data mode); debug_breakpoint asks, and debug_step asks in every mode, because resuming may run COMMIT WORK. The model suggests breakpoints with the reason before it sets them. Bella: Explain debugger state in the context menu of the Debug and Variables views sends the state to the chat; Analyse newest short dump (Bella menu) reads the newest ST22 dump, finds the cause and proposes a fix. When the debugger stops at an exception, a notification offers an analysis (switch it off under Preferences > Bella); nothing is sent before you click it.
  • Testing services (experimental): adt_diagnose 'odata_request' sends a GET to an OData service of the system (/sap/opu/odata/… or /sap/opu/odata4/…, e.g. $metadata or an entity set with $top) and returns the status, the answer and the sap-statistics timing split with a verdict where the time goes (database, ABAP, Gateway framework, authorization), as ARC-1's SAPDiagnose 'odata_perf' does. Because the answer is business data, Bella asks first like for table contents. adt_http_send sends POST, PUT, PATCH or DELETE to a service of the system (OData, /sap/bc/rest/…, own ICF nodes) to test creating, changing or deleting; it fetches the CSRF token in the same session and always asks, also in Automode, and Planning Mode and Diff mode only refuse it. Both take only host-relative paths on the connected system and run with your ADT logon; ADT and gCTS paths (/sap/bc/adt, /sap/bc/cts_abapvcs), logon parameters and the headers Authorization, Cookie and x-csrf-token are refused, and cookies and tokens of the answer do not go to the model. They have no package scope, since a URL names no repository object. Whether a service accepts requests through the ADT connection, and the CSRF token of the ADT session, depends on the system; this was tested against a simulated backend only.
  • Transports and packages: adt_transport_manage creates a request (with the package's route or a target), gives a request and its open tasks to another owner, deletes a request or removes one object from it, and always asks; releasing stays impossible. adt_transports 'layers' and 'targets' list transport layers and targets. adt_package_manage creates a package (super package, software component, transport layer) and deletes one after asking.
  • Git: adt_git lists abapGit repositories and checks one, and reads gCTS repositories, branches, history and objects. adt_git_write clones, pulls, switches branches and pushes (all or chosen objects) through abapGit's ADT backend and always asks. Bella never passes Git credentials; repositories that need them must have them stored in the SAP system.
  • RAP and UI5: adt_rap 'generate_handlers' adds the handler methods a behavior definition requires (actions, determinations, validations, instance features and authorizations) to the local types of the behavior pool, as Eclipse's quick fix does; publish_srvb and unpublish_srvb publish an OData service binding. adt_ui5 lists BSP/UI5 apps, reads their files and the deploy information, and reads Fiori launchpad catalogs, groups and tiles (read only, as in ARC-1).
  • Whole packages: adt_run_unit_tests and adt_atc_check take a package instead of a name and run over all its classes, programs and function groups (ATC also interfaces, CDS and RAP objects, tables, data elements and domains), with include_subpackages also over its subpackages, as ARC-1's unittest_ci and atc_ci do. Bella collects the objects through ADT's repository search, so the result says how many objects ran; includes and function modules run with their program or group. Large packages run in requests of 50 objects, at most 300 objects per call, and the result lists at most 200 ATC findings, most important first, with the counts per priority. With a development package set, only that package runs, and customer objects of its subpackages are left out.
  • Transport review: adt_transports lists requests, adt_transport_review collects a review dossier for one: per source the diff between the version in the request and the version before it (version choice as in ARC-1's transport diff), syntax check, ATC and ABAP Unit in one run each, objects not activated, and customer objects the changed code uses that are missing, inactive or held in another open request. The review answer starts with the verdict and at most five blocking and five should-fix points, then an overview table per object, then the details.

Compared with ARC-1: Bella's tools now cover what ARC-1's SAPRead, SAPSearch, SAPContext, SAPQuery, SAPNavigate, SAPWrite (create, metadata, class and unit surgery, text elements, delete), SAPActivate (incl. publishing service bindings), SAPDiagnose (incl. odata_perf as adt_diagnose 'odata_request'), SAPTransport (without releasing), SAPManage (packages), SAPGit and the quick fixes and pretty printer of its dev tools offer, plus a package allowlist for writes and changing requests to services (adt_http_send). ARC-1's 12 tools are grouped by intent; Bella keeps reading and writing in separate tools (so the chat modes and rules can tell them apart) but groups related reads, e.g. transports in adt_transports and short dumps in adt_diagnose. Risky actions ask in every chat mode. ARC-1 is still worth adding for the real abaplint rule set (SAPLint; Bella has its own smaller rule set), a central audit log and rate limits, or when the tools should run on a server instead of in Eclipse. The ADT requests of the new tools follow ARC-1 and were tested against a simulated backend only; the OData services (UI5 deploy information, launchpad) and gCTS live outside ADT and may not be reachable through ADT's connection on every system.

Ground rule: open objects are only changed in the editor
  • Code for an open method or class goes only into the Eclipse editor, never directly into the SAP system. The editor holds the lock on the object.
    • A diff preview first shows old and new side by side (can be switched off).
    • Afterwards the editor is dirty: nothing is saved or activated. Ctrl+Z undoes the change.
    • You save and activate as usual with Ctrl+S and Ctrl+F3.
  • If Claude tries to change an open object through a tool in the chat, Bella's router redirects the write into the editor.
  • Objects that are not open may be written, created and activated in the SAP system, after you confirm.

Architecture: who calls whom

Architecture: developer, Eclipse with ADT editor and Bella, Claude, optional ARC-1, SAP system

  1. and 2. Bella reads the source from the ADT editor and writes suggestions only into its buffer.
  2. Only Bella calls the model. Prompt, code context and tool list go out; text and tool_use requests come back. With the Claude subscription or GitHub Copilot, the local Claude Code CLI or Copilot CLI makes this call for Bella.
  3. Optionally Bella runs tool requests through ARC-1 or another MCP server.
  4. Tools reach the SAP system in one of two ways:
    • 5a (default): Bella's own adt_* tools use the ADT communication layer with the logon of your ABAP projects, including SSO. There is no second logon and no extra process.
    • 5b (optional): ARC-1 talks to the SAP system and adds audit, rate limits and a package allowlist.
  5. You save and activate open objects yourself in ADT.

The model never talks to the SAP system directly. Your system does not need to be reachable from the internet.

Sequence of a tool call

Tool policy
ToolDefault
Read and check (adt_search_objects, adt_read_source, adt_context, adt_syntax_check, adt_run_unit_tests, adt_atc_check, adt_text_elements, adt_quickfix, adt_format, adt_navigate, adt_object_info, adt_transports, adt_transport_review, adt_diagnose, adt_git, adt_ui5, abap_lint; ARC-1: SAPRead, SAPSearch, …)runs automatically
Table contents and service answers (adt_table_contents, adt_diagnose 'odata_request'; ARC-1: SAPQuery)asks first
Write, create, activate (adt_write_source, adt_edit_code, adt_create_object, adt_write_metadata, adt_write_text_elements, adt_activate, adt_rap, adt_package_manage 'create'; ARC-1: SAPWrite, SAPActivate, …)asks first
Delete objects, create or change transport requests, Git clone/pull/push, delete packages, start traces, change system settings, send changing requests to services (adt_delete_object, adt_transport_manage, adt_git_write, adt_package_manage 'delete', adt_trace_control, adt_format_settings, adt_http_send; rules with ASK, also for ARC-1's matching actions)asks in every chat mode, also in Automode
Release transportsalways refused

The chat mode can tighten or loosen this (see Chat modes); refusals stay refusals in every mode.

  • Add your own rules under Preferences → Bella → SAP-Tools & ARC-1, one per line as pattern=AUTO|CONFIRM|ASK|DENY; ASK asks even in Automode, and tool:action=… matches only one action of a multi-purpose tool (e.g. mcp_arc1_SAPTransport:create=ASK). Rules that still name tools Bella has merged, also through a wildcard such as adt_short_dump*, keep their effect on exactly the calls they covered: adt_short_dumps applies to adt_diagnose 'short_dumps', adt_where_used to adt_navigate 'references', adt_transport_info to adt_transports 'for_object', adt_list_transports to adt_transports 'list', 'layers' and 'targets', adt_settings_write to adt_format_settings.
  • Development package: a chat works in one package. With an object from the editor in the chat it is the package of the first such object, unless you named a package before (then that one stays and the editor object is only context); switching to another include or class later keeps package and request, and changes to objects of other packages are refused. Without an editor object Bella asks you which package to develop in and records your answer with adt_dev_package (you confirm it, also in Automode). Customer objects (Z*, Y*) of other packages are ignored: the search lists their names only as taken, adt_context and the class hierarchy and where-used list of adt_navigate leave them out, and reading them (also as a table in a SELECT of adt_table_contents) or changing them is refused, as is any write before the package is known. The editor actions leave such objects out of the definitions they load, too; if the package of the edited object cannot be read, they load the definitions without this filter.
  • New chat (button next to Planning Mode, also in the view's toolbar): starts over; the model forgets the conversation, a running answer stops, package and transport request are reset. The chat before is kept in the chat history.
  • Chat history (Chats ▾ below the input, or the clock in the view's toolbar): the last chats with their age, and All chats… to filter, open or delete them. An opened chat shows what you saw (answers, tool calls, answered questions, code blocks with their buttons) and goes on where it stopped: with an API key or an OpenAI-compatible endpoint and the same model Bella takes the conversation over as it was; otherwise (Claude subscription, GitHub Copilot, another model) the next message carries the conversation so far as text. Package and transport request of the chat are set again with the usual checks, and its chat mode unless it writes without asking. Chats are saved in <workspace>/.metadata/.plugins/de.kiliantaubmann.bella.ui/chats/; Preferences → Bella switches the history off and sets how many chats are kept (default 50).
  • Questions with options (ask_user): when a decision is yours and Bella cannot settle it from the code or the system (which approach, package or object, what a requirement means), it asks one to four questions with two to four options each, recommended option first, as Claude Code's AskUserQuestion. The menu appears in the answer: click an option, or use ↑/↓ and Enter or the digits, Space ticks options of a question that allows several, the last line takes your own answer, Esc dismisses. It runs in every chat mode, also in Planning Mode (before the plan), and with every provider.
  • Transport request: before the first change in a non-local package Bella asks you which request to use; only your own open requests are accepted, every write uses that request (Bella fills it in), and a different one is refused. A new package can be created before a development package is set, with one of your own open requests; it then becomes the chat's development package with that request. A new chat starts without package and request.
  • Package bar above the chat: shows the chat's development package and transport request, whoever set them, and a note in the chat marks each change. Type a package (Enter) or pick one of your last ten, search the system with …, and choose one of your own open requests in the drop-down; Bella checks them like adt_dev_package and the next message tells the model, so it does not ask again. With an editor object in the chat the package is locked; the bar is locked while Bella answers. It reads package and request again when you return to the chat (e.g. after logging on).
  • Allowed packages (same page, default $TMP, Z*, Y*): Bella's tools write, create and activate only there; other writes are refused before you are asked. Empty allows all packages. Writing into an open editor is not affected.
  • With ARC-1, its server-side safety flags apply in addition.

Preferences page SAP-Tools and ARC-1 with MCP servers and tool policy

Installation

Requirements:

  • Eclipse 2026-09 or newer with Java 21
  • SAP ABAP Development Tools
  • on Linux also WebKitGTK (libwebkit2gtk-4.1) for the chat

From the update site (recommended):

  1. In Eclipse: Help → Install New Software… → Add…, name Bella, location:
    https://bella.kilian-taubmann.de/
    
  2. Install both features:
    • Bella: chat, editor actions, completion, MCP/ARC-1.
    • Bella ADT integration: Bella's own SAP tools through the ADT logon. Requires ADT.
  3. Restart Eclipse. New versions then arrive through Help → Check for Updates.

From a ZIP (offline): download bella-update-site-vX.Y.Z.zip from Releases, do not unzip it, and choose Add… → Archive… instead of entering the address. Check for Updates does not find new versions of a local ZIP; install the next ZIP the same way.

Bella does not ship or download ADT. The update site contains only Bella's own bundles, and they accept any installed ADT version, so an existing ADT installation is left as it is. To be on the safe side, you can untick Contact all update sites during install to find required software in the install dialog; Eclipse then only looks at Bella's update site.

Setup

Window → Preferences → Bella

Bella preferences with the provider drop-down (Claude API key, Claude subscription, GitHub Copilot, OpenAI-compatible) and the Claude subscription settings

  • Provider (drop-down at the top): Claude (API key), Claude subscription (Claude Code CLI), GitHub Copilot (Copilot CLI) or OpenAI-compatible. The page only shows the fields of the selected provider, plus a note on code completion.
  • Claude (API key):
    • Enter an API key from console.anthropic.com. It is stored encrypted in Eclipse secure storage.
    • Default models: claude-opus-5 for chat and code, claude-haiku-4-5 for fast completion.
    • Effort and the server-side fallback model for declined requests can be set.
  • Claude subscription and GitHub Copilot: see the next sections.
  • OpenAI-compatible (optional): base URL, key and model, e.g. http://localhost:11434/v1 for Ollama. The source code then stays in-house.
  • Languages:
    • User interface: like Eclipse or fixed. Menus switch right away, no restart needed.
    • Answers: like the user interface, like the question, or fixed.
    • ABAP comments in generated code: separate setting, English by default.
  • Editor: diff preview, automatic completion while typing and its delay.
Claude subscription instead of an API key

With a Claude subscription (Pro, Max, Team or Enterprise) you do not need an API key. Bella then uses the locally installed Claude Code CLI, which handles logon and billing through your subscription.

  1. Install Claude Code and log in once in a terminal:
    claude auth login        # log in with your Claude account in the browser
    If Eclipse does not see this logon (e.g. a different user), claude setup-token creates a long-lived subscription token. Enter it in Bella as Subscription token; it is kept in secure storage.
  2. Choose Preferences → Bella → Provider: Claude subscription (Claude Code CLI) and click Check. The status line shows e.g. "logged in (max)".
    • You only need to set the path to claude if Bella does not find it. Bella searches PATH, ~/.local/bin, /opt/homebrew/bin, /usr/local/bin and on Windows %USERPROFILE%\.local\bin and %APPDATA%\npm. To find the path, run (Get-Command claude).Source in PowerShell or which claude on macOS/Linux, and paste the result (or use Browse…). If the command is not found, the CLI is not installed yet, or the terminal was opened before the installation: open a new one.
    • Models: alias or full ID, default opus for the chat and haiku for completion. Which models are available depends on your plan.

What happens:

  • Bella starts claude headless (-p, stream-json) in its own working directory in the Eclipse workspace metadata. One CLI process runs per chat; New chat ends it.
  • The CLI's built-in tools are switched off (--tools ""), so Claude can neither read files nor run commands.
  • The CLI gets Bella's SAP tools through a local MCP server inside Bella. It listens on 127.0.0.1 only and requires a random token. Other MCP configurations of the user are ignored (--strict-mcp-config).
  • Every tool call passes the same rules as with an API key: tool policy, confirmation dialog and the router for open objects (code only goes into the editor).
  • Bella removes an ANTHROPIC_API_KEY from the CLI's environment so that the subscription is really used.

Limits:

  • Completion: every suggestion starts the CLI and takes 2–5 seconds. With the subscription there are therefore no automatic suggestions while typing, only on Ctrl+↑.
  • Your subscription's usage limits apply. When the limit is reached, Bella says so in the chat.
  • Stop interrupts the running answer. If the CLI does not react within 3 seconds, Bella ends the process; the next message then starts without the earlier conversation, and Bella tells you.
GitHub Copilot subscription

With a GitHub Copilot subscription, Bella uses the locally installed GitHub Copilot CLI. It handles logon and billing through your Copilot plan, and you can pick any model your plan offers (Claude, GPT and others).

  1. Install the Copilot CLI and log in once in a terminal:
    winget install GitHub.Copilot      # Windows; or: npm install -g @github/copilot, brew install copilot-cli
    copilot login                      # opens the browser
    Instead of copilot login you can create a fine-grained personal access token with the Copilot Requests permission and enter it in Bella as Token. Classic ghp_ tokens are not supported.
  2. Choose Preferences → Bella → Provider: GitHub Copilot (Copilot CLI) and click Check. The status line shows "logged in", the CLI version and the models your plan offers.
    • You only need to set the path to copilot if Bella does not find it. Bella searches PATH and on Windows also %LOCALAPPDATA%\Microsoft\WinGet\Links and %APPDATA%\npm. To find the path, run (Get-Command copilot).Source in PowerShell or which copilot on macOS/Linux, and paste the result (or use Browse…). Typical results: C:\Users\<you>\AppData\Local\Microsoft\WinGet\Links\copilot.exe (winget) or C:\Users\<you>\AppData\Roaming\npm\copilot.cmd (npm). If the command is not found, open a new terminal after the installation.
    • Models: leave empty for the Copilot default, or enter a model ID from the list shown by Check.

What happens:

  • Bella starts copilot --acp (Agent Client Protocol) in its own empty working directory in the Eclipse workspace metadata. One CLI process runs per chat; New chat ends it.
  • The CLI's own abilities are switched off: no shell commands (--deny-tool shell), no file changes (--deny-tool write), no web access (--deny-tool url), no GitHub MCP server and none of your own Copilot MCP servers.
  • The CLI gets Bella's SAP tools through the same local MCP server as the Claude subscription (loopback only, random token). Tool policy, confirmation dialog and the router for open objects apply as usual. Bella rejects every other action the CLI asks permission for and says so in the chat.

Limits:

  • Premium requests: every chat message, explanation or completion counts against your Copilot plan's premium requests, depending on the model.
  • Completion: every suggestion starts the CLI and takes a few seconds, so there are no automatic suggestions while typing, only on Ctrl+↑.
  • Stop cancels the running answer; if the CLI does not react within 3 seconds, Bella ends the process and the next message starts a new conversation.
Project conventions

Under Preferences → Bella → Project conventions you describe your project for Bella, for all systems and per ABAP project (a system's settings are added to those for all systems):

  • Project information (Markdown): package structure, architecture, dos and don'ts. Bella gives it to the model in the chat and in the editor actions.
  • Naming rules, one per line as kind = pattern, pattern (* any characters, ? one character), e.g.
    class = ZCL_SD_*
    local_data = lv_*, lt_*, ls_*, lo_*, lr_*
    importing = iv_*, it_*, is_*, io_*
    field_symbol = <ls_*>, <lv_*>
    test_class = ltc_*
    
    Insert standard rules fills in common SAP conventions. The model follows the rules, and the style check (abap_lint, diff preview) reports names that break them: data by where it is declared (local, global, attribute), constants, field symbols, types, methods and their parameters, local and test classes, and the names of programs, global classes and interfaces.
  • Derive from package… reads the objects and a few sources of a package and lets the model propose both parts; review them before you apply.
  • ATC check variant for Check with ATC and fix…, the transport review, Review code and adt_atc_check. A system's own variant wins over the one for all systems; left empty, Bella uses the system's default variant. Useful when the default variant runs remote checks through a central check system that cannot be reached (RFC destination errors).

The parameters of ATC check variants (e.g. a naming check) cannot be read through ADT, so they cannot be imported; findings of such a check are fixed with Check with ATC and fix….

Connecting ARC-1 (optional)

Under Preferences → Bella → SAP-Tools & ARC-1 → Add…:

  • HTTP: URL of the ARC-1 server, e.g. locally http://localhost:3000/mcp or a BTP instance, optionally with a bearer token.
  • stdio: Bella starts ARC-1 itself, e.g. with npx -y arc-1@latest. Configure the SAP connection as described in the ARC-1 documentation.

Bella does not start an HTTP server itself. If the server is not reachable, the chat shows this once with the URL, and Test shows the same message. When the server comes back, or after it was restarted, Bella reconnects on the next question.

Test lists the tools a server offers. When two tools offer the same capability (e.g. reading source code), Bella's ADT tools win by default. You can prefer ARC-1 instead, e.g. when governance should run centrally through ARC-1.

Troubleshooting: log file

When something does not work, switch on the log under Preferences → Bella → Log file (it is off by default) and repeat what went wrong.

  • Normal records what Bella does, with status, duration and errors:
    • model requests: provider, model, tokens, stop reason,
    • tool calls with the policy decision,
    • every ADT request with path and HTTP status, plus the SAP error text,
    • Claude Code and Copilot CLI processes with command line, exit code and stderr,
    • MCP connections.
  • Details (a second checkbox) adds the content: prompts, answers, tool input and output, source code and every protocol line of the CLIs. Only switch it on while you reproduce a problem.
  • API keys, tokens, passwords and authorization headers (also x-csrf-token, Proxy-Authorization, and every scheme such as Basic, Bearer, Negotiate or NTLM) are removed from every entry. Environment variables are logged by name only.
  • Masking (same page, on by default): confidential data in the log is replaced with placeholders, so you can attach the file to a bug report. The model still gets the real data.
    • Customer objects (Z*, Y*): ZCL_ACME_ORDER → ZCL_MASK1, zcl_acme_order → zcl_mask1.
    • System data: SID, ABAP project and logon user → MASKSYS2, MASKUSER3.
    • E-mail addresses and IBANs → maskmail4@example.invalid, MASKIBAN5; with this option also user names SAP gives in its messages ("locked by user MUELLER"), but not ABAP code such as DATA user TYPE syuname.
    • Own terms (company, customer, project, namespace such as /ACME/), one per line → MASKTERM6, /MASK7/.
    • A value keeps its placeholder for the Eclipse session, so you can follow an object through the log. Names of people in free text, comments or string literals are only masked if you add them as terms.
  • The file is bella.log in <workspace>/.metadata/.plugins/de.kiliantaubmann.bella.ui/. The preference page opens it, opens its folder or clears it; the chat view menu (▾) has Open log. At 5 MB it moves to bella.log.1.
  • Please attach the file to a bug report. Errors also still go to Eclipse's Error Log view.

Security and privacy

  • The selected model provider receives your question, source excerpts from the editor and tool results. With Ollama everything stays local.
  • API keys and tokens are kept in Eclipse secure storage, not in plain-text preferences.
  • Bella never opens an SAP logon itself. Tools only use projects that are already logged on.
  • Writing tools ask first, releasing transports is blocked, and open objects are only changed in the editor.
  • The log file is off by default and never contains keys or tokens; with details on it contains source code.
  • The chat history stays in the workspace and contains your messages, the answers and shortened tool calls, so also source code. Results of table contents, service answers and debugger values are not stored. Switch it off under Preferences → Bella, or delete chats in All chats….
  • With a personal subscription (Claude Pro/Max, GitHub Copilot for individuals) the provider's data settings apply. Check whether your chats may be used for model training, and switch that off if your company's code must not be used for it. Anthropic and GitHub do not train on data from API keys or business plans by default.

Development

./mvnw verify                 # core, UI, unit tests (without the SAP SDK)
xvfb-run -a ./mvnw verify     # plus the workbench smoke test on Linux
./mvnw -Padt verify           # plus the ADT bundle and the update site
                              #   (downloads ADT from tools.hana.ondemand.com)
python3 releng/i18n/generate.py   # generate translations from releng/i18n/*.py

mvnw (mvnw.cmd on Windows) uses Maven 3.9.16, the version the build and the release workflow use; Maven 3.10 on the GitHub runners did not start the earlier Tycho 4 build.

-Padt downloads ADT from SAP's update site; SAP's license terms for these downloads (SAP Developer License Agreement) apply to whoever runs the build. The ADT bundles are only used to compile against and are not part of Bella's update site.

Release: raise the version in all pom.xml, MANIFEST.MF and feature.xml files and in BellaPlugin.VERSION (e.g. with ./mvnw org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.3.0-SNAPSHOT) and commit. Then push a tag v0.3.0, or enter the version 0.3.0 under Actions → Release → Run workflow. The release.yml workflow builds everything including the ADT integration, runs the tests and attaches bella-update-site-v0.3.0.zip to a GitHub release. When the repository variable PAGES_ENABLED is true, it then publishes the same update site on GitHub Pages (pages.yml, address from the variable UPDATE_SITE_URL); Actions → Update site → Run workflow publishes an existing release again.

ModuleContents
bundles/de.kiliantaubmann.bella.coreno UI and no ADT: Anthropic and OpenAI-compatible providers (streaming, tool use, prompt caching), Claude Code integration (CLI, stream-json, local MCP server), GitHub Copilot integration (Copilot CLI, Agent Client Protocol), tool registry and policy, MCP client (HTTP and stdio), chat tool loop, ABAP scanner, reference finder and style check, prompts, ADT REST client, adt_* tools and the context builder
bundles/de.kiliantaubmann.bella.uichat view, context menu, diff preview, router, ghost text, preferences, icons, translations
bundles/de.kiliantaubmann.bella.adtthe only dependency on the ADT SDK: projects, logon and REST transport as an OSGi service
tests/…core.testsunit tests for providers, MCP client and server, Claude Code and Copilot sessions (with simulated CLIs), tool loop, ABAP scanner, reference finder, style check, ADT client and context (with a simulated ADT backend), logging and redaction, translations
tests/…ui.testsworkbench smoke test: commands, chat, preferences (provider drop-down, subscription and Copilot hints), Ctrl+↑ without key conflict, menus in Bella's language, writing into the editor without saving, style check in the diff preview, log file on/off, router, language switch

The Claude integration deliberately uses java.net.http instead of the Anthropic Java SDK. This keeps the OSGi bundle free of OkHttp, Kotlin and Jackson.

Status and known limits
  • The GitHub Copilot integration is tested with a simulated CLI speaking the Agent Client Protocol; handshake, command-line options and the "not logged in" case were checked against the real Copilot CLI 1.0.89. A chat with the Copilot Free plan works.

  • The ADT bundle compiles in CI (-Padt) against the current ADT SDK from SAP's p2 site. Generating, explaining and writing into the editor have been used with a real ABAP system; the SAP tools in the chat (search, where-used, ATC, activation …) still need broader testing.

    • Stateful sessions (for locks) and the object reference of an editor are read via reflection.
    • If an API is missing in your ADT version, Bella reports it in the chat. ARC-1 remains available as a route for the SAP tools.
    • If the connection to the SAP system breaks (network, VPN), ADT may still show the project as logged on. Bella tries a read once more; after that, the tools report the lost connection instead of claiming objects do not exist. Writes are never repeated.
    • Reading DDIC objects and loading definitions for editor actions was tested against a simulated ADT backend. The ADT endpoints for tables, structures and data elements differ between releases, so please report objects Bella cannot read.
  • If ADT itself uses Ctrl+↑ in the ABAP editor, Preferences → General → Keys shows a conflict. Change the shortcut there.

  • Command names in Keys and Quick Access still follow the operating system language; Eclipse resolves them before Bella starts.

  • All translations except German and English were machine-generated. Corrections are welcome.

License, disclaimer and trademarks

MIT © 2026 Kilian Taubmann

Bella's Clean ABAP rules in the prompts are based on SAP's Clean ABAP style guide (CC BY 3.0). The layout of the transport review report draws on ARC-1's sap-transport-review skill (MIT). The ADT requests for creating DDIC objects, quick fixes, the pretty printer, navigation, class surgery, diagnostics (incl. the OData sap-statistics verdict), transports, packages, abapGit/gCTS, RAP and UI5, and the extra style rules follow ARC-1 (MIT, © the ARC-1 authors).

Bella is free software provided as is, without warranty. It can change ABAP code and, after you confirm, write and activate objects in SAP systems. Review what it generates, use it in development systems, and keep your usual transport and review process. You are responsible for the code you save and activate.

Bella is an independent project and is not affiliated with, endorsed or sponsored by SAP, Anthropic, GitHub, OpenAI or the Eclipse Foundation. SAP, ABAP and the other SAP products mentioned are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. Claude and Anthropic are trademarks of Anthropic, PBC. GitHub and GitHub Copilot are trademarks of GitHub, Inc. OpenAI is a trademark of OpenAI. Eclipse is a trademark of the Eclipse Foundation. All other names are trademarks of their respective owners and are used only to describe compatibility.

MIT, read

History

Latest

v0.9.6

Notes

Eclipse update site for Bella – AI assistant for ABAP.

Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.9.6.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

Requires Eclipse 2026-09+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.9.5...v0.9.6

  1. v0.9.5

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.9.5.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2026-09+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.9.4...v0.9.5

  2. v0.9.4

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.9.4.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2026-09+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.9.3...v0.9.4

  3. v0.9.3

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.9.3.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2026-09+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.9.2...v0.9.3

  4. v0.9.2

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.9.2.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2026-09+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.9.1...v0.9.2

  5. v0.9.1

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.9.1.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2026-09+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.9.0...v0.9.1

  6. v0.9.0

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.9.0.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2026-09+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.8.0...v0.9.0

  7. v0.8.0

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.8.0.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2026-09+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.7.0...v0.8.0

  8. v0.7.0

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.7.0.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2026-09+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

  9. v0.6.0

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.6.0.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2026-09+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.5.0...v0.6.0

  10. v0.5.0

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.5.0.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2024-12+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.4.5...v0.5.0

  11. v0.4.5

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.4.5.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2024-12+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.4.4...v0.4.5

  12. v0.4.4

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.4.4.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2024-12+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.4.3...v0.4.4

  13. v0.4.3

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.4.3.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2024-12+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.4.2...v0.4.3

  14. v0.4.2

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.4.2.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2024-12+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.4.1...v0.4.2

  15. v0.4.1

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.4.1.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2024-12+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.4.0...v0.4.1

  16. v0.4.0

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.4.0.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2024-12+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.3.1...v0.4.0

  17. v0.3.1

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.3.1.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2024-12+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.3.0...v0.3.1

  18. v0.3.0

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.3.0.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2024-12+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.2.2...v0.3.0

  19. v0.2.2

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… and either enter the update site https://bella.kilian-taubmann.de/ or choose Archive… and select bella-update-site-v0.2.2.zip. Tick both features (Bella and Bella ADT integration), restart, then set up Claude (API key or Claude subscription) under Window → Preferences → Bella.

    Requires Eclipse 2024-12+ with Java 21 and SAP ABAP Development Tools. Bella uses the installed ADT and does not update it.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.2.1...v0.2.2

  20. v0.2.1

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… → Archive… → select bella-update-site-v0.2.1.zip, tick both features (Bella and Bella ADT integration), restart, then enter your API key under Window → Preferences → Bella.

    Requires Eclipse 2024-12+ with Java 21 and SAP ABAP Development Tools.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.2.0...v0.2.1

  21. v0.2.0

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… → Archive… → select bella-update-site-v0.2.0.zip, tick both features (Bella and Bella ADT integration), restart, then enter your API key under Window → Preferences → Bella.

    Requires Eclipse 2024-12+ with Java 21 and SAP ABAP Development Tools.

    Full Changelog: https://github.com/ktaubmann/Bella/compare/v0.1.0...v0.2.0

  22. v0.1.0

    Notes

    Eclipse update site for Bella – AI assistant for ABAP.

    Install: Eclipse → Help → Install New Software… → Add… → Archive… → select bella-update-site-v0.1.0.zip, tick both features (Bella and Bella ADT integration), restart, then enter your API key under Window → Preferences → Bella.

    Requires Eclipse 2024-12+ with Java 21 and SAP ABAP Development Tools.

    Full Changelog: https://github.com/ktaubmann/Bella/commits/v0.1.0

Others providing86

Agent access to your code
  1. @abap2ui5/mcp-serverMCP server for the abap2UI5 check, deploy and run loopfrom ABAP
  2. arc-1-bopf-enharc-1 extension for reading and maintaining BOPF enhancementsfrom ABAP
  3. HammerNative macOS code editor for ABAP and CDSfrom ABAP
  4. arc-1-lspEdition of ARC-1 that runs ADT calls through adt-lsfrom ABAP
  5. arc-1MCP server over the ADT REST API for ABAP objectsfrom ABAP
  6. arc1-abap-bridgeVS Code bridge between arc-1 and ADT for VS Codefrom ABAP
  7. arc1-adt-abap-mcp-extEclipse add-on enabling the ADT MCP server with read-only toolsfrom ABAP
  8. capforgeMCP server scaffolding CAP and CDS checked by cds compilefrom CAP
  9. ABAP Accelerator MCP ServerAWS's ABAP MCP server for Amazon Q Developer and Kirofrom ABAP
  10. Modernization Agents for SAP on AWSAWS agents for ABAP, PI/PO and BW modernisation workfrom ABAP
  11. @mcp-abap-adt/coreABAP ADT MCP server published as an npm scope and pluginfrom ABAP
  12. @cap-js/mcp-serverMCP server for CAP development: model and docs searchfrom CAP
  13. chandrashekhar-mahajan/abap-mcp-serverABAP MCP server with ADT tools and five authentication strategiesfrom ABAP
  14. dassian-adtFork of mcp-abap-abap-adt-api with 25 tools and session recoveryfrom ABAP
  15. erpl-adtC++ binary speaking the ADT REST API as a CLI and MCP serverfrom ABAP
  16. bw-modeling-mcpMCP server for BW/4HANA modelling objectsfrom BTP/BAIP
  17. EPOD ADT MCP ServerMCP server for ABAP on the ADT session, in Eclipse or standalonefrom ABAP
  18. ZARC1_EXTENSION_FORMSarc-1 extension for SAPscript and Smart Forms objectsfrom ABAP
  19. fgalastri/MCP_ABAPValidates an ABAP class before it is deployed by converting the global class to a local one and syntax-checking that — plus CDS DDL and table metadata retrieval.from ABAP
  20. fr0ster/mcp-abap-adtABAP MCP server with full CRUD on on-premise and ABAP Cloudfrom ABAP
  21. abapsmithABAP MCP server over ADT with a local journal that can undo writesfrom ABAP
  22. sap-ai-dev-toolkitMCP proxy pinning an agent's ABAP tools to one SAP systemfrom ABAP
  23. aibap.mcpGo MCP server that writes, activates and runs ABAP classes via ADTfrom ABAP
  24. Maherd18/sap-mcp-serverPolicy-checked MCP server for ABAP development over ADTfrom ABAP
  25. sapdumpmcpMCP server reading ABAP short dumps over ADTfrom ABAP
  26. ABAP remote filesystemVS Code extension editing ABAP systems over ADT as a filesystemfrom ABAP
  27. mcp-abap-abap-adt-apiWrite-oriented MCP server over abap-adt-apifrom ABAP
  28. mcp-abap-adtRead-oriented MCP server fetching ABAP programs, classes, tablesfrom ABAP
  29. SAP MCP Connection ManagerWindows desktop manager handing SAP connections to assistants over MCPfrom ABAP
  30. ABAPilotMCP connector for ECC and on-premise S/4HANA with a licensed SAP sidefrom ABAP
  31. vibing-steampunkADT-to-MCP bridge in Go reaching past what ADT exposesfrom ABAP
  32. ADT MCP ServerLocal HTTP MCP server started from ABAP Development Tools for VS Codefrom ABAP
  33. ABAP Development Tools for VS CodeSAP's ABAP tools in VS Code for editing, debugging, ATC and transportsfrom ABAP
  34. SAP Joule for Developers, ABAP AI capabilitiesSAP's AI for ABAP development in ADT for Eclipse and VS Codefrom ABAP
  35. @sap/mdk-mcp-serverMCP server with five tools for Mobile Development Kit workfrom BTP/BAIP
  36. @sap-ux/fiori-mcp-serverMCP server for creating and editing Fiori applicationsfrom UI5
  37. ABAPDocMCPMCP server turning a transport request into a WRICEF specificationfrom ABAP
  38. claude-sap-kitClaude Code plugin adding Custom_* tools to arc-1from ABAP
  39. Skybuffer AI MCP serverABAP add-on serving business data and transactions as MCP toolsfrom ABAP
  40. @ui5/mcp-serverMCP server for UI5 development with ten toolsfrom UI5
  41. abap-adt-cliCLI that pulls and pushes ABAP packages as local files over ADTfrom ABAP
  42. workskong/mcp-abap-adtLight MCP adapter for ABAP over ADT, documented in Koreanfrom ABAP
  43. KlystronMCP server in ABAP inside the application server, with agent skillsfrom ABAP
  44. pyrfc-mcpMCP server calling RFC-enabled function modules behind an allowlistfrom ABAP
  45. ABAP-AI-CODE-TOOLSabapGit package adding create, modify and delete tools to ABAP AI Codefrom ABAP
  46. ABAP AI CodeAgentic coding assistant in ABAP that runs as an SAP GUI reportfrom ABAP
  47. VERTEXADT extension for Eclipse and VS Code showing three SAP GUI toolsfrom ABAP
Editor support
  1. abap-adt-apiJS/TS client for the ADT resources of an ABAP systemfrom ABAP
  2. abap2UI5 PlaygroundIn-browser ABAP editor beside the abap2UI5 app it buildsfrom ABAP
  3. abap2UI5 for VS CodeVS Code extension to preview, activate and lint abap2UI5 appsfrom ABAP
  4. vscode-tabl-ddicVS Code syntax highlighting for .tabl.ddic table definitionsfrom ABAP
  5. HammerNative macOS code editor for ABAP and CDSfrom ABAP
  6. cds-eclipse-pluginEclipse plugin for the CDS languagefrom CAP
  7. @arc-mcp/adt-lsTypeScript SDK over SAP's headless adt-ls language serverfrom ABAP
  8. abapthemesThree colour themes for ABAP source in ADT for Eclipsefrom ABAP
  9. SAP Build CodeDevelopment environment on BTP for UI5, Fiori, mobile and CAPfrom BTP/BAIP
  10. SAP Business Application StudioBrowser-based development environment with dev spacesfrom BTP/BAIP
  11. SAP Web IDE Full-StackIDE service on SAP BTP for SAPUI5, Fiori and full-stack appsfrom BTP/BAIP
  12. cds-intellijSAP CDS language support for IntelliJ IDEAfrom CAP
  13. Cloud ALM Link for ADTEclipse plugin linking ABAP transports to SAP Cloud ALM featuresfrom ABAP
  14. ABAP Call HierarchyEclipse plugin showing the call hierarchy of ABAP membersfrom ABAP
  15. abap-call-hierarchyADT backend for the ABAP Call Hierarchy Eclipse pluginfrom ABAP
  16. abap-tags-backendADT backend for the ABAP Tags Eclipse pluginfrom ABAP
  17. ABAP TagsEclipse plugin for tagging ABAP repository objectsfrom ABAP
  18. ABAP Syntax HighlightingVS Code syntax highlighting for .abap filesfrom ABAP
  19. abapfs_extensionsABAP objects enabling ADT updates on systems older than 7.51from ABAP
  20. ABAP remote filesystemVS Code extension editing ABAP systems over ADT as a filesystemfrom ABAP
  21. ABAP Development Tools for EclipseSAP's Eclipse plugins for ABAP development over ADTfrom ABAP
  22. ABAP Development Tools for VS CodeSAP's ABAP tools in VS Code for editing, debugging, ATC and transportsfrom ABAP
  23. @sap/cds-lspLanguage server for CDSfrom CAP
  24. cds-textmate-grammarTextMate grammar for the CDS languagefrom CAP
  25. @sap/ux-cds-odata-language-server-extensionOData annotation features for the @sap/vscode-cds extensionfrom CAP
  26. @sap/vscode-cdsCDS language support for VS Code and Business Application Studiofrom CAP
  27. vscode-ui5-language-assistantVS Code extension for SAPUI5 and OpenUI5 XML views and manifestfrom UI5
  28. @saptools/hana-lensWorkspace-wide CSN cache for querying CAP entities and columnsfrom CAP
  29. @saptools/sqltoolsSQLTools connection from a Cloud Foundry app's HANA bindingfrom BTP/BAIP
  30. zed-cds-extensionCDS language support for the Zed editorfrom CAP
  31. my-ide-actionsCollection of ABAP Development Tools IDE Actionsfrom ABAP
Static analysis
  1. @abap2ui5/linterCommand-line checker for abap2UI5 app classes and their viewsfrom ABAP
  2. abap2UI5 PlaygroundIn-browser ABAP editor beside the abap2UI5 app it buildsfrom ABAP
  3. abapcdsgrammarANTLR4 grammar, lexer and parser for ABAP CDSfrom ABAP
  4. @abapify/acdsParser for ABAP CDS DDL source with a typed ASTfrom ABAP
  5. abaplint-sci-clientABAP client surfacing abaplint checks in Code Inspector and ATCfrom ABAP
  6. abaplintStatic analysis for ABAP source outside a systemfrom ABAP
  7. abapOpenChecksOpen-source rule pack for SAP Code Inspector and ATCfrom ABAP
  8. upDOWNciUploads and downloads Code Inspector check variants as XMLfrom ABAP
  9. abaplint-Ext-for-abapGitShows abaplint results inside abapGitfrom ABAP
  10. ABAP remote filesystemVS Code extension editing ABAP systems over ADT as a filesystemfrom ABAP
  11. code pal for ABAPATC and Code Inspector checks for Clean ABAPfrom ABAP
  12. Clean-Core.ioHosted workspace redrawing custom ABAP as BPMN and grading itfrom ABAP
  13. ACESAP GUI tool for static analysis of ABAP call flow and code metricsfrom ABAP

Details

Sources3
Added by handdiscovered here, intake request, repository URL handed overchecked
github.com/ktaubmann/Bellatree, 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
runtimesjava
discovered viaAdded by hand · intake request, repository URL handed over
first seen in the atlas
ecosystem and domainabap, ai-and-agents
History in the atlas4
  1. checked 2026-10-01
  2. the local MCP server Bella serves to the Claude Code CLI or the Copilot CLI it starts, on the loopback address behind a random token
  3. Handed over as a repository URL in an intake request. It is the first entry on the ABAP door that puts the assistant inside the ADT editor rather than in front of ADT as a separate server, and its README compares its own tools with those of [ARC-1](artifact:arc-mcp-arc-1), which the graph already holds.
  4. First seen.
For your agent
Ref
artifact:ktaubmann-bella
JSON
/artifacts/ktaubmann-bella.json
MCP
Connecting an agent