Skip to content

Document the npm packages, and bring the MCP server page up to date - #348

Merged
oblomov-dev merged 3 commits into
mainfrom
claude/exciting-cerf-musejl
Sep 29, 2026
Merged

oblomov-dev merged 3 commits into
mainfrom
claude/exciting-cerf-musejl

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

What this changes

  • New page, Advanced → npm Packages. It covers all seven packages around abap2UI5 on npm: @abap2ui5/linter, linter-render, mcp-server, node-runtime and embed-control, plus cap2UI5's @cap2ui5/cds-plugin and @cap2ui5/samples. For each it says what the package is for, and it states the rules for which versions go together:

    • node-runtime carries the framework's version.
    • The CAP plugin pins exactly one node-runtime.
    • The samples follow the plugin's minor while it is 0.x.
    • The linter and its render runtime share a minor.
    • The embed control needs abap2UI5 1.145.0 or later.

    These are written as rules, not version numbers, so the page does not go stale with the next release. The page also shows the safe way to start each command-line tool. A bare npx <command> outside a project asks npm for an unscoped package of that name, which anybody may publish.

  • MCP server page, brought up to the server.

    • The page listed 14 tools, but 0.2.0 already ships 24. The ten missing ones are now there: setup_status, read_example, api_reference, docs_search, read_app, fix_view, build_log, interact_app, run_unit_tests and verify_app. The loop now names them.
    • New Level 0: the knowledge tools read from a GitHub mirror when there is no checkout.
    • The build time is corrected. The default build downloads the release's backend in about a minute; only mode: "full" is the tens-of-minutes corpus build.
    • All three sandbox locations are named.
    • Features of the server releases after 0.2.0 are marked as such rather than described as today's behavior: the npm package as the backend, and the linter found in a project's node_modules.
  • The MCP server starts by its bin. npx --yes @abap2ui5/mcp-server fails since 0.2.0, which has two bins: npx answers "could not determine executable to run". The snippets now use npx --yes -p @abap2ui5/mcp-server abap2ui5-mcp, which works for 0.1.x and 0.2.x. The manual now also points to the embed control and to cap2UI5.

Checks

  • npm test (271 pass)
  • check:line-length, check:vocabulary, the spelling test and check:conventions
  • docs:build (VitePress, no dead links)

🤖 Generated with Claude Code

https://claude.ai/code/session_011hTSksXxA58KdKrPbnQjNo


Generated by Claude Code

…ap2UI5

`npx --yes @abap2ui5/mcp-server` stopped working with mcp-server 0.2.0:
the package has two bins since (abap2ui5-mcp, abap2ui5-unit), and npx
answers "could not determine executable to run". The Claude Code and
mcp.json snippets now name the bin (`-p @abap2ui5/mcp-server
abap2ui5-mcp`), which works for 0.1.x and 0.2.x.

The manual mentioned neither the embed control nor cap2UI5, both published
on npm next to the framework's own packages. The launchpad list now names
the embed control as a way into any UI5 app, and a short section says that
the framework runs without an SAP system (@abap2ui5/node-runtime) and that
cap2UI5 hosts it in CAP.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011hTSksXxA58KdKrPbnQjNo
…ther

Seven packages around abap2UI5 are on npm now (linter, linter-render,
mcp-server, node-runtime, embed-control, and cap2UI5's cds-plugin and
samples), and how they relate was written down nowhere in one place: that
node-runtime's version is the framework's, that the CAP plugin pins exactly
one node-runtime, that the samples follow the plugin's minor while it is
0.x, that the linter and its render runtime share a minor, that the embed
control needs abap2UI5 1.145.0 or later.

The page states those rules rather than version numbers, which would go
stale with the next release of any of the seven. It also gives the safe way
to start each command-line tool: every command lives in a scoped package
under a different name, and a bare `npx <command>` outside a project asks
npm for an unscoped package of that name, which anybody may publish.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011hTSksXxA58KdKrPbnQjNo
The page listed 14 tools; 0.2.0 already registers 24. setup_status,
read_example, api_reference, docs_search, read_app, fix_view, build_log,
interact_app, run_unit_tests and verify_app - the last three the ones that
turn a screenshot into a checked app - were nowhere on it, and the loop
never named them. It also sent the reader into a tens-of-minutes
`mode: "full"` build that the default no longer runs (a checkout gets the
release's prebuilt backend in about a minute), put every deployed app into
the corpus' sandbox although the framework checkout carries one too, and
had no word of the GitHub mirror that runs the knowledge tools without any
checkout (Level 0).

What the releases after 0.2.0 add - the npm package as the backend without
a checkout, its sandbox under ~/.abap2ui5-mcp, the linter found in a
project's node_modules - is marked as such rather than described as
today's behavior.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011hTSksXxA58KdKrPbnQjNo
@oblomov-dev
oblomov-dev merged commit d06ea4e into main Sep 29, 2026
1 check passed
@oblomov-dev
oblomov-dev deleted the claude/exciting-cerf-musejl branch September 29, 2026 18:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants