Skip to content

Latest commit

 

History

History
102 lines (72 loc) · 4.36 KB

File metadata and controls

102 lines (72 loc) · 4.36 KB

Участие в разработке

Спасибо за интерес к проекту! Мы рады любому вкладу: от исправления опечаток до новых инструментов.

Начало работы

Требования

  • Go 1.25+
  • Платформа 1С:Предприятие 8.3.x или 8.5.x (для интеграционного тестирования)

Сборка

git clone https://github.com/feenlace/mcp-1c.git
cd mcp-1c
go build -o mcp-1c ./cmd/mcp-1c

Запуск тестов

go test ./... -v -race

Mock-сервер 1С

Для разработки и тестирования без реальной базы 1С используйте встроенный mock-сервер:

go run ./cmd/mock-1c -port 9191

Он эмулирует HTTP-сервис 1С и позволяет работать с MCP-сервером без запущенной платформы.

Расширение 1С

Исходники расширения находятся в extension/src/ в формате XML-выгрузки. При сборке бинарника они встраиваются через go:embed и при --install загружаются напрямую через DESIGNER. Готовый .cfe для сборки не нужен.

Для ручной установки можно собрать .cfe из исходников (требуется платформа 1С):

# macOS / Linux
./scripts/build-extension.sh ~/Documents/InfoBase

# Windows
scripts\build-extension.cmd C:\Users\User\Documents\InfoBase

Как предложить изменения

Баг-репорты и предложения

Используйте Issues с соответствующим шаблоном:

  • Баг-репорт - ошибки в работе сервера или расширения
  • Предложение функциональности - новые возможности и улучшения

Перед созданием issue проверьте, нет ли уже похожего.

Pull Requests

  1. Форкните репозиторий
  2. Создайте ветку от main: git checkout -b my-feature
  3. Внесите изменения
  4. Убедитесь, что тесты проходят: go test ./... -v -race
  5. Откройте Pull Request с описанием изменений

Стиль кода

  • Стандартный Go-стиль, форматирование через gofmt
  • Именование по Effective Go
  • Моки генерируются через go generate ./... (не пишите их вручную)
  • Комментарии к экспортируемым функциям и типам обязательны

Структура проекта

cmd/
  mcp-1c/        # точка входа MCP-сервера
  mock-1c/       # mock-сервер для разработки
internal/        # внутренние пакеты
server/          # реализация MCP-сервера
tools/           # реализация MCP-инструментов
onec/            # клиент к HTTP-сервису 1С
bsl/             # встроенная справка BSL
dump/            # поисковый индекс по выгрузке конфигурации
  index.go       #   полнотекстовый индекс (Bleve), загрузка BSL-файлов
  shard.go       #   шардирование индекса для параллельной сборки
  cache.go       #   дисковый кеш индекса
  analyzer.go    #   BSL-анализатор с поддержкой синонимов (рус↔англ)
  formparser.go  #   парсер Form.xml из выгрузки
prompts/         # MCP-промпты
installer/       # автоустановка расширения
extension/src/   # исходники расширения 1С
scripts/         # скрипты сборки
docs/            # документация

Лицензия

Внося изменения в проект, вы соглашаетесь с тем, что ваш вклад будет распространяться под лицензией MIT.