Skip to content

[ZEPPELIN-6405] Add AGENTS.md for AI coding agent guidance#5187

Merged
jongyoul merged 7 commits intoapache:masterfrom
jongyoul:ZEPPELIN-6405-agents-md
May 8, 2026
Merged

[ZEPPELIN-6405] Add AGENTS.md for AI coding agent guidance#5187
jongyoul merged 7 commits intoapache:masterfrom
jongyoul:ZEPPELIN-6405-agents-md

Conversation

@jongyoul
Copy link
Copy Markdown
Member

Summary

  • Add comprehensive AGENTS.md following the open standard to help AI coding agents understand and work effectively with the Zeppelin codebase
  • Covers module architecture, server-interpreter Thrift IPC communication, plugin system with custom classloading, reflection patterns, interpreter lifecycle, and contributing guide
  • Build/test instructions kept concise; focus on deep architectural context

Test plan

  • Verify AGENTS.md renders correctly on GitHub
  • Verify RAT license check passes (./mvnw clean org.apache.rat:apache-rat-plugin:check -Prat)

jongyoul and others added 4 commits March 18, 2026 10:52
Add comprehensive AGENTS.md following the open standard to help AI coding
agents understand and work effectively with the Zeppelin codebase. Includes
module architecture, server-interpreter Thrift IPC communication details,
plugin system with custom classloading, reflection patterns, interpreter
lifecycle, and contributing guide.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… exclusion

Add the standard ASF license header to AGENTS.md instead of excluding
it from the RAT license check.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…s, and config map; add AI agent dirs to .gitignore

AGENTS.md additions:
- Build Gotchas: shaded JAR rebuild chain, module build order
- Configuration Files: conf/ file roles and template relationship
- Module Boundaries: where new code should go
- Thrift Code Generation: genthrift.sh workflow, generated files in git
- REST API Pattern: AbstractRestApi, JsonResponse, @ZeppelinApi conventions

.gitignore additions:
- AI coding agent personal config directories (CLAUDE.md, GEMINI.md,
  .claude/, .gemini/, .codex/, .cursor/, .windsurf/, .cline/,
  .continue/, .aider*, .augment/, .amazonq/, .junie/, .goose/, .roo/)
- AGENTS.md remains shared and tracked in git

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jongyoul jongyoul marked this pull request as ready for review April 4, 2026 05:46
Copilot AI review requested due to automatic review settings April 4, 2026 05:46
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an AGENTS.md guide (per the agents-md standard) to document Apache Zeppelin’s architecture and contributor workflows for AI coding agents, plus updates .gitignore to exclude agent-specific local config files.

Changes:

  • Introduces AGENTS.md with build/test commands and deep architectural context (modules, Thrift IPC, plugin/classloading, interpreter lifecycle).
  • Adds .gitignore entries for various AI-agent local config files/directories to keep them untracked.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 8 comments.

File Description
AGENTS.md New AI-agent guidance doc covering build/test workflow and Zeppelin architecture details.
.gitignore Ignores common AI-agent local configuration files/directories.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread AGENTS.md Outdated
Comment thread AGENTS.md
Comment thread AGENTS.md
Comment thread AGENTS.md
Comment thread AGENTS.md
Comment thread AGENTS.md
Comment thread AGENTS.md Outdated
Comment thread AGENTS.md Outdated
- Add --am flag to module-scoped Maven commands for clean checkout support
- Fix JUnit version: JUnit 4 → JUnit 5 (Jupiter) with legacy note
- Add git worktree recommendation in Development Workflow section

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@tbonelee tbonelee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My impression is that keeping AGENTS.md as the canonical shared guide makes sense.

That said, if that is the goal, I wonder whether it might be worth considering symlinks for vendor-specific files like CLAUDE.md instead of simply adding them to .gitignore. Some Apache repositories, such as Superset, SeaTunnel, Camel Quarkus, and OpenDAL, appear to take that approach, with AGENTS.md as the main source of truth and CLAUDE.md as a symlink.

It seems like that would keep the actual content in a single place while still helping with tool-specific discovery. I was just curious what you think about that approach.

Comment thread AGENTS.md Outdated
Comment thread AGENTS.md
Comment thread AGENTS.md Outdated
@jongyoul
Copy link
Copy Markdown
Member Author

@tbonelee Thank you for the review. The reason why I just ignored some vendor-spcific files is that I thought users might want to use vendor-specific structure like using skills, subagents. I also made a converter like https://github.com/jongyoul/claude-plugins-zeppelin I'm not sure we can satisfy all AI agents by AGENTS.md.

jongyoul and others added 2 commits April 12, 2026 15:59
…file

- Fix AGENTS.md specification link to point to the correct repository
- Add -Pweb-classic profile description in Common profiles section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…merge

Reflect the zeppelin-zengine to zeppelin-server module merge:
collapse the build/dependency chain to three layers, fold the
zengine module description into zeppelin-server (split into
Web/API and Engine/runtime), and update PluginManager and
ReflectionUtils paths to zeppelin-server.

Addresses tbonelee's review reminder on PR apache#5187 (line 78).
@jongyoul
Copy link
Copy Markdown
Member Author

jongyoul commented May 6, 2026

@tbonelee Thanks again for the earlier review. PR #5095 (ZEPPELIN-6355) has now been merged, so I pushed fa047fab5 updating the AGENTS.md zengine references per your reminder on line 78. Could you take another look when you get a chance?

Also, I see this PR as just a starting point — AGENTS.md is meant to evolve, and I'd love for any committer or contributor to feel free to extend or refine it whenever they spot something useful to add.

Copy link
Copy Markdown
Contributor

@tbonelee tbonelee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jongyoul jongyoul merged commit bb6ed26 into apache:master May 8, 2026
17 of 20 checks passed
@jongyoul
Copy link
Copy Markdown
Member Author

jongyoul commented May 8, 2026

Merged into master (bb6ed26).

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.

3 participants