onebase

module
v0.0.0-...-5365fac Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 23, 2026 License: MIT

README

onebase

English — what this is and why it is in Russian.

Открытая бизнес-платформа со знакомым DSL для учётных задач, написанная на Go.

Одна «информационная база» = конфигурация (справочники, документы, регистры, отчёты) + данные в SQLite или PostgreSQL + пользователи. Управляется через лаунчер — окно запуска информационных баз.

1С, 1С:Предприятие — товарные знаки ООО «1С». Проект OneBase разрабатывается независимо и не аффилирован с ООО «1С».


Установка (Windows)

Вариант 1 — скачать и запустить
  1. Скачать архив со страницы Releases:
    onebase-windows-amd64.zip
  2. Распаковать в любую папку, например C:\onebase\
  3. Двойной клик на onebase-gui.exe — откроется лаунчер в нативном окне

Что в архиве:

onebase-gui.exe   ← двойной клик — запускает лаунчер в нативном окне
onebase.exe       ← CLI-инструмент (для терминала и сервера)
examples/         ← примеры конфигураций (8 штук)
Вариант 2 — установщик PowerShell
irm https://raw.githubusercontent.com/ivanarama/onebase/main/install.ps1 | iex

Кладёт onebase.exe в %USERPROFILE%\.onebase\bin\ и добавляет в PATH.

Linux
tar xzf onebase-linux-amd64.tar.gz          # arm64: onebase-linux-arm64.tar.gz
sudo mv onebase-linux-amd64/onebase /usr/local/bin/
onebase start

Обновляете уже установленную копию? Шаг sudo mv обязателен: скачанный архив распаковывается в подкаталог и сам по себе ничего не заменяет — команда onebase продолжит звать старый файл из PATH. Проверить, какой бинарь отвечает, можно так:

onebase version     # версия, коммит и путь исполняемого файла
macOS
tar xzf onebase-darwin-arm64.tar.gz         # Apple Silicon (M1 и новее)
sudo mv onebase-darwin-arm64/onebase /usr/local/bin/
onebase start

Для Mac на Intel — onebase-darwin-amd64.tar.gz.

Какой архив брать
Платформа Архив Нативное окно
Windows на Intel/AMD onebase-windows-amd64.zip да
Windows на ARM onebase-windows-arm64.zip нет, лаунчер откроется в браузере
Linux x86-64 onebase-linux-amd64.tar.gz
Linux ARM (Raspberry Pi, мини-ПК, NAS) onebase-linux-arm64.tar.gz
macOS Apple Silicon onebase-darwin-arm64.tar.gz
macOS Intel onebase-darwin-amd64.tar.gz

Нативное окно (onebase-gui.exe) собирается только под Windows на Intel/AMD: оно требует WebView2 через CGo, а C-тулчейна под ARM в релизной сборке нет. На Windows ARM бери onebase-windows-arm64.zip — сервер и CLI там нативные, лаунчер открывается в браузере; если нужно именно нативное окно, подойдёт amd64-архив, Windows запустит его через эмуляцию x64.

Требования
  • Для файловой базы отдельный сервер БД не нужен: SQLite встроен в бинарь
  • PostgreSQL 14+ (локально или сетевой) — опционально, для высокой параллельной нагрузки и серверной эксплуатации
  • Windows 10/11 с Edge (для нативного окна) — или любой браузер

Быстрый старт

1. Запустить лаунчер
onebase-gui.exe   ← двойной клик в проводнике

или из терминала:

.\onebase.exe start
2. Создать базу

В лаунчере нажать «+ Добавить»:

Поле Пример
Наименование Склад
Тип хранения конфигурации В базе данных (1С-режим)
Тип базы данных Файловая (SQLite)
Путь к файлу SQLite C:\onebase\sklad.db
Порт сервера 8080
Создать пустую конфигурацию (новая база)

Нажать «Добавить» — база зарегистрирована, конфигурация создана автоматически.

3. Запустить базу

Выбрать базу в списке → «Предприятие». В GUI-сборке база откроется в нативном окне WebView2, в обычной сборке лаунчера — в браузере.

Один сервер базы обслуживает много пользователей. Кнопка «Новое окно» открывает дополнительное окно с изолированным профилем — нативное, если оно доступно, иначе Edge/Chrome/Chromium. В меню рядом можно явно выбрать «Окно браузера (Edge/Chrome)». В новом профиле можно войти под другим пользователем, не задевая остальные окна; профиль помнит вход. Несколько сессий одного пользователя разрешены; администратор может завершать их по отдельности в «Администрирование → Активные пользователи». Кнопки «Остановить»/«Стоп всё» останавливают сервер базы, но не закрывают внешние окна — они покажут «сервер недоступен».

Если базы работают, при закрытии лаунчер по умолчанию спрашивает: продолжить в фоне или остановить все. Политику можно выбрать в поле «При закрытии». При фоновом режиме открытые окна продолжают работать, а следующий запуск лаунчера подхватит живые базы и покажет их как работающие. Явная остановка всех баз — кнопка «Стоп всё».

4. Создать пользователей (опционально)

В веб-интерфейсе базы: Администрирование → Пользователи → + Добавить.
Пока пользователей нет — вход без пароля. Первый пользователь должен быть администратором; после его создания вход только авторизовавшись.


Команды CLI

Команда Описание
onebase start Открыть лаунчер информационных баз
onebase ibases list Список зарегистрированных баз
onebase ibases add --name ... --sqlite ... --port ... Зарегистрировать SQLite-базу (--db — PostgreSQL)
onebase ibases remove --id ... Удалить регистрацию
onebase dev --project ./my-app --sqlite ./my-app.db [--open] Dev-сервер: hot reload, страница обновляется сама, --open открывает браузер
onebase run --project ./my-app --sqlite ./my-app.db Production-сервер (файловый режим)
onebase migrate --project ./my-app --sqlite ./my-app.db Применить схему БД (--db — PostgreSQL)
onebase init [dir] Создать заготовку нового проекта
onebase langref Полный справочник встроенного языка (см. docs/dsl-reference.md)

Архитектура: платформа / конфигурация / база

Структура повторяет привычную учётным разработчикам модель:

Уровень onebase Физически
Платформа onebase.exe Go-бинарник: рантайм, DSL, REST API, лаунчер
Конфигурация Папка (catalogs/, documents/, ...) или строки в БД YAML + .os скрипты
Информационная база SQLite-файл или PostgreSQL Прикладные и служебные таблицы; при config_source: database — также _onebase_config
Два режима конфигурации

Файловый (config_source: file) — для разработки:

  • Конфигурация в папке на диске под git
  • onebase dev --project ./my-app --sqlite ./my-app.db с hot reload

В базе данных (config_source: database) — для пользователей:

  • Конфигурация хранится в таблице _onebase_config самой базы (SQLite или PostgreSQL)
  • Редактирование через «Конфигуратор» в лаунчере (Выгрузка → правка → Загрузка)
  • Путь к папке скрыт, база — самодостаточная сущность

Сборка из исходников

Требуется Go 1.26.6 (версия зафиксирована в .go-version).

# Консольная версия (без CGo)
go build -o onebase ./cmd/onebase

# GUI-версия с нативным окном (требует CGo и WebView2 на Windows)
go build -tags webview -ldflags="-H windowsgui" -o onebase-gui ./cmd/onebase
# Тесты
go test ./...

# Интеграционные тесты (требуется PostgreSQL)
export TEST_DATABASE_URL=postgres://localhost/onebase_test
# Наборы используют общую тестовую БД, поэтому запускаются последовательно.
go test -count=1 -tags=integration .
go test -count=1 -tags=integration ./internal/auth
go test -count=1 -tags=integration ./internal/storage
go test -count=1 -tags=integration ./internal/configdb

Примеры конфигураций

В папке examples/ — 8 готовых конфигураций для разных задач:

Папка Назначение Объекты
minimal/ Учебный шаблон — минимальный набор для понимания структуры 1 справочник, 3 документа, 1 регистр, 2 отчёта, роль
trade/ Флагманский пример — торговля и склад с FIFO 7 справочников, 9 документов, 6 регистров, 11 отчётов, 8 обработок, 4 роли
accounting/ Бухгалтерский учёт — двойная запись, план счетов 1 план счетов, 1 бух. регистр, 2 документа
tasks/ Управление задачами — Agile-спринты, тайм-трекинг 4 справочника, 4 документа, 2 регистра, 6 отчётов, перечисления
crm/ CRM — воронка продаж, сделки, контакты 7 справочников, 6 документов, 4 регистра, 10 отчётов
finance/ Домашние финансы — доходы, расходы, цели 6 справочников, 5 документов, 3 регистра, 10 отчётов
callcenter/ Колл-центр (CTI) — приём звонков, скрин-поп, click-to-call 5 справочников, 5 документов, 7 обработок, 10 перечислений, 2 роли
archive/ Делопроизводство — регистрация документов 1 документ, 1 обработка
# Запуск любого примера
onebase dev --project ./examples/trade --sqlite trade_dev.db --open
# → браузер откроется сам на http://localhost:8080/ui, когда сервер будет готов

DSL (язык модулей)

Onebase DSL — язык для написания бизнес-логики, синтаксис знаком разработчикам учётных систем. Файлы .os в папке src/.

// Проведение документа — FIFO списание партий
Процедура ОбработкаПроведения()
  Движения.ПартииТоваров.Очистить();

  Запрос = Новый Запрос;
  Запрос.Текст = "ВЫБРАТЬ ДатаПоставки, КоличествоОстаток, СуммаОстаток
                  ИЗ РегистрНакопления.ПартииТоваров.Остатки()
                  ГДЕ Номенклатура = &Ном И КоличествоОстаток > 0
                  УПОРЯДОЧИТЬ ПО ДатаПоставки";
  Запрос.УстановитьПараметр("Ном", Строка.Номенклатура);

  Партии = Запрос.Выполнить();
  Для Каждого Партия Из Партии Цикл
    Если Остаток <= 0 Тогда
      Прервать;
    КонецЕсли;
    Дв = Движения.ПартииТоваров.Добавить();
    Дв.ВидДвижения = "Расход";
    Дв.Количество = КолВоИзПартии;
  КонецЦикла;
КонецПроцедуры
Ключевые возможности языка
Конструкция Пример
Переменные Сумма = 0;
Условия Если Сумма > 0 Тогда ... КонецЕсли;
Циклы Для Каждого Э Из Массив Цикл ... КонецЦикла;
Прерывание цикла Прервать;
Пропуск итерации Продолжить;
Попытка/Исключение Попытка ... Исключение ... КонецПопытки;
Запросы Запрос = Новый Запрос; Запрос.Выполнить();
Транзакции НачатьТранзакцию(); ЗафиксироватьТранзакцию();
Коллекции Новый Массив, Новый Структура, Новый Соответствие
Печатные формы Новый ТабличныйДокумент
HTTP-запросы HTTPЗапрос("GET", "https://...")

Полный справочник языка — docs/dsl-reference.md: 155 функций, 150 методов объектов, 18 конструкций и 37 элементов языка запросов, с сигнатурами, параметрами и примерами. Открывается прямо здесь, на GitHub — качать платформу, чтобы посмотреть язык, не нужно.

Справочник генерируется из самой платформы (onebase langref), поэтому не может разойтись с ней: сверка живёт в тестах.


Диаграммы в отчётах

Отчёты поддерживают графики через ECharts. Диаграмма создаётся программно в DSL.

YAML отчёта — добавьте chart_proc:

name: ВаловаяПрибыль
query: |
  ВЫБРАТЬ Номенклатура, СУММА(Выручка) КАК Выручка,
         СУММА(Выручка) - СУММА(Себестоимость) КАК ВаловаяПрибыль
  ИЗ РегистрНакопления.ВаловаяПрибыль
  СГРУППИРОВАТЬ ПО Номенклатура
chart_proc: СформироватьДиаграмму

Редактирование в конфигураторе — откройте отчёт в дереве метаданных → поле «Процедура диаграммы» → редактор «Код диаграммы (.rep.os)». Код сохраняется в src/ИмяОтчёта.rep.os автоматически.

DSL-процедура — файл src/ВаловаяПрибыль.rep.os:

Процедура СформироватьДиаграмму()
  Д = Новый Диаграмма;
  Д.Заголовок = "Валовая прибыль по номенклатуре";
  Д.Тип = "Гистограмма";        // Гистограмма / Линейная / Круговая

  СерияВ = Д.Серии.Добавить();
  СерияВ.Имя = "Выручка";
  СерияП = Д.Серии.Добавить();
  СерияП.Имя = "Прибыль";

  Для Каждого Стр Из Результат Цикл
    Т = Д.Точки.Добавить();
    Т.Значение = Стр.Номенклатура;
    СерияВ.УстановитьЗначение(Т, Стр.Выручка);
    СерияП.УстановитьЗначение(Т, Стр.ВаловаяПрибыль);
  КонецЦикла;

  Возврат Д;
КонецПроцедуры

Данные запроса доступны через переменную Результат (Массив из Структура).

  • Типы диаграмм: Гистограмма (bar), Линейная (line), Круговая (pie)
  • Свойства: Заголовок, Тип, Легенда, Подписи, Подсказки

Что менялось между версиями

CHANGELOG.md — сводка по версиям со ссылками на полные заметки в docs/releases/. Смотрите туда перед обновлением движка на рабочей базе.

Между версиями каждый коммит в main выходит автосборкой build-NNN; что в них появилось — в docs/features.md, с инструкциями «как попробовать».


Поддержать проект

Проект развивается в свободное время. Если OneBase оказался полезным — буду рад поддержке:

Способ Реквизиты
TON / USDT UQDmhcdNyqut5nE8K7yJCvXwNST2qMIBk5gRgFInpO7eBO-x
ЮMoney (карта РФ) yoomoney.ru/to/41001428157040

Публикации

Свежее:

Полный список статей и видео — docs/publications.md.

Инфостарт


Авторы

Платформа OneBase — © 2026 Иван Титов. Код написан Иваном Титовым, в том числе с использованием инструментов разработки на базе ИИ (Claude Code). Согласно позиции разработчиков таких инструментов и применимому законодательству (в РФ — ст. 1257 ГК РФ), ИИ-ассистент является инструментом, а права на созданный по заданиям человека код принадлежат автору задания. Пометки вида Generated-with в истории git — указание на использованный инструмент, а не передача авторских прав.

Авторство и лицензия конкретной конфигурации задаются в её свойствах (config/app.yaml: author / copyright / license) и видны в пользовательском режиме на экране «О программе».


Лицензия

MIT © 2026 Иван Титов

1С, 1С:Предприятие — товарные знаки ООО «1С». OneBase разрабатывается независимо, не аффилирован с ООО «1С» и не является его продуктом.

Конвертеры onebase convert (импорт XML-выгрузки конфигурации) и onebase forms convert-from-1c / convert-to-1c (двусторонний обмен управляемыми формами) работают только с публичными текстовыми форматами выгрузки конфигурации (XML и BSL), которые открыты по спецификации EDT и используются сторонними инструментами (OScript, EDT-плагины). Все маппинги типов реквизитов, событий и элементов форм реализованы как собственные таблицы соответствий по общедоступной документации. Лексер Module.bsl — минимальный токенизатор без построения синтаксического дерева; тела процедур копируются как цитаты для интероперабельности, без реверс-инжиниринга исполнения.

Имена ссылочных типов (CatalogRef.X, DocumentRef.X) — общеупотребительные термины русскоязычного бизнес-софта, не охраняемые товарные знаки. Упоминания 1С:Предприятие в репозитории — исключительно для описания совместимости при импорте/экспорте данных.

Directories

Path Synopsis
cmd
onebase command
internal
aiassist
Package aiassist связывает DSL-интерфейс ИИ-помощника (interpreter.AIAssistant) с ядром internal/llm и конфигом базы.
Package aiassist связывает DSL-интерфейс ИИ-помощника (interpreter.AIAssistant) с ядром internal/llm и конфигом базы.
aicontext
Package aicontext строит компактный текстовый срез конфигурации для системного промпта ИИ (пользовательский чат и конфигуратор).
Package aicontext строит компактный текстовый срез конфигурации для системного промпта ИИ (пользовательский чат и конфигуратор).
api
app
Package app is the composition root for the HTTP application.
Package app is the composition root for the HTTP application.
bench
Package bench реализует синтетический нагрузочный тест onebase в стиле теста Гилёва: фиксированная эталонная конфигурация + канонический сценарий «создать документ → провести» в N потоков, на выходе — один сравнимый балл (документов/сек), перцентили латентности и APDEX.
Package bench реализует синтетический нагрузочный тест onebase в стиле теста Гилёва: фиксированная эталонная конфигурация + канонический сценарий «создать документ → провести» в N потоков, на выходе — один сравнимый балл (документов/сек), перцентили латентности и APDEX.
bugreport
Package bugreport собирает отчёт об ошибке, который пользователь отправляет разработчику сам — файлом или текстом (план 116).
Package bugreport собирает отчёт об ошибке, который пользователь отправляет разработчику сам — файлом или текстом (план 116).
cli
configcheck
Package configcheck validates a OneBase configuration: YAML metadata schema, DSL syntax, undefined function calls, and query compilation.
Package configcheck validates a OneBase configuration: YAML metadata schema, DSL syntax, undefined function calls, and query compilation.
dbcheck
Package dbcheck — проверки состояния информационной базы (план 114), аналог «Тестирования и исправления» 1С.
Package dbcheck — проверки состояния информационной базы (план 114), аналог «Тестирования и исправления» 1С.
dblock
Package dblock coordinates the lifetime of OneBase processes that use the same database.
Package dblock coordinates the lifetime of OneBase processes that use the same database.
dbtest
Package dbtest — общий тест-инструментарий для проверок, которые обязаны вести себя одинаково на обоих диалектах (план 115, этап F).
Package dbtest — общий тест-инструментарий для проверок, которые обязаны вести себя одинаково на обоих диалектах (план 115, этап F).
deviceagent
Package deviceagent реализует локальный агент подключаемого оборудования: HTTP-сервер на localhost машины кассира, принимающий команды печати/ящика и исполняющий их через пакет equipment.
Package deviceagent реализует локальный агент подключаемого оборудования: HTTP-сервер на localhost машины кассира, принимающий команды печати/ящика и исполняющий их через пакет equipment.
dsl/langref
Package langref — единый машиночитаемый справочник встроенного языка OneBase (функции, методы объектов, конструкции, язык запросов).
Package langref — единый машиночитаемый справочник встроенного языка OneBase (функции, методы объектов, конструкции, язык запросов).
dslvars
Package dslvars содержит общую базу DSL-переменных, разделяемую UI-handlers (internal/ui) и фоновыми scheduled jobs (internal/scheduler).
Package dslvars содержит общую базу DSL-переменных, разделяемую UI-handlers (internal/ui) и фоновыми scheduled jobs (internal/scheduler).
entityservice
Package entityservice инкапсулирует логику сохранения сущностей (справочников и документов): запуск DSL-хука OnWrite/OnPost, упсёрт + табличные части + движения + проведение — в одной транзакции.
Package entityservice инкапсулирует логику сохранения сущностей (справочников и документов): запуск DSL-хука OnWrite/OnPost, упсёрт + табличные части + движения + проведение — в одной транзакции.
equipment
Package equipment реализует слой подключаемого торгового оборудования: единый интерфейс драйверов и реестр, не зависящие ни от DSL, ни от транспорта.
Package equipment реализует слой подключаемого торгового оборудования: единый интерфейс драйверов и реестр, не зависящие ни от DSL, ни от транспорта.
exchange
Package exchange реализует планы обмена данными между базами OneBase (план 86): регистрацию изменений объектов из состава плана, сборку и разбор пакетов выгрузки/загрузки, разрешение конфликтов версий.
Package exchange реализует планы обмена данными между базами OneBase (план 86): регистрацию изменений объектов из состава плана, сборку и разбор пакетов выгрузки/загрузки, разрешение конфликтов версий.
extform
Package extform реализует «внешний контур» расширяемости — артефакты, которые живут вне версионируемой конфигурации проекта и хранятся в самой базе.
Package extform реализует «внешний контур» расширяемости — артефакты, которые живут вне версионируемой конфигурации проекта и хранятся в самой базе.
formdoc
Package formdoc редактирует управляемую форму как дерево yaml.Node.
Package formdoc редактирует управляемую форму как дерево yaml.Node.
fsmode
Package fsmode держит права, с которыми OneBase создаёт файлы и каталоги.
Package fsmode держит права, с которыми OneBase создаёт файлы и каталоги.
gengen
Package gengen implements generative project configuration for OneBase.
Package gengen implements generative project configuration for OneBase.
httpservice
Package httpservice описывает HTTP-сервисы конфигурации onebase — аналог объекта «HTTPСервис» в 1С. Разработчик публикует собственные REST-эндпоинты, обработчики которых пишутся на встроенном языке (DSL).
Package httpservice описывает HTTP-сервисы конфигурации onebase — аналог объекта «HTTPСервис» в 1С. Разработчик публикует собственные REST-эндпоинты, обработчики которых пишутся на встроенном языке (DSL).
i18n/i18nerr
Package i18nerr — ошибки платформы с локализуемым сообщением.
Package i18nerr — ошибки платформы с локализуемым сообщением.
incident
Package incident хранит последние ошибки и паники процесса и присваивает каждой короткий код вида E-3F7A2C.
Package incident хранит последние ошибки и паники процесса и присваивает каждой короткий код вида E-3F7A2C.
installtest
Package installtest — общий тест-инструментарий для проверок, которым нужен каталог установки, пригодный для самообновления.
Package installtest — общий тест-инструментарий для проверок, которым нужен каталог установки, пригодный для самообновления.
intake
Package intake — платформенный примитив надёжной приёмки входящих событий (план 90, пробел G6).
Package intake — платформенный примитив надёжной приёмки входящих событий (план 90, пробел G6).
jobqueue
Package jobqueue — очередь фоновых заданий с пулом исполнителей (план 130, issue #848).
Package jobqueue — очередь фоновых заданий с пулом исполнителей (план 130, issue #848).
llm
Package llm реализует ядро ИИ-помощника OneBase: конфигурацию провайдеров и моделей, маршрутизацию вызовов по задачам и фолбэк-движок.
Package llm реализует ядро ИИ-помощника OneBase: конфигурацию провайдеров и моделей, маршрутизацию вызовов по задачам и фолбэк-движок.
logging
Package logging centralizes structured logging and redaction of sensitive fields.
Package logging centralizes structured logging and redaction of sensitive fields.
mcp
Package mcp implements a small stdio Model Context Protocol server for OneBase developer tooling.
Package mcp implements a small stdio Model Context Protocol server for OneBase developer tooling.
metrics
Package metrics реализует минимальный, без внешних зависимостей, сбор HTTP-метрик и их отдачу в текстовом формате Prometheus exposition.
Package metrics реализует минимальный, без внешних зависимостей, сбор HTTP-метрик и их отдачу в текстовом формате Prometheus exposition.
objstore
Package objstore is a minimal, dependency-free client for S3-compatible object storage (AWS S3, MinIO, Ceph RGW, Backblaze B2, Wasabi, …).
Package objstore is a minimal, dependency-free client for S3-compatible object storage (AWS S3, MinIO, Ceph RGW, Backblaze B2, Wasabi, …).
onec_forms
Package onec_forms — двусторонний конвертер между управляемыми формами OneBase (.form.yaml + .form.os + _resources/) и форматом управляемых форм внешней Enterprise-системы (Form.xml + Module.bsl + Items/*).
Package onec_forms — двусторонний конвертер между управляемыми формами OneBase (.form.yaml + .form.os + _resources/) и форматом управляемых форм внешней Enterprise-системы (Form.xml + Module.bsl + Items/*).
page
Package page описывает объект «страница» конфигурации onebase — произвольное представление, которое открывается из меню и формируется обработчиком на встроенном языке (DSL).
Package page описывает объект «страница» конфигурации onebase — произвольное представление, которое открывается из меню и формируется обработчиком на встроенном языке (DSL).
pdfimport
Package pdfimport извлекает черновик макета печатной формы из страницы PDF (план 64, этап 6).
Package pdfimport извлекает черновик макета печатной формы из страницы PDF (план 64, этап 6).
pdfimport/pdfparse
Package pdf implements reading of PDF files.
Package pdf implements reading of PDF files.
processcontrol
Package processcontrol implements the local launcher-to-base authentication protocol.
Package processcontrol implements the local launcher-to-base authentication protocol.
realtime
Package realtime — внутрипроцессная шина уведомлений «сервер → браузер».
Package realtime — внутрипроцессная шина уведомлений «сервер → браузер».
report/compform
Package compform собирает report.Composition из полей HTML-формы (comp.*).
Package compform собирает report.Composition из полей HTML-формы (comp.*).
report/compose
Package compose сворачивает плоские строки отчёта в дерево групп с итогами.
Package compose сворачивает плоские строки отчёта в дерево групп с итогами.
report/expreval
Package expreval вычисляет DSL-выражения компоновки отчётов (условия `when` и вычисляемые показатели) построчно, в песочнице.
Package expreval вычисляет DSL-выражения компоновки отчётов (условия `when` и вычисляемые показатели) построчно, в песочнице.
richtext
Package richtext — санитизация и проекция HTML для полей типа richtext (план 65).
Package richtext — санитизация и проекция HTML для полей типа richtext (план 65).
search
Package search — глобальный (полнотекстовый) поиск по данным базы, план 82.
Package search — глобальный (полнотекстовый) поиск по данным базы, план 82.
secrets
Package secrets — единый резолвер секретов OneBase (план 83).
Package secrets — единый резолвер секретов OneBase (план 83).
selfupdate
Package selfupdate реализует ядро офлайн-обновления бинаря onebase из локального архива или файла: извлечение, проверку контрольной суммы, атомарную подмену бинаря с откатом и опрос readiness-пробы.
Package selfupdate реализует ядро офлайн-обновления бинаря onebase из локального архива или файла: извлечение, проверку контрольной суммы, атомарную подмену бинаря с откатом и опрос readiness-пробы.
sheet
Package sheet — нейтральная модель табличного документа (ячейки, спаны, страницы) и его рендеры.
Package sheet — нейтральная модель табличного документа (ячейки, спаны, страницы) и его рендеры.
ui
webassets
Package webassets embeds heavy third-party browser assets shared by more than one HTTP server (the launcher's configurator and the base UI dev tools).
Package webassets embeds heavy third-party browser assets shared by more than one HTTP server (the launcher's configurator and the base UI dev tools).
webhook
Package webhook — исходящие веб-хуки на события платформы (план 29): «документ проведён → POST на URL».
Package webhook — исходящие веб-хуки на события платформы (план 29): «документ проведён → POST на URL».
widget
Package widget runs dashboard widgets defined as metadata.Widget on top of the existing Query Language pipeline.
Package widget runs dashboard widgets defined as metadata.Widget on top of the existing Query Language pipeline.
wsclient
Package wsclient — исходящее WebSocket-соединение с переподключением (план 120A).
Package wsclient — исходящее WebSocket-соединение с переподключением (план 120A).
loadtest
seed command
Command seed наполняет запущенную базу onebase данными через REST API для последующего нагрузочного тестирования k6: создаёт N контрагентов и (опционально) M документов поступления, затем пишет список id контрагентов в JSON-файл, который k6-сценарии читают через open().
Command seed наполняет запущенную базу onebase данными через REST API для последующего нагрузочного тестирования k6: создаёт N контрагентов и (опционально) M документов поступления, затем пишет список id контрагентов в JSON-файл, который k6-сценарии читают через open().
tools
benchgate command
benchgate заваливает сборку, когда benchstat показал значимую просадку производительности больше порога (план 115, этап D).
benchgate заваливает сборку, когда benchstat показал значимую просадку производительности больше порога (план 115, этап D).
dbquery command
dbquery — diagnostic tool for OneBase SQLite databases.
dbquery — diagnostic tool for OneBase SQLite databases.
featureage command
featureage — взросление разделов docs/features.md: `testing`, пролежавший дольше срока, переводится в `stable` (или в `needs-description`, если тела у раздела нет).
featureage — взросление разделов docs/features.md: `testing`, пролежавший дольше срока, переводится в `stable` (или в `needs-description`, если тела у раздела нет).
i18ncheck command
i18ncheck — проверка покрытия i18n: собирает все {{t $.Lang "..."}} из шаблонов в internal/ui и internal/launcher, а также Go-ключи i18nerr.New/Errorf/Wrapf и tr()/s.tr() в нескольких пакетах движка; сверяет с JSON-словарями в internal/i18n/locales и сообщает о ключах, которых нет ни в одной локали (кроме ru.json, который служит индексом языков — T() для ru возвращает ключ как есть).
i18ncheck — проверка покрытия i18n: собирает все {{t $.Lang "..."}} из шаблонов в internal/ui и internal/launcher, а также Go-ключи i18nerr.New/Errorf/Wrapf и tr()/s.tr() в нескольких пакетах движка; сверяет с JSON-словарями в internal/i18n/locales и сообщает о ключах, которых нет ни в одной локали (кроме ru.json, который служит индексом языков — T() для ru возвращает ключ как есть).
issuetail command
issuetail — хвост заявок: находит открытые заявки, которые уже сделаны и влиты, но остались открытыми.
issuetail — хвост заявок: находит открытые заявки, которые уже сделаны и влиты, но остались открытыми.
jsextract command
jsextract извлекает inline-<script> из Go-шаблонов и раскладывает их отдельными .js-файлами, чтобы CI мог прогнать по ним `node --check`.
jsextract извлекает inline-<script> из Go-шаблонов и раскладывает их отдельными .js-файлами, чтобы CI мог прогнать по ним `node --check`.
plannum command
plannum — гейт уникальности номеров планов в Plans/.
plannum — гейт уникальности номеров планов в Plans/.
relsign command
relsign — генерация ключей и подпись файлов контрольных сумм релиза (#783).
relsign — генерация ключей и подпись файлов контрольных сумм релиза (#783).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL