[ 
https://issues.apache.org/jira/browse/SOLR-18076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18053031#comment-18053031
 ] 

Jan Høydahl edited comment on SOLR-18076 at 1/20/26 12:33 PM:
--------------------------------------------------------------

See 
[https://vibe-coding-manifesto.com/#project-automation-for-the-vibe-codingreview-workflow]
 for description and example of such a file. The manifesto suggests it to be 
somewhat shorter than and can work in tandem with tool-specific prompt files. 
Here are some examples of what I believe would make up good rules for Solr:
 * Follow Apache Software Foundation licensing rules, avoid adding a dependency 
with a banned license
 * Use the project's custom EnvUtils to read system properties. It auto 
converts env.var SOLR_FOO_BAR to system property solr.foo.bar
 * We use gradle version-catalog toml file to encode dependency versions, never 
add versions directly to build.gradle files
 * We use the "cutterslade-analyze" plugin which requires explicit recording of 
all dependencies in a build.gradle file
 * Always run "gradlew tidy" after editing files
 * Always run "gradlew updateLicenses resolveAndLockAll --write-locks" after 
adding or changing a dependency. See dev-docs/gradle-help/dependencies.txt for 
more info
 * Always run "gradlew check -x test" before delcaring a feature done
 * Respect our .editorconfig
 * Always add the Apache License to new source files
 * When adding new unit tests, avoid using XXX and use TestRule XXX instead
 * For major or breaking changes, add a prominent note in reference guide 
major-changes-in-solr-X.adoc
 * Always consider whether a reference-guide page needs updating due to the 
new/changed features. Target audience is end user
 * For changes to build system and other developer-focused changes, consider 
updating or adding docs in dev-docs/ folder
 * Keep all documentation including javadoc concise
 * We use logchange as changelog tool. Add a new file 
changelog/unreleased/SOLR-XXXX-describe-your-feature.yml for each change, see 
dev-docs/changelog.adoc
 * See dev-docs/gradle-help/tests.txt for hints on running tests

etc...


was (Author: janhoy):
See 
[https://vibe-coding-manifesto.com/#project-automation-for-the-vibe-codingreview-workflow]
 for description and example of such a file. The manifesto suggests it to be 
somewhat shorter than and can work in tandem with tool-specific prompt files. 
Here are some examples of what I believe would make up good rules for Solr:
 * Follow Apache Software Foundation licensing rules, avoid adding a dependency 
with a banned license
 * Use the project's custom EnvUtils to read system properties. It auto 
converts env.var SOLR_FOO_BAR to system property solr.foo.bar
 * We use gradle version-catalog toml file to encode dependency versions, never 
add versions directly to build.gradle files
 * We use the "cutterslade-analyze" plugin which requires explicit recording of 
all dependencies in a build.gradle file
 * Always run "gradlew tidy" after editing files
 * Always run "gradlew updateLicenses resolveAndLockAll --write-locks" after 
adding or changing a dependency
 * Always run "gradlew check -x test" before delcaring a feature done
 * Respect our .editorconfig
 * Always add the Apache License to new source files
 * When adding new unit tests, avoid using XXX and use TestRule XXX instead
 * For major or breaking changes, add a prominent note in reference guide 
major-changes-in-solr-X.adoc
 * Always consider whether a reference-guide page needs updating due to the 
new/changed features. Target audience is end user
 * For changes to build system and other developer-focused changes, consider 
updating or adding docs in dev-docs/ folder
 * Keep all documentation including javadoc concise
 * We use logchange as changelog tool. Add a new file 
changelog/unreleased/SOLR-XXXX-describe-your-feature.yml for each change

etc...

> Add a PROMPTING.md or similar for AI agents
> -------------------------------------------
>
>                 Key: SOLR-18076
>                 URL: https://issues.apache.org/jira/browse/SOLR-18076
>             Project: Solr
>          Issue Type: Wish
>            Reporter: Jan Høydahl
>            Priority: Major
>
> I came across 
> [https://vibe-coding-manifesto.com|https://vibe-coding-manifesto.com/] which 
> outlines several best practices for AI contributions to a project. We encode 
> some of these already in 
> [https://github.com/apache/solr/pull/3946|https://github.com/apache/solr/pull/3946.].
>  But there is a recommendation for a {{PROMPTING.md}} file in the git repo to 
> help AI agents follow project guidelines and preferences.
> This Jira is to discuss whether we should add such a file and what it should 
> contain. Until there is a formal standard for such files, it seems as 
> {{PROMPTING.md}} is the best choice.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to