MarketSquare / MarketSquare/robotframework-ai

Dynamic module discovery

Open
#21 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement good first issue
Dominant language
Python
Stars
38
Forks
6
PR merge metrics
No merged PRs in 30d

Description

In the initialization of the library, all modules are added manually.
Instead it should be done automatically, so new module do not have to be added here every time.
This can be done similarly to how it has been done in the `AI_Interface` and the `RealTestDataGenerator`.
As every module inherits from `Module`, import all its subclasses and add them to the list of libraries indicated by the arrow.

```
def __init__(self) -> None:
"""
Initializes the RobotFrameworkAI library with necessary components like RealTestDataGenerator,
Chatbot, and Assistant, which are integrated to provide AI capabilities to Robot Framework.
"""
libraries = [RealTestDataGenerator(), Chatbot(), Assistant()] <---
DynamicCore.__init__(self, libraries)
```

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the library initialization where the manual libraries list is built, then read the existing discovery approach in AI_Interface and RealTestDataGenerator. Trace the Module subclasses and confirm that newly added modules appear in the resulting library list without manual registration; validate the behavior with the project's relevant tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing-qa
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.