[Task][Docs] Adapt AGENTS.md working principles to ShenYu and refresh build facts
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 74/100
- Tipo di issue
- Documentazione
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- java
- Ambito
- documentation
Direzione di ricerca
Leggi il file AGENTS.md del repository, il pom.xml nella directory principale e le istruzioni per contribuire. Aggiorna la sezione sui principi di lavoro affinché copra i quattro temi, mantenendo le indicazioni esistenti sul progetto e sull’architettura. Verifica nel POM la fonte della versione e le fasi e le opzioni di esclusione di Checkstyle/RAT. Rivedi il risultato rispetto ai criteri di accettazione e a scenari rappresentativi di configurazione e reattivi. Il lavoro è concluso quando la documentazione è accurata, concisa e limitata alle indicazioni per i collaboratori.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Goal
Add concise working principles to the repository's AGENTS.md so coding agents make focused, verifiable changes while respecting ShenYu's multi-module architecture and compatibility boundaries. Keep the existing project overview, commands and architecture guidance, and correct two stale build facts.
The four themes are think before coding, simplicity first, surgical changes, and goal-driven execution. Adapt them to ShenYu rather than copying absolute rules that force routine clarification, minimize line counts, or require the same test/build sequence for every change.
Verified documentation gaps
Reviewed apache/shenyu@750673e3f619e335333150ff1b2d14070d5d5c31 (2.7.3-SNAPSHOT):
- AGENTS.md project description still names
2.7.2-SNAPSHOT; root pom.xml declares2.7.3-SNAPSHOT. Prefer pointing readers to the root POM as the version authority, or keep any stated version consistent with it. - The build comment in AGENTS.md says both Checkstyle and RAT run at
validate. The root POM binds Checkstyle to validate and RAT to verify. Explain the phases and explicit skip flags accurately. - Existing architecture guidance already describes Admin, sync channels, the gateway and plugin/selector/rule configuration. Preserve it and avoid duplicating that overview inside each behavioral rule.
Proposed scope
1. Think before coding: establish facts and material assumptions
- Inspect the relevant source, configuration, tests and current issue/PR state before proposing implementation. Distinguish implemented behavior, unmerged work and planned capabilities.
- State assumptions and tradeoffs that affect correctness, compatibility or the requested scope. Investigate repository evidence first; ask when a material ambiguity still prevents a correct decision. Routine reversible implementation choices do not require a new confirmation gate.
- For multi-step work, provide a short plan with observable verification. Do not require a lengthy plan for trivial edits.
2. Simplicity first: choose the smallest complete solution
- Reuse existing plugin, SPI, configuration and observation mechanisms before adding another framework or registry. Avoid speculative options and unrelated features.
- Measure simplicity by necessary behavior and maintenance cost, not the fewest lines or files. A requested public extension contract may legitimately start with one implementation; it needs a concrete use case and a compatible boundary.
- Keep necessary handling for invalid external input, network failures, cancellation, reload races and resource ownership. These are expected gateway conditions, not impossible scenarios that should be deleted for brevity.
3. Surgical changes: limit scope while completing the affected contract
- Match surrounding style and keep unrelated formatting, cleanup and refactors out of the change. Remove imports/helpers made unused by the change; report unrelated findings separately.
- Preserve existing public SPI, plugin names, configuration defaults and supported legacy behavior unless the requested change explicitly addresses them.
- A complete fix may require coordinated changes across shared DTOs, Admin persistence/validation and events, data sync, gateway consumers, starters and tests. Check the affected plugin/selector/rule flow rather than enforcing a one-file change.
- When persistence or seed/upgrade metadata is affected, check the maintained dialects and upgrade paths. Do not expand every ordinary change into a database migration task.
4. Goal-driven execution: verify behavior at the right boundary
- Define success in observable terms. For a bug, prefer a regression that exposes it and verifies the fix. For a refactor, preserve the relevant externally observable behavior.
- Match validation to risk and scope: use
./mvnwand focused module/dependency checks first, then the broader checks required by the change and repository/CI policy. Compilation or a build with-DskipTestsis not evidence that behavior tests passed. - Reactive changes should exercise relevant subscription, completion/error/cancellation, buffer/resource release and actual transport/body/session lifetimes. For example, verify cancellation reaches the original upstream call rather than only cancelling an unrelated derived future. Header readiness, body completion and WebSocket session termination are different boundaries.
- Documentation-only and other low-impact edits need proportionate content/link/configuration checks, not artificial Java tests that merely mirror text. Do not impose universal test-first or full-repository-build rules.
- Report what was checked, the result, and material checks not run. Retain existing Checkstyle, Apache license/RAT and contribution requirements; these principles do not exempt a change from required checks.
Acceptance criteria
-
AGENTS.mdcontains a short, actionable working-principles section covering the four themes without becoming another architecture document or a long approval checklist. - It explicitly permits routine autonomous decisions and the smallest complete cross-module fix; it does not introduce mandatory confirmation for every assumption or use line/file count as the correctness target.
- Existing plugin/SPI and configuration compatibility, relevant Admin-to-gateway propagation, and affected SQL dialects are considered where applicable.
- Verification guidance is risk-based, uses the Maven wrapper, distinguishes actual behavior tests from compile/skip-test evidence, and explains relevant reactive lifetime boundaries.
- Version authority and Checkstyle/RAT phase descriptions agree with the reviewed POM; existing build/test commands are reviewed for consistency.
- Existing project guidance is preserved. This task is limited to contributor/agent documentation: no plugin runtime change, dependency addition, new approval system or unrelated workflow rewrite.
Validation
Review the documentation against the checked-in POM, affected contribution instructions and representative configuration/reactive change scenarios. No new runtime test suite is needed solely to validate this documentation update.
- Lingua principale
- Java
- Stelle
- 8.9k
- Fork
- 3.1k
- Merge medio
- 2g 2h
- PR unite (30g)
- 414
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/shenyu
-
[BUG] Boolean tars parameter parsed via Byte.valueOf → NumberFormatExceptionForse già presa @yangjj-iso l’ha presa 13 giorni fa. Apertaplugin: tars priority: medium type: bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
apache/shenyu#6736 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] RuleDataRefresh.refresh() NPE on null data / no-op on empty data (HTTP sync)Forse già presa @wy471x l’ha presa 26 giorni fa. Apertadata-sync: http priority: high type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
apache/shenyu#6663 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] SelectorDataRefresh.refresh() NPE on null data / no-op on empty data (HTTP sync)Forse già presa @wy471x l’ha presa 26 giorni fa. Apertadata-sync: http priority: high type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
apache/shenyu#6662 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] ShenyuMcpResponseDecorator reads buffer before super.writeWith, corrupting forwarded bodyForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertafeature: plugin priority: high type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/shenyu#6641 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] ModifyResponsePlugin unconditionally parses the response body as JSON, breaking non-JSON responsesForse già presa @wy471x l’ha presa 26 giorni fa. Apertaplugin: modify-response priority: high type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/shenyu#6633 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di apache/shenyu
Issue simili
-
area:core bug priority:p2
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
aomarai/minecraft-mcp#247 ·
I maintainer di solito rispondono entro 1 giorno
-
help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
antonyrag/ragleap-core#1062 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
Vakore/ZappierGames#232 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
constellation-app/constellation#2588 ·