Skip to content

[Jules] Repo 架構解讀:逐層至葉節點(fork main @ f3fed305) #585

Description

@skysze-polyu

背景

應要求做完整代碼架構解讀:從每個文件路徑開始,延伸到每個文件夾直到不再有子文件夾。分析基準為 fork main 分支(HEAD f3fed30)。上游 = mistralai/platform-docs-public;fork 僅多 7 個 additive commits(middleware 登錄閘門、login 頁、auth API、AI proxy、health endpoint、2 個容錯修正),未改動任何上游檔案。

頂層結構

  • changelog/ en+fr 各 55 檔 — 版本 changelog MDX
  • llms_txt/ — llms.txt 生成(LLM 可讀站點索引)
  • patches/ — 補丁檔
  • public/ — 原樣靜態資產:admin 文檔、ambassadors、assets(badges/design/model-icons 73/logos/sprites)、audio、brand、favicons、fonts、getting-started quickstarts、img(111)、models、ogs、resources/deprecated、studio-api OpenAPI 規格 JSON(agents/audio/conversations/document-processing/knowledge-rag/observability/workflows)、vibe、video
  • scripts/ — 12 檔 shell 腳本(check-links、mdlint-report、vale、dev-prebuild)
  • sdks/ — SDK 相關
  • src/ — 應用本體(見下)
  • static/cookbooks/ — cookbook 靜態輸出
  • tests/ — vitest:api-docs(含 snapshots)、snippets/offline-transcription(42)
  • 根檔案:next.config.ts(MDX+remark 插件+rewrites,無 output:'export')、rewrite.ts(/api→/api/endpoint/chat、locale 轉寫)、route-utils.ts(檔案系統驅動路由收集)、package.json(pnpm,40+ scripts)

src/app/ 路由群組

  • [locale]/(api)/ — API 參考頁(@speakeasy-api/docs-md 從 OpenAPI 生成):api/endpoint/[...slug]、speakeasy 元件樹、hooks/schema/types/util
  • [locale]/(docs)/ — 主文檔:(developers)、[...slug] catch-all、developers/quickstarts、getting-started、inference、le-chat/quickstarts(Le Chat 教學頁)、model-card/[slug]、models、studio(Studio 文檔頁)
  • [locale]/(no-sidebar-pages)/ — blog
  • api/ — Route Handlers:og/route.tsx(上游本來就有的 OG 圖動態生成)+ additive 的 auth/ai/health
  • login/ — additive key 登入頁
  • scripts/ — python 腳本+tests(含 pycache,不應提交)

src/ 核心目錄

  • components/ — 404、brand、common(47)、icons(8+pixel 92)、layout(13:breadcrumb/pagination/footer/header 16/section-tab/sidebar)、markdown(5)、model(8)、og(2)、release-notes(4)、sections(5)、ui(79 Radix)
  • content/en|fr/ — 文檔內容本體:api/(OpenAPI 衍生 endpoint 文檔:audio/batch/beta-admin/beta-agents/connectors/conversations/libraries/observability/prompts/rag/skills/users/chat/classifiers/embeddings/events/files/fim/models/ocr/workflows)、docs/(_guides、admin、api-reference、community、developers、getting-started、inference(deployment cloud+local 含 cloudflare)、models、products、resources(含 security-advisories MAI-2026-001/002)、robots、studio(agents/audio/batch/connectors/conversations/document-processing/knowledge-rag/observability/search/workflows)、studio-api、vibe(chat-legacy/code: cli+vibe-code-web+vs-code-extension/work))
  • lib/ — content(8:sidebar 建構器 getSidebar 遞迴掃描)、cookbook(6)、frontmatter(7:remark 插件)、markdown(1)、constants.ts
  • schema/ — ambassadors(3)、content(9)、cookbook(4)、doc、feedback、models(5+copyright+models/66 個模型定義檔)
  • scripts/(17) + scripts/api/(16+lib 10) — build-search-index、build-complete-cookbook、export-raw-mdx、copy-assets、copy-openapi、fetch-dashboard-openapi;api/audit、apply、build、extract-spec-strings、translate-catalog、localize-fr-labels、build-fr、migrate-from-legacy — 完整 OpenAPI 文檔審核/翻譯/建置工作流
  • contexts/(5)、data/releases/、hooks/(9)、i18n/(6+messages)、stories/(storybook)

結論

  1. 不是純靜態站:無 output:'export';有 server Route Handlers(og)、middleware、檔案系統路由、search index、i18n、MDX 管線、40+ 建置/測試腳本、vitest 測試。
  2. repo 不含產品本體:Le Chat/Studio/Console/Vibe 是 Mistral 託管服務;repo 是它們的文檔(教學、API 參考、模型卡)。
  3. 網域可改:src/lib/constants.ts 的 BASE_URL = NEXT_PUBLIC_BASE_URL || VERCEL_URL || CF_PAGES_URL,且 MISTRAL_CHAT_URL、MISTRAL_STUDIO_URL、MISTRAL_CONSOLE_URL、MISTRAL_HELP_CENTER_URL、MISTRAL_LEGAL_URL、MISTRAL_API_REFERENCE_URL、MISTRAL_BRAND_GUIDELINES_URL 全部是 env 可覆寫常數,mistral.ai 只是預設值。
  4. mistral.ai 連結 = 常數預設值 + 164 個 MDX 內容檔/66 個模型檔內的內容級 <a> 連結,非 HTTP 轉址。

完整逐層樹(1448 行)與分析文件存於 session files,未污染 repo。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions