رفتن به محتوای اصلی

راهنمای توسعه‌دهنده

💡TL;DR
شاخهٔ جدا بسازید، وابستگی قفل‌شده و هر دو بازبینی مرورگر را نصب و build و کل Jest را اجرا کنید. مالک قرارداد موجود را گسترش دهید و مستندات، آزمون و شواهد مصرف‌کنندهٔ بومی را هماهنگ نگه دارید.

آماده‌سازی نسخهٔ کاری​

مخزن را clone کنید و AGENTS.md را بخوانید. CI افزونه از Node 20 در Linux و Windows و سایت از 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 قدیمی شاهد commit جدید نیست.

یافتن مالک​

مسئولیتمنبع اصلی
چرخهٔ افزونه، فرمان و مسیر میزبانsrc/main.ts
نمایه، پروتکل و اعتبارسنجی ارائه‌دهندهsrc/llmProviders.ts
قالب درخواست، انتقال، تکرار و streamsrc/llmUtils.ts
تعریف عملیات، schema و انتخاب CLI عمومیsrc/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 و locale پشتیبانی‌شدهsrc/i18n/
راهنمای عمومی و ترجمهwebsite/docs/, website/i18n/
روش نگهداری و شاهد تاریخ‌دارdocs/maintainer/

Bundle محصول خودبسنده و شامل میزبان inline پیش‌نمایش است. مسیر نامزد میزبان جدا قرارداد دارایی منتشرشده نیست. فعال‌سازی آن هماهنگی packaging، فایل انتشار، audit و مستندات را می‌خواهد.

تغییر محدود​

  1. رفتار را بازتولید و ابتدا آزمون هدف‌دار شکست‌خورده بنویسید.
  2. ماژول مالک invariant را تغییر دهید؛ ورودی بیرونی را در مرز بررسی کنید.
  3. آزمون هدف و کامل را با لغو، خطا و ذخیرهٔ مرتبط اجرا کنید.
  4. منبع انگلیسی و ترجمه‌های مربوط را به‌روز کنید. طرح، کار و walkthrough باید نسخهٔ کامل و مستقل انگلیسی/چینی در docs/ داشته باشند.
  5. تغییر بصری یا خروجی بومی را در برنامهٔ واقعی بیازمایید؛ XML، تصویر یا build به‌تنهایی ویرایش‌پذیری و اتصال خط را ثابت نمی‌کند.

نمایهٔ جدید را در llmProviders.ts اضافه و transport سازگار را استفاده کنید. llmProviders.test.ts، llmUtilsProviderSupport.test.ts، README و اتصال را به‌روز و stream و پاسخ قطع‌شده را حفظ کنید. برای عملیات، schema ورودی/خروجی، زمینه، اثر و handling tag را پیش از افشا تعریف کنید. ثبت در رجیستری دسترسی عمومی نمی‌سازد. 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 و ذکر corpus و محیط بسنجید. سایت را با 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 نوشته و بررسی می‌شود. اسکریپت قدیمی نوشتن ترجمه یا endpoint مربوط به LM Studio یا موتور ترجمه را اجرا نکنید. ابزار می‌تواند متن نوشته‌شده را قالب‌بندی، بررسی و نمایش دهد.

Obsidian و مصرف‌کنندهٔ بومی​

خزانهٔ آزمایشی با marker .notemd-host-verification به کار ببرید؛ اسکریپت bundle کپی‌شده را بررسی می‌کند. خزانهٔ واقعی را جدا نگه دارید. در آزمون CLI هم obsidian help و هم obsidian-cli help را اجرا و نبود ابزار را عدم دسترسی ثبت کنید، نه موفقیت.

PowerPoint، CircuitikZ و اسلاید پیش‌نیاز و خروجی جدا دارند. گزارش تاریخ‌دار و روش انتشار را دنبال کنید. موبایل و حداقل نسخهٔ آزمون‌نشده را روشن نگه دارید.

مشارکت و انتشار​

PR باید مشکل مشخص، رفتار نهایی، آزمون و محدودیت را بگوید. Issues برای بازتولید است. کلید، متن خصوصی و خروجی نامرتبط را commit نکنید. Publisher مسئول نسخهٔ هماهنگ، tag عددی، منبع پاک، توضیح دوزبانه، draft بررسی‌شده، انتشار و Pages صریح است. tag عمومی را جابه‌جا نکنید. .trellis/ وضعیت محلی است، نه وابستگی CI.

گام بعد​