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…
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 31,774 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.
In this repository14 other files it gives its agents.
- event-statistics/AGENTS.mdAGENTS.md
- rest-fights/AGENTS.mdAGENTS.md
- rest-heroes/AGENTS.mdAGENTS.md
- rest-narration/AGENTS.mdAGENTS.md
- rest-villains/AGENTS.mdAGENTS.md
- ui-super-heroes/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- event-statistics/CLAUDE.mdCLAUDE.md
- grpc-locations/CLAUDE.mdCLAUDE.md
- rest-fights/CLAUDE.mdCLAUDE.md
- rest-heroes/CLAUDE.mdCLAUDE.md
- rest-narration/CLAUDE.mdCLAUDE.md
- rest-villains/CLAUDE.mdCLAUDE.md
- ui-super-heroes/CLAUDE.mdCLAUDE.md
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
- Distinctive: line 10
Do NOT rely on a fixed list of extensions -- always search dynamically, as available extensions change across Quarkus versions and platform …
- Distinctive: line 12
Do NOT silently pick an extension when multiple options exist.
- Distinctive: line 28
NEVER implement features manually when a Quarkus extension exists -- search for and add the right extension first.
- Distinctive: line 29
NEVER silently pick an extension when multiple options exist -- ALWAYS present options to the user and wait for their choice.
- Very specific: line 30
NEVER write code for a feature without first loading its skill via quarkus_skills.
- Distinctive: line 31
ALWAYS write tests for every feature -- no exceptions.
- Distinctive: line 32
ALWAYS keep README.md updated with app description, features, endpoints, and Quarkus guide links.
- Very specific: line 34
Use @QuarkusTest for integration tests -- Dev Services auto-starts backing services (databases, messaging, etc.).
- Very specific: line 35
Use %dev. and %test. profile prefixes for dev/test configuration -- never hardcode connection URLs without a profile prefix.
- Distinctive: line 39
If your agent supports subagents, run tests in a subagent so the main conversation stays responsive:
- Very specific: line 49
Use devui-testing_runTests to run all tests.
- Very specific: line 50
Use devui-testing_runTest with arguments {"className":"com.example.MyTest"} to run a specific test class.
- Distinctive: line 51
Do NOT run Maven/Gradle test commands manually -- the Dev MCP test tools handle compilation, hot reload, and result reporting.
- Distinctive: line 52
After fixing test failures, re-run tests (via a subagent if supported) to verify the fix.
- Very specific: line 54
If the test runner gets stuck returning "Tests already in progress", do a full quarkus_stop + quarkus_start cycle to reset the test runner …
- Distinctive: line 58
When something goes wrong (compilation error, deployment failure, runtime exception):
- Very specific: line 60
Use quarkus_callTool with toolName devui-exceptions_getLastException to get structured exception details (class, message, stack trace, user …
- Very specific: line 62
Call devui-exceptions_clearLastException to clear the recorded exception.
- Very specific: line 63
Use quarkus_logs only when you need broader log context beyond the exception itself.
- Very specific: line 74
Use quarkus_saveSkill to materialize the full composed skill into .agent/skills/, then edit the file directly to customize it for the …
≈ “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.
Files
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:
- Search for Quarkus extensions that provide the capability using
quarkus_searchDocsandquarkus_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. - 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.
- Load skills with
quarkus_skillsfor 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
- 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 thequarkus-updateskill to check if the Quarkus version is up-to-date. - 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.
- 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_searchToolsafter any extension change to discover newly available tools. Note: some extension-specific tools are also documented in the skills output (see step 1). - Use quarkus_callTool to invoke Dev MCP tools -- run tests, add extensions, update configuration. Do NOT run Maven/Gradle commands manually.
- After code changes, trigger a reload via
quarkus_callToolwith toolNamedevui-logstream_forceRestart. Do NOT restart the app manually. - After pom.xml / build.gradle changes (adding dependencies or extensions), you MUST do a full
quarkus_stop+quarkus_startcycle. AforceRestartonly 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
@QuarkusTestfor 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_runTeststo run all tests. - Use
devui-testing_runTestwith 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 cleanorgradle cleanwhile dev mode is running -- it deletestarget/test-classesand 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_startcycle to reset the test runner state.
Error Handling
When something goes wrong (compilation error, deployment failure, runtime exception):
- Use
quarkus_callToolwith toolNamedevui-exceptions_getLastExceptionto get structured exception details (class, message, stack trace, user code location). - Fix the issue based on the exception details.
- Call
devui-exceptions_clearLastExceptionto clear the recorded exception. - Use
quarkus_logsonly 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.
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
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.

