[AI-211]: Generate standardized metadata files for AI agents#115
[AI-211]: Generate standardized metadata files for AI agents#115Nightwing-77 wants to merge 4 commits intoopenMF:developfrom
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdded five new repository-level documentation and configuration files describing the agent identity, runtime/build requirements, REST routes and permissions, coding/security/testing standards, AI-agent procedural rules, and a concise repository overview. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 7
🧹 Nitpick comments (1)
skills.md (1)
164-170: Make repository and unit-test examples internally consistent.The repository sample declares
void save(...), but the test sample stubssave(...)with a return value. Align one pattern to avoid invalid example code.Also applies to: 239-239
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills.md` around lines 164 - 170, The repository and its unit-test examples disagree on the save method signature: the SelfSavingsRepository currently declares void save(SelfSavingsAccount) while tests stub a save(...) that returns a value. Make them consistent by updating the repository save signature to return SelfSavingsAccount (change void save(SelfSavingsAccount) to SelfSavingsAccount save(SelfSavingsAccount)) and adjust any usages/tests to expect and return the saved SelfSavingsAccount, ensuring references to SelfSavingsRepository and SelfSavingsAccount in tests match the new return type.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@agent.yaml`:
- Line 26: The permission code "READ_LOANPRODUCTS" in agent.yaml is incorrect
and should be changed to the platform-expected "READ_LOANPRODUCT"; update the
permission value (replace the string literal READ_LOANPRODUCTS with
READ_LOANPRODUCT) so runtime authorization mapping for loan product access
matches the platform, and ensure any references to the old constant/string are
also updated (search for "READ_LOANPRODUCTS" and replace with
"READ_LOANPRODUCT").
- Around line 18-19: The declared spring_boot_version value is out of sync with
Fineract 1.15.0-SNAPSHOT's pinned baseline; update the spring_boot_version entry
to "3.5.6" so it matches the fineract_version baseline (fineract_version:
"1.15.0-SNAPSHOT") and avoid metadata drift—locate the spring_boot_version key
in the agent.yaml and change its value from "3.5.13" to "3.5.6".
In `@AGENTS.md`:
- Line 46: Update the Liquibase migration path in the AGENTS.md docs so it
points to the repository's actual changelog location: replace references to
`db/migration` with `db/changelog/...` (or the exact `db/changelog/<subdirs>`
used in the repo) to ensure instructions and examples (the migration path
string) correctly reference the `db/changelog` directory where changelogs
actually live.
In `@SKILL.md`:
- Line 1: Update the top-level heading string "Skills of Mifos Self Service
Plugin Agent" to use hyphenation consistent with docs by changing it to "Skills
of Mifos Self-Service Plugin Agent" (update the exact heading text in SKILL.md).
In `@skills.md`:
- Line 1: The heading string "# Skills Guide for Mifos Self Service Plugin"
should use standard hyphenation; update the title to read "# Skills Guide for
Mifos Self-Service Plugin" (replace "Self Service" with "Self-Service") so the
file's top-level heading follows the preferred style.
- Around line 33-46: The fenced code block containing the package structure
(starting with "org.apache.fineract.selfservice.*") is missing a language
identifier causing markdown lint errors; add a language tag (e.g., "text") to
the opening fence of that block so it becomes ```text and leave the contents
unchanged; update the fenced block around the package list in skills.md to
include this tag.
In `@SOUL.md`:
- Line 1: The title header "# Soul of Mifos Self Service Plugin Agent" uses
"Self Service" without a hyphen; update the heading text to use standard
hyphenation "Self-Service" so the title reads "# Soul of Mifos Self-Service
Plugin Agent" to maintain consistency across documentation.
---
Nitpick comments:
In `@skills.md`:
- Around line 164-170: The repository and its unit-test examples disagree on the
save method signature: the SelfSavingsRepository currently declares void
save(SelfSavingsAccount) while tests stub a save(...) that returns a value. Make
them consistent by updating the repository save signature to return
SelfSavingsAccount (change void save(SelfSavingsAccount) to SelfSavingsAccount
save(SelfSavingsAccount)) and adjust any usages/tests to expect and return the
saved SelfSavingsAccount, ensuring references to SelfSavingsRepository and
SelfSavingsAccount in tests match the new return type.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 3337c332-1c4c-40b0-83a1-23c8a0fc826d
📒 Files selected for processing (6)
AGENTS.mdSKILL.mdSOUL.mdagent.yamlllms.txtskills.md
SKILL.md
Outdated
| @@ -0,0 +1,164 @@ | |||
| # Skills of Mifos Self Service Plugin Agent | |||
There was a problem hiding this comment.
Standardize heading hyphenation.
Use “Self-Service” in the title for consistency with the rest of the documentation set.
Proposed fix
-# Skills of Mifos Self Service Plugin Agent
+# Skills of Mifos Self-Service Plugin Agent📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # Skills of Mifos Self Service Plugin Agent | |
| # Skills of Mifos Self-Service Plugin Agent |
🧰 Tools
🪛 LanguageTool
[grammar] ~1-~1: Use a hyphen to join words.
Context: # Skills of Mifos Self Service Plugin Agent ## Authentication ...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@SKILL.md` at line 1, Update the top-level heading string "Skills of Mifos
Self Service Plugin Agent" to use hyphenation consistent with docs by changing
it to "Skills of Mifos Self-Service Plugin Agent" (update the exact heading text
in SKILL.md).
|
@Nightwing-77 there are some comments provided by Code Rabbit, could you please double check them? |
DeathGun44
left a comment
There was a problem hiding this comment.
Thanks for addressing the CodeRabbit comments most of the flagged issues look resolved. A few things still need attention before this is ready to merge:
Spring Boot version inconsistency (agent.yaml vs AGENTS.md / llms.txt)
agent.yaml declares spring_boot_version: "3.5.6" but both AGENTS.md and llms.txt reference Spring Boot 3.5.13. Please align these AI agents reading both files will get contradictory information.
license: "Apache-2.0" is incorrect. This repository is licensed under MPL-2.0 (Mozilla Public License 2.0), as shown in pom.xml and the GitHub repo metadata. Please correct this.
The repository interface example declares void save(SelfSavingsAccount account) but the unit test example stubs it with when(repository.save(any())).thenReturn(expectedAccount). You can't stub a void method to return a value please make these consistent (either change the repository signature to SelfSavingsAccount save(...) or fix the test stub to use doNothing()).
skills.md is described as "UI/UX patterns and coding guidelines" but it contains Java/Spring Boot backend patterns with no UI content. Please update the description to match the actual content.
makes sense ,i'll fix them!! thanks |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@AGENTS.md`:
- Around line 60-70: The fenced code block that lists the project directories
(starting with the line "src/main/java/org/apache/fineract/selfservice/") is
missing a language specifier; update the opening fence to include a language
identifier (e.g., add "```text") so the block renders correctly in Markdown and
keep the same block contents (the directory lines such as "security/",
"useradministration/", "client/", etc.).
- Line 11: Replace all occurrences of the outdated Spring Boot patch version
3.5.6 with 3.5.13: update the "Framework" entry in AGENTS.md that currently
reads "Spring Boot 3.5.6" to "Spring Boot 3.5.13" and make matching edits in
metadata references inside agent.yaml and llms.txt so every mention of "3.5.6"
is changed to "3.5.13" to ensure consistent, up-to-date patching across the
repo.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: b88e7d37-c7a5-4274-aaaa-54e268a5078b
📒 Files selected for processing (4)
AGENTS.mdagent.yamlllms.txtskills.md
✅ Files skipped from review due to trivial changes (3)
- llms.txt
- skills.md
- agent.yaml
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
In skills.md, the Transaction Management example calls repository.save(account) but ignores the return value and then uses account.getId() on the original object. This is wrong the ID should come from the saved entity. AI agents following this example will generate buggy code.
In agent.yaml, the deployment list still includes "standalone", but both AGENTS.md and skills.md correctly say this is a plugin that runs inside Fineract, not on its own. That entry contradicts everything else and should just be removed.
|
@Nightwing-77 please address these concerns |
i've squashed the commits and addressed the issues you pointed out! also i've removed the standalone from agents.yaml |
DeathGun44
left a comment
There was a problem hiding this comment.
i need clarification from @IOhacker on the licensing other than that
LGTM.
|
Licensing for new files should be MPL
El vie., 10 de abril de 2026 1:34 a. m., Krishna Mewara <
***@***.***> escribió:
… ***@***.**** approved this pull request.
i need clarification from @IOhacker <https://github.com/IOhacker> on the
licensing other than that
LGTM.
—
Reply to this email directly, view it on GitHub
<#115 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALD2ZAQEHZUF2DXJGX67DIT4VCPWZAVCNFSM6AAAAACXSA5L6CVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHM2DAOBYGA4TKOJTGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I’ve updated the licensing accordingly. |
JIRA TICKET:https://mifosforge.jira.com/browse/AI-211
Description
Adding standard AI context files to improve repository's compatibility with AI coding assistants
AGENTS.md: Comprehensive development guide providing environment setup, architectural overview, coding standards, security guidelines, and testing patterns for AI agents working with the Mifos Self Service Plugin.
llms.txt: Runtime LLM context file following the llms.txt standard, providing brief project overview and links to detailed documentation for AI-friendly content retrieval.
skills.md: Procedural Java coding guidelines defining Spring Boot patterns, JAX-RS API design, security implementation, testing strategies, and best practices specific to the selfservice-plugin domain.
agent.yaml: Technical configuration manifest defining agent metadata, capabilities, integration points, and runtime requirements for modern AI agent frameworks.
SOUL.md: Agent identity and persona definition establishing the plugin's role as a financial self-service empowerment guardian with empathetic and secure personality traits.
Files Added
Summary by CodeRabbit