mcpField
B
bitrix-orm

bitrix-orm

github.com/bxmaximumDevelopment47313 installsUpdated 2w ago
Repository

About bitrix-orm

A reference skill for Bitrix developers using the D7 ORM. It organizes query, collection, write, and cache-security rules, with guidance on modern namespaces and handling user input.

Key features

  1. 01Query and field mapping rules
  2. 02Collection operation guidance
  3. 03CRUD and batch writes
  4. 04Event, cache, and security constraints

Use cases

  1. 01Writing Bitrix D7 ORM queries
  2. 02Implementing collection saves and relations
  3. 03Reviewing write and cache behavior
  4. 04Preventing request data in query structures

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/bxmaximum/bitrix-framework-skills --skill bitrix-orm

After installing, type/bitrix-ormin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

rules/
collections.md
events-cache-security.md
reading.md
tablet-map.md
writing.md

Details

From the project README

Bitrix D7 ORM

Baseline: main 23.0+ · Verified: main 26.800.0

TaskRead
Tablet, field types, ArrayField, data modifiers, relations, UFrules/tablet-map.md
query(), filters, runtime fields, DISTINCT, paginationrules/reading.md
Collections: save, remove, relations, find/filter, keysrules/collections.md
add/update/delete, batch, atomic increments, merge, deleteByFilterrules/writing.md
ORM events, query cache, user input in queriesrules/events-cache-security.md

Invariants

  • Namespace Bitrix\Main\ORM\*. Bitrix\Main\Entity\* is a legacy alias list (main/include/compatibility.php): don't write it in new code or mix both in one file.
  • Build queries with XxxTable::query(), never new Query(XxxTable::getEntity()): query() honours the tablet's getQueryClass().
  • add/update/delete/save() run events and cleanCache(). MergeTrait::merge() and deleteByFilter() fire no events; raw SQL also leaves the cache stale.
  • A collection has no delete(); remove() only detaches in memory.
  • Never pass request data into select, order, group, runtime or ExpressionField without a whitelist.

Comments

Markdown supported