{"ref":"artifact:ktaubmann-bella","page":"/artifacts/ktaubmann-bella","json":"/artifacts/ktaubmann-bella.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"ktaubmann-bella","name":"Bella","artifact_type":"ide-extension","ecosystem":"abap","domain":"ai-and-agents","origin_ring":"independent","description":{"one_line":"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.","short":"Eclipse plugin bringing Claude into ABAP Development Tools","what_it_solves":"Bella runs inside [ABAP Development Tools for Eclipse](artifact:sap-adt-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](artifact:arc-mcp-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."},"links":{"repo":"https://github.com/ktaubmann/Bella"},"identity":{"author":"Kilian Taubmann","license":"MIT"},"maintainers":["actor:ktaubmann"],"compat":{"runtimes":["java"]},"type_properties":{"installs_into":{"value":["eclipse-adt"],"sources":[{"url":"https://github.com/ktaubmann/Bella","title":"Bella — README","checked":"2026-10-18","quote":"Bella brings Claude into the SAP ABAP Development Tools (ADT)."}]}},"provides":[{"capability":"capability:agent-code-access","what_it_does":"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.","sources":[{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README","checked":"2026-10-01"},{"url":"https://github.com/ktaubmann/Bella","title":"ktaubmann/Bella — repository","checked":"2026-10-01"}],"facets":[{"key":"read_source","value":true,"source":{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Features","checked":"2026-10-01","quote":"**SAP tools**: search, read (also DDIC tables, structures, data elements, domains, table types, function modules, message classes), context of used objects, where-used, syntax check (also for unsaved code), ABAP Unit, ATC, style check, write, create, activate"}},{"key":"search_objects","value":true,"source":{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Tool policy","checked":"2026-10-01","quote":"Read and check (`adt_search_objects`, `adt_read_source`, `adt_context`, `adt_where_used`, `adt_syntax_check`, `adt_run_unit_tests`, `adt_atc_check`, `abap_lint`; ARC-1: SAPRead, SAPSearch, …) | runs automatically"}},{"key":"where_used","value":true,"source":{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Features","checked":"2026-10-01","quote":"context of used objects, where-used, syntax check (also for unsaved code), ABAP Unit, ATC, style check, write, create, activate"}},{"key":"ddic_metadata","value":true,"source":{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, How Bella gets SAP context","checked":"2026-10-01","quote":"`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."}},{"key":"cds","value":true,"source":{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, How Bella gets SAP context","checked":"2026-10-01","quote":"`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."}},{"key":"write_source","value":true,"source":{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Tool policy","checked":"2026-10-01","quote":"Write, create, activate (`adt_write_source`, `adt_create_object`, `adt_activate`; ARC-1: SAPWrite, SAPActivate, …) | asks first"}},{"key":"create_objects","value":true,"source":{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Ground rule: open objects are only changed in the editor","checked":"2026-10-01","quote":"**Objects that are not open** may be written, created and activated in the SAP system, after you confirm."}},{"key":"activate","value":true,"source":{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Ground rule: open objects are only changed in the editor","checked":"2026-10-01","quote":"**Objects that are not open** may be written, created and activated in the SAP system, after you confirm."}},{"key":"syntax_check","value":true,"source":{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Features","checked":"2026-10-01","quote":"syntax check (also for unsaved code), ABAP Unit, ATC, style check, write, create, activate"}},{"key":"unit_tests","value":true,"source":{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Tool policy","checked":"2026-10-01","quote":"Read and check (`adt_search_objects`, `adt_read_source`, `adt_context`, `adt_where_used`, `adt_syntax_check`, `adt_run_unit_tests`, `adt_atc_check`, `abap_lint`; ARC-1: SAPRead, SAPSearch, …) | runs automatically"}},{"key":"atc","value":true,"source":{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Tool policy","checked":"2026-10-01","quote":"Read and check (`adt_search_objects`, `adt_read_source`, `adt_context`, `adt_where_used`, `adt_syntax_check`, `adt_run_unit_tests`, `adt_atc_check`, `abap_lint`; ARC-1: SAPRead, SAPSearch, …) | runs automatically"}}]},{"capability":"capability:editor-support","what_it_does":"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.","sources":[{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Features","checked":"2026-10-01","quote":"**AI completion** as grey ghost text; Tab accepts, Esc dismisses"},{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Features","checked":"2026-10-01","quote":"**Chat** with editor context, streaming and tool calls; insert code blocks, replace the selection or take them over as a method body"},{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README","checked":"2026-10-01","quote":"Generate code, rework a selection or implement a method, written **into the editor only**"}]},{"capability":"capability:abap-static-analysis","what_it_does":"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.","sources":[{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, How Bella gets SAP context","checked":"2026-10-01","quote":"**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 and aborting messages."},{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, How Bella gets SAP context","checked":"2026-10-01","quote":"It is a small rule set of Bella's own, not abaplint and no replacement for ATC."}]}],"requires":[{"ref":"artifact:sap-adt-eclipse","for":"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","sources":[{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Installation","checked":"2026-10-01","quote":"**Bella ADT integration**: Bella's own SAP tools through the ADT logon. Requires ADT."},{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Installation","checked":"2026-10-01","quote":"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."}]},{"ref":"external:eclipse","for":"the IDE Bella is installed into from its own p2 update site, at release 2024-12 or newer with Java 21","sources":[{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Installation","checked":"2026-10-01","quote":"Requirements:\n- Eclipse 2024-12 or newer with Java 21"}]}],"connects":[{"ref":"external:abap-platform","kind":"data","direction":"outbound","for":"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","sources":[{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README","checked":"2026-10-01","quote":"Bella reaches the SAP system through your existing ADT logon."},{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Architecture: who calls whom","checked":"2026-10-01","quote":"**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."}]},{"ref":"artifact:arc-mcp-arc-1","kind":"data","protocols":["mcp"],"direction":"outbound","condition":"an MCP server is added under Preferences → Bella → SAP-Tools & ARC-1","for":"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","sources":[{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README","checked":"2026-10-01","quote":"ARC-1 or any other MCP server can be added."},{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Architecture: who calls whom","checked":"2026-10-01","quote":"Optionally Bella runs tool requests through ARC-1 or another MCP server."},{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Architecture: who calls whom","checked":"2026-10-01","quote":"**5b (optional):** ARC-1 talks to the SAP system and adds audit, rate limits and a package allowlist."}]}],"interfaces":[{"key":"sap-tools-mcp","kind":"tool","protocol":"mcp","direction":"in","for":"Bella's own SAP tools, offered to the Claude Code CLI or the Copilot CLI that Bella starts for a chat, on the loopback address behind a random token","sources":[{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, Claude subscription instead of an API key","checked":"2026-10-01","quote":"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."},{"url":"https://raw.githubusercontent.com/ktaubmann/Bella/claude/eclipse-abap-plugin-piea3i/README.md","title":"ktaubmann/Bella — README, GitHub Copilot subscription","checked":"2026-10-01","quote":"The CLI gets Bella's SAP tools through the same **local MCP server** as the Claude subscription (loopback only, random token)."}]}],"provenance":{"discovered_via":[{"source":"source:curator","channel":"intake request, repository URL handed over"}],"first_seen":"2026-09-30"},"history":[{"date":"2026-09-30","field":"entry","from":null,"to":"created","reason":"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."},{"date":"2026-10-01","field":"sources","from":"checked 2026-09-30","to":"checked 2026-10-01","reason":"Re-read against the README on the repository's default branch and the release list. Every sentence the entry's claims rest on still stands there word for word, so the dates move and no claim changes. The one sentence that did change is one the entry does not carry: the status note read \"A full chat with a Copilot subscription still needs to be tried\" on 2026-09-30 and now reads \"A chat with the Copilot Free plan works\", which is the maintainer's own report on their testing. Releases v0.4.4 and v0.4.5 were published on 2026-10-01 and their notes are the installation text every earlier release carries, naming no change, so nothing is dated into `changed_in`."},{"date":"2026-10-01","field":"interfaces","from":"no interface stated","to":"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","reason":"The entry recorded the MCP connection Bella opens to [ARC-1](artifact:arc-mcp-arc-1) and not the one it answers: on the two subscription routes Bella starts a CLI with its built-in tools switched off and hands it the `adt_*` tools over an MCP server of its own. The README states the server, the address and the token in both of those sections. An interface is a fact about the node and belongs on the thing that offers it (docs/concepts/design-roles-and-interfaces.md §3), so it is entered here rather than left to be read off the CLI's side."}],"drafted_with_ai":true,"contributors":["actor:ktaubmann"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"2 contributors"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"good","evidence":"Build green, 2026-10-21"}],"practice":[{"label":"Tests","tier":"good","evidence":"69 test files"},{"label":"Docs","tier":"good","evidence":"README 52 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":7,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":7,"forks":2,"open_issues":0,"archived":false,"pushed_at":"2026-10-22","license_spdx":"MIT","org_owned":false,"default_branch":"claude/eclipse-abap-plugin-piea3i","created_at":"2026-09-27T11:58:11Z","tree_truncated":false,"test_files":69,"workflows":4,"other_ci":false,"readme_bytes":53416,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2026-09-27","last_commit":"2026-10-21","commits":168,"contributors":2,"ci_status":"success","ci_run_at":"2026-10-21","ci_workflow":"Build","ci_event":"push","readme_path":"README.md","readme_sha":"5fa91dea929c109e46ce3ed412b52d1e7ea9e399","open_prs":0,"repo_read":"2026-10-26"},"release_notes":{"license":"MIT","quotable":true,"source":{"kind":"github-releases","url":"https://github.com/ktaubmann/Bella/releases"},"format":"github-releases","releases":[{"version":"0.9.6","date":"2026-10-22","date_source":"github","heading":"Bella v0.9.6","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.9.6","sections":[],"hash":"b7912624f240e262"},{"version":"0.9.5","date":"2026-10-21","date_source":"github","heading":"Bella v0.9.5","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.9.5","sections":[],"hash":"0326777e6f4c4919"},{"version":"0.9.4","date":"2026-10-19","date_source":"github","heading":"Bella v0.9.4","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.9.4","sections":[],"hash":"eefa4abd1499a6b9"},{"version":"0.9.3","date":"2026-10-19","date_source":"github","heading":"Bella v0.9.3","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.9.3","sections":[],"hash":"13521f341fd4a471"},{"version":"0.9.2","date":"2026-10-16","date_source":"github","heading":"Bella v0.9.2","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.9.2","sections":[],"hash":"374f2befd4dcd6fc"},{"version":"0.9.1","date":"2026-10-15","date_source":"github","heading":"Bella v0.9.1","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.9.1","sections":[],"hash":"6d5777ad6130cca5"},{"version":"0.9.0","date":"2026-10-12","date_source":"github","heading":"Bella v0.9.0","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.9.0","sections":[],"hash":"5ccb226ea13b65e7"},{"version":"0.8.0","date":"2026-10-10","date_source":"github","heading":"Bella v0.8.0","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.8.0","sections":[],"hash":"da58c95bbd51aa8b"},{"version":"0.7.0","date":"2026-10-08","date_source":"github","heading":"Bella v0.7.0","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.7.0","sections":[],"hash":"f2920188819ec3cd"},{"version":"0.6.0","date":"2026-10-07","date_source":"github","heading":"Bella v0.6.0","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.6.0","sections":[],"hash":"430e13c5e2616f9a"},{"version":"0.5.0","date":"2026-10-05","date_source":"github","heading":"Bella v0.5.0","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.5.0","sections":[],"hash":"1ebcf01f2526579e"},{"version":"0.4.5","date":"2026-10-01","date_source":"github","heading":"Bella v0.4.5","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.4.5","sections":[],"hash":"80cedac3cb9262a3"},{"version":"0.4.4","date":"2026-10-01","date_source":"github","heading":"Bella v0.4.4","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.4.4","sections":[],"hash":"d541b80627abc6aa"},{"version":"0.4.3","date":"2026-09-29","date_source":"github","heading":"Bella v0.4.3","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.4.3","sections":[],"hash":"239b8e4b9dea0608"},{"version":"0.4.2","date":"2026-09-29","date_source":"github","heading":"Bella v0.4.2","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.4.2","sections":[],"hash":"5395c39c597231e2"},{"version":"0.4.1","date":"2026-09-29","date_source":"github","heading":"Bella v0.4.1","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.4.1","sections":[],"hash":"0a5ff7775aa6ff12"},{"version":"0.4.0","date":"2026-09-29","date_source":"github","heading":"Bella v0.4.0","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.4.0","sections":[],"hash":"1a1f4c5a63069eb7"},{"version":"0.3.1","date":"2026-09-29","date_source":"github","heading":"Bella v0.3.1","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.3.1","sections":[],"hash":"9f9003737e45ad88"},{"version":"0.3.0","date":"2026-09-29","date_source":"github","heading":"Bella v0.3.0","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.3.0","sections":[],"hash":"c1c6621301d77e77"},{"version":"0.2.2","date":"2026-09-29","date_source":"github","heading":"Bella v0.2.2","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.2.2","sections":[],"hash":"c18b8ea309a22c76"},{"version":"0.2.1","date":"2026-09-28","date_source":"github","heading":"Bella v0.2.1","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.2.1","sections":[],"hash":"88266d65bffda4c9"},{"version":"0.2.0","date":"2026-09-28","date_source":"github","heading":"Bella v0.2.0","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.2.0","sections":[],"hash":"737bd8be41841e22"},{"version":"0.1.0","date":"2026-09-28","date_source":"github","heading":"Bella v0.1.0","url":"https://github.com/ktaubmann/Bella/releases/tag/v0.1.0","sections":[],"hash":"efa637d6848820cd"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:ktaubmann","name":"Kilian Taubmann","json":"/actors/ktaubmann.json"}],"contributors":[{"ref":"actor:ktaubmann","name":"Kilian Taubmann","json":"/actors/ktaubmann.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}