Перейти к основному содержимому

Конфигурация

ArchiCore настраивается через файлы конфигурации и переменные окружения.

Файлы конфигурации

Конфигурация проекта

Расположена в .archicore/config.json в корне проекта:

{
"project": {
"name": "my-project",
"description": "Мой проект"
},
"index": {
"include": ["src/**/*", "lib/**/*"],
"exclude": ["node_modules", "dist", "*.test.ts"],
"languages": ["typescript", "javascript"]
},
"analysis": {
"maxFileSize": 1048576,
"maxFiles": 10000
},
"rules": {
"enabled": true,
"configPath": ".archicore/rules.json"
}
}

Глобальная конфигурация

Расположена в ~/.archicore/config.json:

{
"api": {
"baseUrl": "https://api.archicore.io/api",
"timeout": 30000
},
"cli": {
"theme": "dark",
"language": "ru"
}
}

Параметры индексации

ПараметрТипПо умолчаниюОписание
includestring[]["**/*"]Glob-паттерны для включения
excludestring[]["node_modules"]Glob-паттерны для исключения
languagesstring[]autoЯзыки для индексации
maxFileSizenumber1048576Макс. размер файла в байтах
maxFilesnumber10000Макс. количество файлов

Переменные окружения

ПеременнаяОписание
ARCHICORE_API_KEYAPI-ключ для аутентификации
ARCHICORE_API_URLПользовательский URL API
ARCHICORE_DEBUGВключить отладочное логирование
ARCHICORE_NO_COLORОтключить цветной вывод

Правила архитектуры

Определите правила в .archicore/rules.json:

{
"rules": [
{
"id": "no-circular-deps",
"name": "Запрет циклических зависимостей",
"type": "dependency",
"severity": "error"
},
{
"id": "layer-isolation",
"name": "Изоляция слоёв",
"type": "import",
"severity": "warning",
"config": {
"layers": {
"controllers": ["services"],
"services": ["repositories", "utils"],
"repositories": ["models"]
}
}
}
]
}

Игнорирование файлов

Создайте .archicoreignore в корне проекта:

# Зависимости
node_modules/
vendor/

# Сборка
dist/
build/

# Тесты
**/*.test.ts
__tests__/

# Сгенерированные файлы
*.generated.ts
*.d.ts