apache / apache/shenyu

[Task] Define the boundary between ShenYu main repo and shenyu-client-java

Open
#6,364 1 comment 0 reactions 0 assignees View on GitHub
status: volunteer wanted
Dominant language
Java
Stars
8.8k
Forks
3.1k
Avg merge
7d 1h
Merged PRs (30d)
85

Description

### Description

## Background

ShenYu is splitting Java client-side modules into `apache/shenyu-client-java` so the client can keep JDK 8 compatibility while the main ShenYu repository can evolve admin/bootstrap/runtime independently,
including future JDK 21+ and virtual thread work.

We need a clear boundary between the two repositories to avoid duplicated logic, hidden source coupling, or unclear ownership.

## Tasks

- [ ] Inventory client-related modules currently in the main ShenYu repository.
- [ ] Inventory modules currently restored or expected in `shenyu-client-java`.
- [ ] Define which responsibilities belong to the main repo.
- [ ] Define which responsibilities belong to `shenyu-client-java`.
- [ ] Identify shared concepts that should be treated as protocol contracts rather than shared source code.
- [ ] Identify any remaining main repo dependency on client-side DTOs, constants, or utilities.
- [ ] Document the agreed boundary in a markdown document.

## Expected Output

A document covering:

- Main repo responsibilities: admin, bootstrap, gateway runtime, plugins, sync, management APIs.
- Client repo responsibilities: Java client, starters, registration SDK, beat, discovery registration, MCP client registration.
- Cross-repo contract points: registration protocol, beat protocol, discovery instance protocol, MCP registration protocol.
- Rules for future changes across the two repositories.

## Acceptance Criteria

- The document clearly states what belongs in each repo.
- The document identifies at least one owner/reviewer area for protocol changes.
- The document can be referenced by future PRs that move or modify client-related code.

### Task List

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by inventorying client-related modules in the main ShenYu repository and comparing them with modules restored or expected in apache/shenyu-client-java. Document the ownership boundary, protocol contract points, remaining client-side dependencies, and an owner or reviewer area for protocol changes. Done means the document clearly covers both repositories and can guide future client-related PRs.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.