agentsclimarketplace

Bitrix vue

Skill bxmaximum/bitrix-framework-skills/skills/bitrix-vue

Covers BitrixVue 3 — ui.vue3 / ui.vue3.bitrixvue, createApp, integration with Bitrix localization and REST, migration from Vue 2. Applied when building reactive admin/public UI with Vue inside Bitrix. Key terms — BitrixVue, ui.vue3.bitrixvue, Vue 3, createApp, Loc.From its SKILL.md

Install
npx -y skills add bxmaximum/bitrix-framework-skills --skill bitrix-vue

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 19 stars19 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.1 KB, 773 tokens by cl100k_base, as published. Nobody here has run it

BitrixVue 3

BitrixVue 3 wraps Vue 3 for use inside Bitrix (ui module 22.100+). Vue 2 is deprecated.

Features:

  • Same Vue 3 API with Bitrix integrations (loc, events, REST).
  • Single shared Vue version across product — no window.Vue pollution.
  • Not suitable for SSR or SFC .vue files requiring server compilation.

Loading

In extension (preferred)

import { BitrixVue } from 'ui.vue3.bitrixvue';
import { Loc } from 'main.core';

BitrixVue.createApp({
    data() {
        return { items: [] };
    },
    mounted() {
        this.loadItems();
    },
    methods: {
        loadItems() {
            BX.ajax.runAction('vendor:module.item.list').then((r) => {
                this.items = r.data.items;
            });
        },
    },
    template: '<div><div v-for="item in items" :key="item.id">{{ item.name }}</div></div>',
}).mount('#app');
  • Import BitrixVue from ui.vue3.bitrixvue (not bare ui.vue3).
  • Import Vue primitives (ref, computed, h, …) from ui.vue3 when needed.
  • Put ui.vue3 / ui.vue3.bitrixvue in config.php rel.

On PHP page (legacy)

\Bitrix\Main\UI\Extension::load('ui.vue3');
<div id="app"></div>
<script>
    BX.BitrixVue.createApp({ /* ... */ }).mount('#app');
</script>

Localization

import { Loc } from 'main.core';
import { BitrixVue } from 'ui.vue3.bitrixvue';

// Messages from lang files loaded via Extension
Loc.getMessage('VENDOR_MODULE_ITEM_TITLE');

// Filter phrases by prefix (BitrixVue helper):
BitrixVue.getFilteredPhrases(vueInstance, phrasePrefix, phrases);
// signature: (vueInstance, phrasePrefix, phrases?) — phrases optional (defaults to instance messages)

Register messages in extension lang/ and load via Extension::load. Do not import Loc from ui.vue3.

REST Integration

BX.rest.callMethod('vendor.module.item.get', { id: 1 }).then((result) => {
    this.item = result.data();
});

TypeScript

IDE definitions: bitrix/modules/ui/install/js/ui/vue3/ui.vue3.d.ts — add as external library if not auto-detected.

Migration from BitrixVue 2

  • Replace Vue.create / BitrixVue.create with BitrixVue.createApp.
  • Update lifecycle hooks (destroyed → unmounted).
  • Remove Vue 2-specific filters and $on/$off on instances.
  • See official migration guide on dev.1c-bitrix.ru.

Checklist

  • BitrixVue 3 only — no Vue 2.
  • BitrixVue from ui.vue3.bitrixvue; Vue APIs from ui.vue3; Loc from main.core.
  • Code in /local/js/ extension, not inline in templates when possible.
  • ui.vue3 / ui.vue3.bitrixvue in config.php rel dependencies.
  • AJAX via BX.ajax.runAction or REST, not raw fetch without CSRF.
  • Localization via Loc, not hardcoded strings.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.