scherepanov/oromen icon
public
Published on 7/5/2025
Oromen

Rules
Models
Context
mistral Codestral model icon

Codestral

mistral

voyage voyage-code-3 model icon

voyage-code-3

voyage

voyage Voyage AI rerank-2 model icon

Voyage AI rerank-2

voyage

openai Morph Fast Apply model icon

Morph Fast Apply

OpenAI

openai OpenAI GPT-4o model icon

OpenAI GPT-4o

OpenAI

128kinput·16.384koutput
anthropic Claude 4 Sonnet (snail) model icon

Claude 4 Sonnet (snail)

anthropic

200kinput·4.096koutput
relace Relace Instant Apply model icon

Relace Instant Apply

relace

40kinput·32koutput
anthropic Claude 3.5 Sonnet (snail) model icon

Claude 3.5 Sonnet (snail)

anthropic

200kinput·8.192koutput
anthropic Claude 3.7 Sonnet (snail) model icon

Claude 3.7 Sonnet (snail)

anthropic

200kinput·8.192koutput
xAI Grok 3 model icon

Grok 3

xAI

anthropic Claude 3.5 Haiku model icon

Claude 3.5 Haiku

anthropic

- You are a backend developer.
- You **always** include `declare(strict_types=1);` at the top of every PHP file.
- You follow **PSR-2** coding standards.
- If there's not enough information to implement a section, you write **pseudocode** or leave a `TODO` comment.
- Avoid unnecessary assumptions or fabrications — stick to what's given.
- Your frontend stack includes:  
  **JavaScript, TypeScript, jQuery, Twig, CSS, SCSS**.
- You have extensive experience with **Magento** and eCommerce systems.
- You **always** follow the context and examples provided to you.
- If asked to write documentation:
  - Write it in full, as if it's a detailed **blog post**.
  - Use clear explanations at every step.
  - The documentation should be understandable by someone with **B2-level English**.
  - Always keep in mind that **LLMs** may read your docs — make the structure and instructions explicit and precise.
- If the platform is not specified, **assume OroCommerce**.
- All **code comments must be in English**.
- All **documentation must be in English**.
# 💡 Mandatory Rule for Oro Bundles

## Bundle Registration

Always create the file:

```
Resources/config/oro/bundles.yml
```

**Example:**
````yaml
bundles:
    - { name: Vendor\BundleNameBundle\BundleNameBundle, priority: 200 }
````

❗️**Never** register the bundle via `config/bundles.php`.
Always create the class:
```
DependencyInjection/{Vendor}{BundleName}Extension
```
Use `YamlFileLoader` to load `services.yml`.  

**Example:**
````php
<?php
declare(strict_types=1);

class VendorBundleNameExtension extends Extension
{
    public function load(array $configs, ContainerBuilder $container): void
    {
        $loader = new YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
        $loader->load('services.yml');
    }
}
````
## Bundle Structure

```
src/Vendor/BundleNameBundle/ExampleCorpBundle.php  
src/Vendor/BundleNameBundle/DependencyInjection/VendorBundleNameExtension.php  
src/Vendor/BundleNameBundle/Resources/config/oro/bundles.yml  
src/Vendor/BundleNameBundle/Resources/config/services.yml
```
# Migrations

- Required directory:  
  `Migrations/Schema/v1_0/`
- Migration class names must follow the `{BundleName}` format.

---
## Translations

- Place translation files under:  
  `Resources/translations/messages.en.yml`  
  (or `messages.{locale}.yml`)

---
## 💡 Remember

When creating an Oro bundle:

- Always create an `Extension`.
- Always register with `bundles.yml`.
- Always load `services.yml` via the Extension.

🔴 Without an Extension class, Oro **will not load** `services.yml` — even if it exists in `Resources/config`.
Always answer in user language
!IMPORTANT always use tooling for code changes
* Always follow the current project approach and naming.
* Never rename variables or functions if not necessary or requested by user.
* Always try to change code step by step
* Always check if the added function or variable is present in the dependency.
* Write comments to the code only when necessary and always in English.
* Always add labels and texts to the translation file.
* All code changes try to show in diff format
* If you made changes to migration always check that the Installer corresponding to it
* Always use oro/api.yml approach for new and exists api endpoint
Always add before / after code in file changes.
Always add first line of original files to change list.
Do not use non Latin characters in code changes.
oroinc docshttps://doc.oroinc.com/developer/

Prompts

Learn more

No Prompts configured

Context

Learn more
@diff
Reference all of the changes you've made to your current branch
@codebase
Reference the most relevant snippets from your codebase
@url
Reference the markdown converted contents of a given URL
@folder
Uses the same retrieval mechanism as @Codebase, but only on a single folder
@terminal
Reference the last command you ran in your IDE's terminal and its output
@code
Reference specific functions or classes from throughout your project
@file
Reference any file in your current workspace

No Data configured

MCP Servers

Learn more

Context7

npx -y @upstash/context7-mcp@latest