Skip to main content

vue-renderer-standards

Use when editing massCode renderer code in Vue 3, especially for script setup patterns, import rules, composables, shared state, and renderer-side conventions.

Source facts

Repository
massCodeIO/massCode
Last source activity
April 27, 2026 at 07:09
Detected SKILL.md language
Russian
Stars
7,064
Forks
277

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
vue-renderer-standards
description
Use when editing massCode renderer code in Vue 3, especially for script setup patterns, import rules, composables, shared state, and renderer-side conventions.
# Vue Renderer Standards ## Overview Renderer в massCode строится на Vue 3 Composition API с `<script setup lang="ts">`. Здесь важны строгие import rules, composable-first state sharing и запрет на прямой доступ к backend-возможностям. ## Component Pattern - Используй Vue 3 Composition API и `<script setup lang="ts">`. - Vue core (`ref`, `computed`, `watch`, `onMounted` и подобные) не импортируй вручную: они auto-imported. - Проектные компоненты из `src/renderer/components/` тоже не импортируй вручную: они auto-imported. - Локальную логику компонента держи в script, а не в template. ## Manual Imports Only Where Required Всегда импортируй вручную: - composables из `@/composables`; - utils из `@/utils`; - `@vueuse/core`; - Electron bridge из `@/electron`; - Shadcn UI из `@/components/ui/shadcn/*`. ## Shared State - Глобальное shared state реализуется composables без Pinia/Vuex. - Reactive state, который должен шариться между компонентами, объявляй на module level, вне экспортируемой функции composable. - Persistent UI/settings state храни через `store` из `@/electron`: - `store.app` для UI state; - `store.preferences` для user preferences. ## VueUse First - Перед написанием нового composable сначала проверь, нет ли подходящего решения в `@vueuse/core`. - Кастомный composable добавляй только если готового utility реально нет. ## Renderer Boundaries - Renderer не импортирует storage internals или backend-модули доступа к данным напрямую. - Renderer не обращается напрямую к Node.js, filesystem или storage runtime. - Доступ к main process возможен только через `api` или `ipc`. ## Common Mistakes - Ручной импорт `ref` / `computed` / `watch`. - Ручной импорт локальных project components. - Локальный state внутри composable, который должен быть общим между несколькими компонентами. - Попытка “срезать путь” и импортировать backend-модуль прямо в renderer.
View on GitHub