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

Посібник розробника

💡TL;DR
Працюйте в окремій гілці, встановіть зафіксовані залежності й обидві ревізії браузера, виконайте build і весь Jest. Змінюйте власника контракту та оновлюйте разом документацію, тести провайдерів і докази цільових програм.

Робоча копія​

Клонуйте репозиторій і прочитайте AGENTS.md. CI розширення використовує Linux/Windows Node 20, сайт — Node 24. Корінь і website/ встановлюються окремо.

npm ci
npx --no-install playwright install --with-deps chromium
node node_modules/playwright-chromium/cli.js install chromium
npm run build
npm test -- --runInBand

Два пакети Playwright можуть потребувати різних Chromium; одного встановлення недостатньо. main.js генерується й ігнорується Git. Старий локальний bundle не перевіряє нового коміту.

Власники відповідальності​

ВідповідальністьОсновне джерело
Життєвий цикл, команди й інтеграція з Obsidiansrc/main.ts
Профілі, метадані протоколів і перевіркаsrc/llmProviders.ts
Запити, транспорти, повтори й потокиsrc/llmUtils.ts
Операції, схеми та публічна підмножина CLIsrc/operations/, src/cliContracts.ts
Файлові завдання, дослідження та перекладsrc/fileUtils.ts, src/searchUtils.ts, src/translate.ts
Дії процесів і бічна панельsrc/workflowButtons.ts, src/ui/NotemdSidebarView.ts
Специфікації діаграм і відображенняsrc/diagram/, src/rendering/
Рядки UI й мовиsrc/i18n/
Публічні посібники та перекладиwebsite/docs/, website/i18n/
Правила підтримки й датовані доказиdocs/maintainer/

Продукційний bundle самодостатній із вбудованим host перегляду. Можливий окремий host-шлях не є контрактом поставки. Його ввімкнення потребує узгоджених змін пакування, файлів, перевірок і документів.

Обмежена зміна​

  1. Відтворіть проблему й спочатку напишіть цільовий тест, що падає.
  2. Змінюйте власника інваріанта, перевіряйте зовнішню межу.
  3. Запустіть цільові та повні тести; збережіть скасування, поширення помилок і надійний запис.
  4. Оновіть англійське джерело й зачеплені мови. Плани, завдання та walkthrough потребують повних окремих англійської/китайської версій у docs/.
  5. Візуальні й нативні зміни перевіряйте в справжній програмі; XML, картинка чи build не доводять редагованості або прикріплених з’єднань.

Додайте провайдера до llmProviders.ts, повторно використайте сумісний транспорт, оновіть llmProviders.test.ts, llmUtilsProviderSupport.test.ts, README і тести з’єднання. Зберігайте потоки та перервані відповіді. Для відкриття операції потрібні схеми входу/результату, контекст, ефекти й мітки поводження. Реєстрація не створює публічного Agent endpoint. Agent.

Перевірка​

npm run build
npm test -- --runInBand
npm run audit:i18n-ui
npm run audit:render-host
npm run lint:regressions -- --base-ref origin/main
git diff --check

Lint порівнює окремі діагностики; менша загальна кількість не виправдовує нової регресії. Для змін локального пошуку запустіть npm run benchmark:local-kb і вкажіть корпус/середовище. Для сайту потрібен Node 24:

npm --prefix website ci
npm --prefix website run build
npm --prefix website run audit:build
npm run docs:build

У програмі 1.9.9 Codex безпосередньо пише й перевіряє переклади. Не запускайте старих перекладацьких скриптів, LM Studio чи сервісів перекладу. Засоби можуть форматувати, перевіряти та відображати вже написаний текст.

Obsidian і цільові програми​

Використовуйте тимчасове сховище з .notemd-host-verification; скрипти перевіряють скопійований bundle. Користувацькі сховища тримайте окремо. Спробуйте і obsidian help, і obsidian-cli help; відсутній засіб позначайте недоступним, не успішною перевіркою host.

PowerPoint, CircuitikZ і слайди мають окремі передумови/артефакти. Дотримуйтеся датованої перевірки та процедури випуску. Явно вказуйте неперевірені фізичні мобільні пристрої й мінімальну версію.

Внесок і випуск​

У PR опишіть проблему, кінцеву поведінку, тести й межі. Відтворення — в Issues. Не комітьте ключів, приватних нотаток чи сторонніх файлів. Один publisher відповідає за узгоджені версії, числовий тег, чисте джерело тегу, двомовні примітки, перевірені draft-файли, публікацію й явний Pages deploy. Публічний тег незмінний. .trellis/ — локальний стан роботи, не залежність CI.

Далі​