agentleFS
apolloconfigapolloconfig/apollo/AGENTS.md

apollo

AGENTS.md30k starsChanged 4 years agoApache-2.0View on GitHub

We split this AGENTS.md into the rules it gives an agent

12 rules. About 1 is common, 4 are distinctive, and 7 are very specific to this project.

  • ≈1

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Follow Google Java Style Guide.

    line 19
  2. Very specific:

    Use the IDE configs in apollo-buildtools/style/ (IntelliJ/Eclipse).

    line 20
  3. Very specific:

    Use standard Java naming: packages lower.case, classes UpperCamelCase, tests *Test.

    line 22
  4. Very specific:

    Treat OpenAPI as contract-first: update spec in apolloconfig/apollo-openapi before (or together with) portal implementation changes.

    line 25
  5. Very specific:

    Put new tests under the module’s src/test/java with *Test suffix.

    line 32
  6. Distinctive:

    Add unit tests for new features or important bug fixes.

    line 33
  7. Very specific:

    Use Conventional Commits format (e.g., feat:, fix:).

    line 36
  8. Very specific:

    If a commit fixes an issue, append Fixes #123 in the commit message.

    line 37
  9. Distinctive:

    Commit only on feature branches.

    line 38
  10. Distinctive:

    When merging a PR on GitHub: if it has a single commit, use rebase and merge.

    line 41
  11. Common:

    Do not commit secrets or environment-specific credentials.

    line 51
  12. Very specific:

    Follow SECURITY.md for vulnerability reporting.

    line 52

≈ “Common” is an estimate: at least 1 in 5 of the 36,368 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

Repository Guidelines

Project Structure & Module Organization

  • Multi-module Maven repo with root pom.xml and service modules like apollo-configservice, apollo-adminservice, and apollo-portal, shared libs in apollo-common, and packaging in apollo-assembly.
  • apollo-biz is a shared business-logic module used by services like config/admin (not a standalone service).
  • Build and release tooling lives in scripts/ (e.g., scripts/build.sh) and apollo-buildtools/ (code style configs).
  • Database and schema assets are under scripts/sql and module src/main/resources folders.
  • Tests follow standard Maven layout: */src/test/java and */src/test/resources inside each module.
  • Documentation is in docs/.

Build, Test, and Development Commands

  • ./mvnw -DskipTests package builds all modules.
  • ./mvnw test runs the full test suite via Surefire (may log warnings if local meta/admin services are not running).
  • ./mvnw -pl apollo-configservice -am test runs tests for a specific module and its dependencies.
  • ./mvnw spotless:apply formats code and must be run before opening a PR.
  • ./scripts/build.sh generates distributable packages (used for deployment workflows).

Coding Style & Naming Conventions

  • Follow Google Java Style Guide; 2-space indentation and standard Java conventions apply.
  • Use the IDE configs in apollo-buildtools/style/ (IntelliJ/Eclipse).
  • New Java classes should include a short Javadoc describing the class purpose.
  • Use standard Java naming: packages lower.case, classes UpperCamelCase, tests *Test.

OpenAPI Contract Workflow (apollo-portal)

  • Treat OpenAPI as contract-first: update spec in apolloconfig/apollo-openapi before (or together with) portal implementation changes.
  • apollo-portal/pom.xml uses apollo.openapi.spec.url + openapi-generator-maven-plugin; generated sources under target/generated-sources/openapi/src/main/java are added to compile path via build-helper-maven-plugin.
  • For new/changed OpenAPI endpoints, prefer implementing generated *ManagementApi interfaces and generated models; avoid introducing hand-written DTO/controller contracts that bypass the spec pipeline.
  • In PR review, verify contract alignment explicitly: endpoint path, request/response model, and permissions in apollo should match the spec in apollo-openapi.

Testing Guidelines

  • JUnit 5 is the default, with Vintage enabled for legacy JUnit 4 tests.
  • Put new tests under the module’s src/test/java with *Test suffix.
  • Add unit tests for new features or important bug fixes.

Commit & Pull Request Guidelines

  • Use Conventional Commits format (e.g., feat:, fix:).
  • If a commit fixes an issue, append Fixes #123 in the commit message.
  • Commit only on feature branches; never commit directly to master or main.
  • CHANGES.md entries must use a PR URL in Markdown link format; if the PR URL is not available yet, open the PR first, then add/update CHANGES.md in a follow-up commit.
  • Rebase onto master and squash feature work into a single commit before merge.
  • When merging a PR on GitHub: if it has a single commit, use rebase and merge; if it has multiple commits, use squash and merge.
  • Non-trivial contributions require signing the CLA.
  • Open a feature branch for your change and submit a PR using .github/PULL_REQUEST_TEMPLATE.md.
  • PRs should include a clear description, tests run, and any relevant screenshots/logs; use GitHub issues for tracking.
  • The PR checklist expects mvn clean test, mvn spotless:apply, and an update to CHANGES.md.
  • For upstream contributions, open PRs against apolloconfig/apollo and fill the template with real content (not the raw template text).

Security & Configuration Notes

  • Apollo supports H2 in-memory for local development and MySQL for production; prefer H2 locally unless you need a real database.
  • Review scripts/sql and environment config when using MySQL.
  • Do not commit secrets or environment-specific credentials; use local overrides instead.
  • Follow SECURITY.md for vulnerability reporting.

Download now (ZIP)

Trending

Less talk lately.about the whole repository

Dec 2025: 0 mentionsJan 2026: 2 mentionsFeb 2026: 7 mentionsMar 2026: 0 mentionsApr 2026: 0 mentionsMay 2026: 0 mentionsJun 2026: 0 mentionsJul 2026: 1 mentionAug 2026: 1 mentionSep 2026: 0 mentionsOct 2026: 1 mentionNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the apolloconfig/apollo repository that our weekly crawl found. There is no adoption data for this file yet.

Who's talking about apolloconfig/apollo

The biggest 5 of 35 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 35

Talked about on GitHub, the web and Hacker News (35 times).

On GitHub · 32

27 more on GitHub

On the web · 2

On Hacker News · 1

  • Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.

    Of the AGENTS.md files we read, the 28,693 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.