Rules for JsonRpcBundle extensions

For packages that extend the bundle (transports, protocol adapters, integrations) — the RpcExecutor entry point, tokens, groups and versions, routes, package requirements.

Install through your agent — tell it:

Read https://ufo-tech.space/ai/install.md and install the json-rpc-bundle-extensions rule from the UFO Tech catalog into this project.

Installation

Claude Code

Into the project — docs/ai/json-rpc-bundle-extensions.md

macOS, Linux, WSL, Git Bash

mkdir -p "docs/ai"
curl -fsSL https://ufo-tech.space/ai/files/rule/json-rpc-bundle-extensions/universal/json-rpc-bundle-extensions.md -o "docs/ai/json-rpc-bundle-extensions.md"

Windows PowerShell

New-Item -ItemType Directory -Force "docs\ai" | Out-Null
Invoke-WebRequest https://ufo-tech.space/ai/files/rule/json-rpc-bundle-extensions/universal/json-rpc-bundle-extensions.md -OutFile "docs\ai\json-rpc-bundle-extensions.md"

Add this line to CLAUDE.md in the project root:

@docs/ai/json-rpc-bundle-extensions.md

Codex

Into the project — docs/ai/json-rpc-bundle-extensions.md

macOS, Linux, WSL, Git Bash

mkdir -p "docs/ai"
curl -fsSL https://ufo-tech.space/ai/files/rule/json-rpc-bundle-extensions/universal/json-rpc-bundle-extensions.md -o "docs/ai/json-rpc-bundle-extensions.md"

Windows PowerShell

New-Item -ItemType Directory -Force "docs\ai" | Out-Null
Invoke-WebRequest https://ufo-tech.space/ai/files/rule/json-rpc-bundle-extensions/universal/json-rpc-bundle-extensions.md -OutFile "docs\ai\json-rpc-bundle-extensions.md"

Add this line to AGENTS.md in the project root:

Follow docs/ai/json-rpc-bundle-extensions.md.

Cursor

Into the project — .cursor/rules/json-rpc-bundle-extensions.mdc

macOS, Linux, WSL, Git Bash

mkdir -p ".cursor/rules"
curl -fsSL https://ufo-tech.space/ai/files/rule/json-rpc-bundle-extensions/universal/json-rpc-bundle-extensions.md -o ".cursor/rules/json-rpc-bundle-extensions.mdc"

Windows PowerShell

New-Item -ItemType Directory -Force ".cursor\rules" | Out-Null
Invoke-WebRequest https://ufo-tech.space/ai/files/rule/json-rpc-bundle-extensions/universal/json-rpc-bundle-extensions.md -OutFile ".cursor\rules\json-rpc-bundle-extensions.mdc"

Prepend Cursor frontmatter: description (one line), globs (if the rule targets specific paths), alwaysApply: false.

GitHub Copilot

Into the project — .github/instructions/json-rpc-bundle-extensions.instructions.md

macOS, Linux, WSL, Git Bash

mkdir -p ".github/instructions"
curl -fsSL https://ufo-tech.space/ai/files/rule/json-rpc-bundle-extensions/universal/json-rpc-bundle-extensions.md -o ".github/instructions/json-rpc-bundle-extensions.instructions.md"

Windows PowerShell

New-Item -ItemType Directory -Force ".github\instructions" | Out-Null
Invoke-WebRequest https://ufo-tech.space/ai/files/rule/json-rpc-bundle-extensions/universal/json-rpc-bundle-extensions.md -OutFile ".github\instructions\json-rpc-bundle-extensions.instructions.md"

Prepend frontmatter with applyTo, e.g. applyTo: "src/**".

AGENTS.md

Into the project — docs/ai/json-rpc-bundle-extensions.md

macOS, Linux, WSL, Git Bash

mkdir -p "docs/ai"
curl -fsSL https://ufo-tech.space/ai/files/rule/json-rpc-bundle-extensions/universal/json-rpc-bundle-extensions.md -o "docs/ai/json-rpc-bundle-extensions.md"

Windows PowerShell

New-Item -ItemType Directory -Force "docs\ai" | Out-Null
Invoke-WebRequest https://ufo-tech.space/ai/files/rule/json-rpc-bundle-extensions/universal/json-rpc-bundle-extensions.md -OutFile "docs\ai\json-rpc-bundle-extensions.md"

Add this line to AGENTS.md in the project root:

Follow docs/ai/json-rpc-bundle-extensions.md.

About

For packages that extend JsonRpcBundle: a new transport, a protocol adapter, an integration or tooling. Use together with the JsonRpcBundle rules.

What's inside

  • don't duplicate the core: the method map, validation, parameter conversion and error format are already in the bundle;
  • the entry point through RpcExecutor, the token check, the API group and version of a request, routes via IApiRouteImport;
  • constraints for components created while the container compiles, and rules for events;
  • package requirements: bundle version, README and docs layout, a functional test, compatibility within a major version.

The file is in English; bundle version 10.4.

<div class="docs-page-votes" data-page-votes hidden data-endpoint="/votes" role="group" aria-label="Rate this page"> <button class="docs-page-votes__button" type="button" data-vote="1" aria-pressed="false" title="Helpful"> <span aria-hidden="true">👍</span> <span class="visually-hidden">Helpful</span> <span data-vote-count>0</span> </button> <button class="docs-page-votes__button" type="button" data-vote="-1" aria-pressed="false" title="Not helpful"> <span aria-hidden="true">👎</span> <span class="visually-hidden">Not helpful</span> <span data-vote-count>0</span> </button> </div> <p class="docs-page-counters" data-page-counters hidden data-endpoint="/_e/page" data-label-total="Viewed {count} {times}" data-label-now="Viewing now: {count}" data-times="{&quot;one&quot;:&quot;time&quot;,&quot;few&quot;:&quot;times&quot;,&quot;many&quot;:&quot;times&quot;,&quot;other&quot;:&quot;times&quot;}"> <span data-page-counters-total></span> <span aria-hidden="true">·</span> <span data-page-counters-now></span> </p>