agentleFS
quarkusioquarkusio/quarkus-super-heroes/grpc-locations/AGENTS.md

quarkus-super-heroes / grpc-locations

AGENTS.md395 starsChanged 5 years agoApache-2.0View on GitHub

This is a Quarkus application. Follow these rules when working on this project. STOP before writing ANY code. For every feature or capability the user requests: 1. Search for Quarkus extensions that provide the capability using quarkus_searchDocs and quarkus_searchTools query='extension'. Do NOT rely on a fixed list of extensions -- always search dynamically, as available extensions change across Quarkus versions and platform BOMs. 2. Present ALL matching extensions to the user with a recommended default marked. Wait for the user…

The file

Show its rules and text

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

20 rules. About 0 are common, 10 are distinctive, and 10 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈10

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 10

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do NOT rely on a fixed list of extensions -- always search dynamically, as available extensions change across Quarkus versions and platform …

    line 10
  2. Distinctive:

    Do NOT silently pick an extension when multiple options exist.

    line 12
  3. Distinctive:

    NEVER implement features manually when a Quarkus extension exists -- search for and add the right extension first.

    line 28
  4. Distinctive:

    NEVER silently pick an extension when multiple options exist -- ALWAYS present options to the user and wait for their choice.

    line 29
  5. Very specific:

    NEVER write code for a feature without first loading its skill via quarkus_skills.

    line 30
  6. Distinctive:

    ALWAYS write tests for every feature -- no exceptions.

    line 31
  7. Distinctive:

    ALWAYS keep README.md updated with app description, features, endpoints, and Quarkus guide links.

    line 32
  8. Very specific:

    Use @QuarkusTest for integration tests -- Dev Services auto-starts backing services (databases, messaging, etc.).

    line 34
  9. Very specific:

    Use %dev. and %test. profile prefixes for dev/test configuration -- never hardcode connection URLs without a profile prefix.

    line 35
  10. Distinctive:

    If your agent supports subagents, run tests in a subagent so the main conversation stays responsive:

    line 39
  11. Very specific:

    Use devui-testing_runTests to run all tests.

    line 49
  12. Very specific:

    Use devui-testing_runTest with arguments {"className":"com.example.MyTest"} to run a specific test class.

    line 50
  13. Distinctive:

    Do NOT run Maven/Gradle test commands manually -- the Dev MCP test tools handle compilation, hot reload, and result reporting.

    line 51
  14. Distinctive:

    After fixing test failures, re-run tests (via a subagent if supported) to verify the fix.

    line 52
  15. Very specific:

    If the test runner gets stuck returning "Tests already in progress", do a full quarkus_stop + quarkus_start cycle to reset the test runner …

    line 54
  16. Distinctive:

    When something goes wrong (compilation error, deployment failure, runtime exception):

    line 58
  17. Very specific:

    Use quarkus_callTool with toolName devui-exceptions_getLastException to get structured exception details (class, message, stack trace, user …

    line 60
  18. Very specific:

    Call devui-exceptions_clearLastException to clear the recorded exception.

    line 62
  19. Very specific:

    Use quarkus_logs only when you need broader log context beyond the exception itself.

    line 63
  20. Very specific:

    Use quarkus_saveSkill to materialize the full composed skill into .agent/skills/, then edit the file directly to customize it for the …

    line 74

≈ “Common” is an estimate: at least 1 in 5 of the 40,246 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

AGENTS.md -- Quarkus Project Instructions

This is a Quarkus application. Follow these rules when working on this project.

CRITICAL -- Extension-First Rule (NEVER skip this)

STOP before writing ANY code. For every feature or capability the user requests:

  1. Search for Quarkus extensions that provide the capability using quarkus_searchDocs and quarkus_searchTools query='extension'. Do NOT rely on a fixed list of extensions -- always search dynamically, as available extensions change across Quarkus versions and platform BOMs.
  2. Present ALL matching extensions to the user with a recommended default marked. Wait for the user to choose before proceeding. Do NOT silently pick an extension when multiple options exist.
  3. Load skills with quarkus_skills for the chosen extension BEFORE writing any code.

Skipping any of these steps is a violation. NEVER implement a feature by hand-coding HTML, JavaScript, REST endpoints, or other functionality when a Quarkus extension exists for it.

Required Workflow

  1. Use quarkus_skills BEFORE writing any code or tests -- it contains extension-specific patterns, testing approaches, and common pitfalls that prevent mistakes. Skills may also list Available Dev MCP Tools specific to each extension (e.g. OpenAPI schema retrieval, scheduler job management) -- use these via quarkus_callTool. Call this EVERY time you are about to add or modify a feature, not just at project creation. When returning to an existing project, query for the quarkus-update skill to check if the Quarkus version is up-to-date.
  2. Use quarkus_searchDocs for Quarkus documentation -- do NOT use generic documentation tools (Context7, web search). The Quarkus doc search is version-aware and more accurate.
  3. Use quarkus_searchTools to discover Dev MCP tools on the running app for testing, config changes, and extension management. The tool list is dynamic -- it changes when extensions are added or removed. Re-call quarkus_searchTools after any extension change to discover newly available tools. Note: some extension-specific tools are also documented in the skills output (see step 1).
  4. Use quarkus_callTool to invoke Dev MCP tools -- run tests, add extensions, update configuration. Do NOT run Maven/Gradle commands manually.
  5. After code changes, trigger a reload via quarkus_callTool with toolName devui-logstream_forceRestart. Do NOT restart the app manually.
  6. After pom.xml / build.gradle changes (adding dependencies or extensions), you MUST do a full quarkus_stop + quarkus_start cycle. A forceRestart only recompiles source files -- it does NOT re-resolve dependencies.

Rules

  • NEVER implement features manually when a Quarkus extension exists -- search for and add the right extension first.
  • NEVER silently pick an extension when multiple options exist -- ALWAYS present options to the user and wait for their choice.
  • NEVER write code for a feature without first loading its skill via quarkus_skills.
  • ALWAYS write tests for every feature -- no exceptions.
  • ALWAYS keep README.md updated with app description, features, endpoints, and Quarkus guide links.
  • ALWAYS summarize after completing work -- when you finish building an app, adding a feature, or completing a task, provide a clear summary of what was done (files created/modified, endpoints added, extensions used, etc.) and suggest logical next steps the user might want to take (e.g. adding security, observability, persistence, testing improvements, deployment).
  • Use @QuarkusTest for integration tests -- Dev Services auto-starts backing services (databases, messaging, etc.).
  • Use %dev. and %test. profile prefixes for dev/test configuration -- never hardcode connection URLs without a profile prefix.

Testing

If your agent supports subagents, run tests in a subagent so the main conversation stays responsive:

If supported, use the Agent tool to launch a subagent with this prompt:
  "Run the Quarkus tests for project <projectDir> using quarkus_callTool
   with toolName 'devui-testing_runTests'. Analyze the results and report
   which tests passed, failed, or errored. If tests fail, include the
   failure messages and suggest fixes."
  • Use devui-testing_runTests to run all tests.
  • Use devui-testing_runTest with arguments {"className":"com.example.MyTest"} to run a specific test class.
  • Do NOT run Maven/Gradle test commands manually -- the Dev MCP test tools handle compilation, hot reload, and result reporting.
  • After fixing test failures, re-run tests (via a subagent if supported) to verify the fix.
  • NEVER run mvn clean or gradle clean while dev mode is running -- it deletes target/test-classes and breaks the test runner with no automatic recovery.
  • If the test runner gets stuck returning "Tests already in progress", do a full quarkus_stop + quarkus_start cycle to reset the test runner state.

Error Handling

When something goes wrong (compilation error, deployment failure, runtime exception):

  1. Use quarkus_callTool with toolName devui-exceptions_getLastException to get structured exception details (class, message, stack trace, user code location).
  2. Fix the issue based on the exception details.
  3. Call devui-exceptions_clearLastException to clear the recorded exception.
  4. Use quarkus_logs only when you need broader log context beyond the exception itself.

Note: If the app fails on its very first deploy (before the Dev MCP handler is registered), the exception endpoint won't exist yet -- fall back to quarkus_logs in that case. For hot-reload failures (the common case), the endpoint is always available from the prior successful deploy.

Customizing Skills

Global customizations (~/.quarkus/skills/) apply to all projects. Use quarkus_updateSkill to create or update global customizations. Ask the user whether to ENHANCE (append to the base) or OVERRIDE (fully replace the base).

Project-level skills (.agent/skills/) are standalone files readable by any agent. Use quarkus_saveSkill to materialize the full composed skill into .agent/skills/, then edit the file directly to customize it for the project.

Download now (ZIP)

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.