Skip to main content

architecture-standards

Use when working in massCode and you need repo-wide architecture rules, naming conventions, decomposition boundaries, or guidance on which massCode skill to load next.

Datos de origen

Repositorio
massCodeIO/massCode
Última actividad en el origen
6 de mayo de 2026 a las 09:04
Idioma detectado de SKILL.md
ruso
Estrellas
7075
Forks
279

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
architecture-standards
description
Use when working in massCode and you need repo-wide architecture rules, naming conventions, decomposition boundaries, or guidance on which massCode skill to load next.
# Architecture Standards ## Overview Базовый принцип проекта: **YAGNI и простота прежде всего**. Не усложняй код ради гипотетических сценариев, не строй абстракции без повторяющейся потребности и не размывай границы между renderer, API и main. ## Core Rules - Соблюдай разделение слоёв: - Renderer: только UI, composables, вызовы `api.*` и `ipc.invoke(...)`. - API: маршруты Elysia, DTO, orchestration и доступ к сервисам и данным приложения. - Main: системные интеграции, IPC handlers, lifecycle и слой данных приложения. - Data flow по умолчанию: Renderer → API / IPC → service / data layer → response. - Vue-компоненты называй в `PascalCase`. - TypeScript-файлы называй в `camelCase`. - Composables именуй с префиксом `use`, а имя файла должно совпадать с экспортируемой функцией. ## YAGNI Guardrails Признаки overengineering: - функция страхуется от кейса, которого реально не существует; - factory или wrapper используется ровно в одном месте и не скрывает состояние; - abstraction-for-abstraction без повторяющейся боли; - константы, паттерны и конфигурации придуманы заранее, а не из реальной потребности. ## Component Decomposition - Если компонент становится больше примерно `300` строк или держит `3+` несвязанных обязанности, дели его. - Порядок разбиения: 1. вынеси константы и статические данные; 2. вынеси чистые функции в utils, только если это реально переиспользуется; 3. перемести состояние и эффекты в composable; 4. разбей шаблон на локальные child components. - Не держи в `<template>` логику сложнее тернарного оператора. ## Feature Subdirectories - Если часть домена выросла в отдельный subsystem, группируй локальные компоненты, helpers, tests и fixtures в поддиректорию. - Внутри поддиректории не повторяй полный родительский префикс в именах файлов. - Локальные файлы держи рядом с фичей. Shared-код, который нужен нескольким областям, оставляй выше уровнем. ## When to Load Other Skills - Vue renderer, auto-imports, composables, shared state: `vue-renderer-standards` - визуальная база, typography, renderer styling decisions: `ui-foundations` - `Ui*`, Shadcn, `cn`, `cva`, notifications: `ui-primitives` - API routes, DTO, IPC, Electron boundaries: `electron-api-and-ipc` - generated API types, utility typing, локальные view-model: `api-and-typing` - `code` / `notes` / `math` / `tools`, состояние spaces и их синхронизация: `spaces-architecture` - i18n, locale keys, `i18n.t(...)`: `i18n` - docs website, docs sidebar, скриншоты, README-упоминания фич: `documentation-workflow` - scoped lint/test и follow-up commands: `development-workflow` ## Common Mistakes - Тянуть DB или filesystem knowledge в renderer. - Раздувать один компонент до “оркестратора всего”. - Выносить абстракцию до появления второй реальной точки использования. - Размазывать одну фичу по плоской структуре файлов, когда ей уже нужен локальный subdirectory. - Придумывать локальные typing-паттерны, хотя для них уже пора иметь отдельный skill.
Ver en GitHub