Releases: igapyon/mikuproject
大規模リファクタリングと回帰テスト強化
大規模リファクタリングと回帰テスト強化
概要
このリリースでは、main.ts、msproject-xml.ts、project-patch-json.ts、project-xlsx.ts、project-workbook-json.ts、core-api.ts、excel-io.ts、wbs-svg.ts、wbs-xlsx.ts を中心に、大規模な責務分離を実施しています。
あわせて、回帰テストの追加・拡張、build / loader / HTML / sample script / test harness の読み込み順整理、リファクタリング手順文書の整備が行われています。
主な変更
main 系の分割
main.ts周辺を責務別 module に分割- 追加された主な module
main-iomain-importmain-exportmain-eventsmain-flowmain-modelmain-previewmain-rendermain-supportmain-transformmain-uimain-button-eventsmain-input-eventsmain-samplesmain-downloadsmain-output-actionsmain-import-actionsmain-xml-actionsmain-archive-actionsmain-save-statemain-tab-actionsmain-preview-actions
msproject-xml 系の分割
msproject-xml.tsから責務を分離- 追加された主な module
msproject-ai-viewsmsproject-calendarmsproject-codecmsproject-csvmsproject-mermaidmsproject-samplesmsproject-validatemsproject-validate-helpersmsproject-xml-dom
project-patch-json の分割
project-patch-json.tsを facade 寄りに整理- 追加された主な module
project-patch-json-utilproject-patch-json-linksproject-patch-json-tasksproject-patch-json-entitiesproject-patch-json-updatesproject-patch-json-core
project-xlsx / project-workbook-json の分割
project-xlsxを import / export / util / project / entities / calendars 単位で整理project-workbook-jsonを import / export / validate に分割- 追加された主な module
project-xlsx-import-*project-xlsx-export-*project-workbook-json-importproject-workbook-json-exportproject-workbook-json-validate
core-api の分割
core-api.tsを facade / public entrypoint 寄りに整理- 追加された主な module
core-api-importcore-api-ai-jsoncore-api-ai-json-importcore-api-external-binarycore-api-external-documentcore-api-external-importcore-api-msprojectcore-api-msproject-aicore-api-workbookcore-api-workbook-xlsxcore-api-reportcore-api-report-adapterscore-api-report-publiccore-api-publiccore-api-registry
excel-io の分割
excel-io.tsから ZIP / normalize / XML build / XML parse / workbook build / workbook parse / styles build / styles parse / util を分離- 追加された主な module
excel-io-zipexcel-io-normalizeexcel-io-package-xmlexcel-io-worksheet-buildexcel-io-worksheet-parseexcel-io-workbook-buildexcel-io-workbook-parseexcel-io-styles-buildexcel-io-styles-parseexcel-io-util
WBS 出力まわりの分割
- 共通日付帯 helper を追加
wbs-dateband
wbs-svg.tsを責務分離wbs-svg-zipwbs-svg-barswbs-svg-viewportwbs-svg-axiswbs-svg-scaffoldwbs-svg-labelswbs-svg-calendarwbs-svg-timelinewbs-svg-renderwbs-svg-public
wbs-xlsx.tsを責務分離wbs-xlsx-basewbs-xlsx-taskmetawbs-xlsx-layoutwbs-xlsx-sectionswbs-xlsx-cellswbs-xlsx-exportwbs-xlsx-public
テストの追加・拡張
- 新規追加
mikuproject-main-refactor-safety.test.jsmikuproject-main-render.test.jsmikuproject-main-util.test.js
- 既存テストの拡張
mikuproject-core-api.test.jsmikuproject-excel-io.test.jsmikuproject-main.test.jsmikuproject-main-file-input-wiring.test.jsmikuproject-main-validation.test.jsmikuproject-msproject-xml-roundtrip.test.jsmikuproject-project-workbook-json.test.jsmikuproject-project-xlsx.test.jsmikuproject-wbs-markdown.test.jsmikuproject-wbs-xlsx.test.js- 各種 harness
build / loader / HTML / docs の更新
- 更新された主なファイル
scripts/build-project.mjsscripts/build-project-xlsx-sample.mjsscripts/lib/core-api-loader.mjsscripts/run-tests.mjsmikuproject-src.htmlmikuproject.htmlindex.htmldocs/TODO.mddocs/refactoring-playbook.md
影響範囲
- browser UI
- core API 公開面
- MS Project XML import/export
- workbook JSON / XLSX import/export
- Patch JSON import / validate / apply
- WBS SVG / WBS XLSX / WBS Markdown 出力
- CLI bundle
- generated JS / single HTML
- test harness / test runner
- リファクタリング運用文書
AI JSON Prompt / Spec を生成AI向けにリライト
AI JSON Prompt / Spec を生成AI向けにリライト
概要
mikuproject AI JSON Prompt / Spec を、生成AIに渡して作業させる前提の文面へ整理しました。
変更内容
- 冒頭に「最重要ルール」を追加
- 新規 project 草案では
project_draft_viewを返すことを明記 - 既存 project の修正では Patch JSON を返すことを明記
- 既存 project の修正で project 全体 JSON や workbook JSON を再出力しないことを明記
project_draft_requestは入力側の補助形式であり、返答として返さないことを明記project_draft_requestの例を削除project_draft_viewの例にpredecessor_uidsを含む依存関係例を追加project_draft_viewimport で取り込む依存情報は task 間の前後関係であり、依存のtypeやlag/lag_hoursは後続の Patch JSONlink_tasksで扱うことを明記MVP/first cut/first draft系の表現を、現在対応範囲として読みやすい表現へ整理- 末尾の改善候補セクションを削除
- 生成済みの
mikuproject.htmlとsrc/js/ai-json-spec.jsを同期
変更ファイル
docs/mikuproject-ai-json-spec.mdmikuproject.htmlsrc/js/ai-json-spec.js
CLI と core API の追加、Patch JSON・import/export・ドキュメント整備
CLI と core API の追加、Patch JSON・import/export・ドキュメント整備
概要
このリリースでは、core API と CLI の追加、Patch JSON 編集機能の拡張、XLSX / workbook JSON import の整理、Overview SVG 出力の改善、README / architecture / Qiita 記事を含むドキュメント更新が行われました。
主な変更
- workbook import 対象列を拡張し、サンプルの
project_draft_viewと関連ドキュメントを更新 - Overview の Daily/Weekly SVG ラベル配置とプレビュー幅を調整
- Patch JSON の
update_taskfirst cut 取込を実装し、AI JSON 連携仕様を更新 main周辺の責務を分割し、自動テスト実行導線を整理- Patch JSON の編集操作を拡張し、
task_edit_viewと差分可視化を追加 - Overview の SVG 出力に前後関係コネクタを追加
XLSX/workbook JSONimport を全置換に統一し、UI 文言を挙動に合わせて整理- README をトップドキュメントとして整理し、テストスイートを再編
- index ページと architecture ドキュメントの表現を README に合わせて更新
- Qiita 向けの AI駆動WBS作成記事ドラフトを追加し、その後加筆と掲載情報更新を実施
- WBS Markdown のコードフェンスを backtick ベースに統一
- 外部再利用向けの core API と AI JSON spec 取得 API を追加
__mikuprojectCoreApiにxlsx公開面とimportExternal()を追加- core API ベースの最小 CLI first cut を追加
- CLI 向けの自己完結 bundle 出力を追加し、
npm run buildに組み込み - CLI に report 系エクスポートコマンドを追加
report allbundle export を core API と CLI に追加
Overview の Daily/Weekly SVG ラベル配置とプレビュー幅を調整
Overview の Daily/Weekly SVG ラベル配置とプレビュー幅を調整
変更内容
Overview の Daily / Weekly SVG 表示調整
Dailyの日幅をWeeklyと同じ幅に揃える変更が含まれますDaily/Weeklyのラベル配置ロジック見直しが含まれますDaily/Weeklyの左右ラベル配置ロジック共通化が含まれます- 長い task label と図形の重なりを避けるための調整が含まれます
Weeklyの左右余白を詰めるためのトリム調整が含まれます- ラベル幅見積りの変更が含まれます
Dailyの on-bar label で使っていた白背景除去が含まれます
プレビュー表示調整
- SVG プレビュー領域で、
svgが表示領域の幅を使うようにする CSS 調整が含まれます
テストと TODO 更新
tests/mikuproject-main.test.jsに、Dailyの long label 配置に関するテスト追加が含まれますdocs/TODO.mdに更新が含まれます
更新ファイル
docs/TODO.mdmikuproject.htmlsrc/css/app.csssrc/js/wbs-svg.jssrc/ts/wbs-svg.tstests/mikuproject-main.test.js
OGP・ロゴアセット追加と workbook import 拡張
OGP・ロゴアセット追加と workbook import 拡張
概要
主な内容は、OGP 画像とロゴ検討用アセットの追加・更新、および workbook (XLSX) / workbook JSON import 機能の拡張です。
変更内容
OGP 画像と README の更新
docs/screenshots/mikuproject-ogp.pngを追加し、その後更新docs/screenshots/mikuproject-ogp.pptxを追加し、その後更新README.mdの先頭に OGP 画像を追加
ロゴ検討用アセットの追加
docs/assets/配下に、文字ロゴと記号アセットを追加- 追加されたアセット
miku-logo.svgproject-logo.svgxlsx-logo.svgmd-logo.svg2-logo.svgxlsx-symbol.svggantt-chart-symbol.svgmonthly-calendar-symbol.svgmarkdown-symbol.svgcsv-symbol.svgjson-symbol.svgai-symbol.svgmermaid-symbol.svg
workbook import の拡張
Tasksの import 対象列を拡張DurationMilestoneSummaryCriticalCalendarUIDPredecessors
Resourcesの import 対象列を拡張CalendarUID
- workbook JSON 側も同じ import 対象に追従
Predecessorsは、現時点ではpredecessorUidの,区切り一覧を読む最小対応
Excel 出力の編集 UX 改善
- workbook 出力に
dataValidationを追加 Optionsシートを追加し、真偽値列の選択肢を定義○ー
Project.ScheduleFromStart、Tasksの真偽値列、Calendars.IsBaseCalendar、NonWorkingDays.DayWorkingにドロップダウンを追加Tasksの真偽値列は、空でも罫線と editable の見た目を維持Tasksの真偽値列の背景色を editable セル系に統一
project_draft_view の拡張とサンプル更新
project_draft_viewimport で project 設定項目を取り込みschedule_from_startminutes_per_dayminutes_per_weekdays_per_month
project_draft_viewimport で最小のresources/assignmentsを受け付けるように拡張SAMPLE_PROJECT_DRAFT_VIEWを更新- project 設定値を追加
- resource
Mikukuを追加 initials: "M"を追加- assignment を 2 件追加
- 通常サンプル XML も上記サンプルから生成される内容に追従
ドキュメント更新
docs/spec.md- 現在の
XLSX Import対象列に更新 Predecessorsの最小対応を明記project_draft_viewにおけるresources/assignmentsの最小表現を追記
- 現在の
docs/architecture.md- 実装 FAQ を追加
- workbook JSON と
project_draft_viewの違いを明記 - 画面の
サンプルとSAMPLE_PROJECT_DRAFT_VIEWの関係を明記
docs/mikuproject-ai-json-spec.mdproject_draft_view例にresources/assignmentsを追加
docs/msprojectxml-ai-integration.mdproject_draft_view例にresources/assignmentsを追加
docs/TODO.md- task 真偽値列が戻る前提に更新
Tasks.Predecessorsの import 対応メモを追加- workbook import の MVP 候補列メモを追加
- 低優先度のタイムチャート検討メモを追加
Daily表示の横幅調整検討メモを追加
更新対象の主なファイル
README.mddocs/assets/*docs/screenshots/mikuproject-ogp.pngdocs/screenshots/mikuproject-ogp.pptxdocs/spec.mddocs/architecture.mddocs/TODO.mddocs/mikuproject-ai-json-spec.mddocs/msprojectxml-ai-integration.mdsrc/ts/excel-io.tssrc/ts/msproject-xml.tssrc/ts/project-workbook-schema.tssrc/ts/project-xlsx.tssrc/js/*index.htmlmikuproject.htmltests/*
含まれるコミット
70a2446OGP 用画像と元データを追加f4e4378ロゴ検討用の文字・記号アセットを追加し、OGP 素材を更新a441321README 先頭に OGP 画像を追加e2d2491ロゴ検討用に追加の文字ロゴと記号アセットを拡充2d35b96workbook import 対象列を拡張し、サンプルのproject_draft_viewと関連ドキュメントを更新
ポイント
Predecessorsの workbook import は最小対応であり、type / linkLagなどの詳細表現は未対応
WBS 出力・UI・ドキュメント整合の更新
WBS 出力・UI・ドキュメント整合の更新
概要
WBS SVG 系出力、ALL ZIP、WBS XLSX 表示設定、祝日反映、画面上の説明やデバッグ UI、README / トップページのスクリーンショット構成をまとめて整理しています。
主な変更
WBS 出力まわりの整理
native-svg系の呼称をwbs-svg系へ整理Daily / Weekly / Monthly Calendarpreview と出力まわりの説明を更新Monthly Calendar SVGの ZIP 構造をmonthly-calendar/YYYY-MM.svgに統一ALLZIP にREADME.txtを追加ALLZIP ではMonthly Calendar SVGを入れ子 ZIP にせず、monthly-calendar/配下へ展開して格納する構成へ整理WBS XLSXの配色を調整
UI とヘルプ文言の整理
- Hero、Overview、Monthly Calendar preview、WBS Report まわりのツールチップ文言を現行 UI に合わせて更新
OutputやALLのヘルプ文言を整理WBS XLSXの祝日指定 UI を撤去し、既定祝日の反映を内部ロジックへ統一Input / Overview / Outputに残っていたデバッグ用途の表示を整理WBS XLSX 表示設定の説明文を見出し右側の(i)ツールチップへ移動
ドキュメントとビルド導線の整合
README.md、docs/spec.md、docs/architecture.md、docs/TODO.mdなどを現行仕様に合わせて更新Monthly Calendar SVG、ALL、WBS記述書 Markdownなどの実装状況整理を反映build:webを追加し、build/build:appの役割を整理- ビルド手順の説明を
package.jsonの現状に合わせて更新
README / トップページの更新
README.mdとトップページのスクリーンショット構成を更新screen02c.pngを追加し、Monthly Calendarpreview を個別に紹介- トップページに
WBS Markdown出力例を追加 - Windows 11 における
SVG / ZIPの注意書きを整理し、ALLも対象に含める形へ更新
変更対象
- アプリ本体:
main、wbs-svg、wbs-xlsx - 画面定義:
mikuproject-src.html、生成済みmikuproject.html - ドキュメント:
README.md、docs/spec.md、docs/architecture.md、docs/TODO.md、docs/wbs-svg-spec.md - トップページ:
index-src.html、生成済みindex.html - テスト:
tests/mikuproject-main.test.js、tests/mikuproject-wbs-xlsx.test.js
記事ドラフト基盤の整備と月別 WBS カレンダー SVG 出力の追加
記事ドラフト基盤の整備と月別 WBS カレンダー SVG 出力の追加
概要
含まれる主な変更は次の 2 点です。
docs/articles配下を整備し、mikuproject向けの Qiita / Note 記事ドラフトを追加月別 WBS カレンダー SVG出力を追加し、WBS Reportの出力 UI を整理
変更内容
1. 記事運用の土台を追加
docs/articles 配下を整備し、記事運用用の README とテンプレートを追加しました。
追加・整備された内容:
docs/articles/README.mddocs/articles/qiita/README.mddocs/articles/qiita/TEMPLATE.mddocs/articles/note/README.mddocs/articles/note/TEMPLATE.md
あわせて、Qiita / Note 向けの記事ドラフトを追加しました。
追加された記事ドラフト:
docs/articles/qiita/20260330-mikuproject-intro.mddocs/articles/qiita/20260330-mikuproject-ai-wbs-draft.mddocs/articles/note/20260330-mikuproject-intro.mddocs/articles/note/20260330-mikuproject-ai-wbs-draft.md
2. 月別 WBS カレンダー SVG 出力を追加
ProjectModel から月別カレンダー形式の SVG を生成し、全月分を ZIP で保存できるようにしました。
実装・仕様上の主な内容:
docs/spec.mdに月別WBSカレンダー SVGexport の仕様を追記- project 期間に含まれる全月を対象に、月ごとの
SVGを生成 - 生成した
SVG群をZIPにまとめて出力 ZIP内の各ファイル名はmikuproject-monthly-wbs-calendar-YYYY-MM.svgZIPのダウンロード名はmikuproject-monthly-wbs-calendar-<YYYYMMDDHHmm>.zip
月別表示ルールとして、次が実装されています。
- 月グリッドは
日曜日始まり - 通常 task は
StartからFinish当日までを対象 - 通常 task は平日に表示し、
土日祝日の中間日には表示しない 土日祝日でもStartまたはFinishの日は表示milestoneは該当日のみ表示summary taskは開始日と終了日の日のみ表示- 1 日セルの表示上限は 3 件
- 長い task 名は省略表示
- 超過分は
+n moreで表示
3. WBS Report の出力 UI を整理
Output の WBS 系出力を WBS Report として整理しました。
WBS Report 配下の出力:
XLSXMarkdownSVGMonthly SVGMermaid
UI 関連の変更:
Load from fileにアップロードアイコンを追加- 出力系ボタンにダウンロードアイコンを追加
SVGボタンの見た目をWBS Report配下の他ボタンと揃えるよう調整
4. 出力ファイル名を見直し
出力ファイル名のルールを整理しました。
確認できた変更:
SVG:mikuproject-wbs-<YYYYMMDDHHmm>.svgMermaid:mikuproject-wbs-mermaid-<YYYYMMDDHHmm>.mdWBS XLSX:mikuproject-wbs-<YYYYMMDDHHmm>.xlsxMonthly SVG:mikuproject-monthly-wbs-calendar-<YYYYMMDDHHmm>.zip
WBS Markdown の保存名については、コミットメッセージ上では mikuproject-wbs-<YYYYMMDD>.md と記載があります。
5. 起動時サンプル読込と既定祝日の反映を調整
起動時のサンプル XML 読込に関連して、次の変更が入っています。
loadSample()でサンプル XML を内部モデル化するよう変更- 起動時に
wbsHolidayDatesInputとwbsHolidaySummaryへ既定祝日を反映
6. invalid keyframes 対応
lht-cmn/js/components.js に Element.animate(...) のガード処理を追加しました。
確認できた内容:
transformにNaN/Infinityを含む keyframes を検出した場合は animation をスキップconsole.info("[lht-cmn] skipped invalid Element.animate keyframes", ...)を出力
テスト
コミット内容から、次のテスト更新を確認しました。
tests/mikuproject-main.test.jsを更新- 起動時サンプル読込時の既定祝日反映を検証
SVGダウンロード時のファイル名変更を検証Monthly WBS SVGのZIPダウンロードを検証Mermaidダウンロード時のファイル名変更を検証
WBS Markdown 出力と native SVG プレビューを追加し、Mermaid ランタイム依存を整理
WBS Markdown 出力と native SVG プレビューを追加し、Mermaid ランタイム依存を整理
概要
WBS workbook の名称列 / タスク詳細列の左寄せ、WBS Markdown 出力の追加、native SVG によるプレビュー / 保存の導入、Mermaid ランタイム依存の削除、README スクリーンショット更新を取り込みました。
含まれる変更
WBS workbook の調整
WBS workbookの名称列とタスク詳細列を左寄せに統一- 関連テストを更新
WBS Markdown 出力の追加
WBS Markdown出力を追加WBS ツリーとWBS テーブルを含む Markdown を生成markdown-escapeの共通 module を追加build-project-xlsx-sample.mjsを更新し、Markdown sample も生成できるように変更tests/mikuproject-wbs-markdown.test.jsを追加
native SVG の追加と SVG 出力整理
native-svg.ts/native-svg.jsを追加OverviewのプレビューとSVG保存を nativeSVG前提に整理docs/native-svg-spec.mdを追加mikuproject-src.html、src/ts/main.ts、src/css/app.cssなどで preview / SVG まわりの命名と UI を更新
Mermaid ランタイム依存の削除
src/vendor/mermaid/mermaid.min.jsとsrc/vendor/mermaid/README.mdを削除THIRD-PARTY-NOTICES.mdから Mermaid ランタイム記載を削除docs/architecture.mdとdocs/spec.mdの Mermaid preview / Mermaid SVG 前提の説明を更新tests/mikuproject-single-html.test.jsを、削除済み Mermaid runtime を参照しないことを確認する形へ更新
XML / XLSX / validation 周辺の改善
excel-ioを更新- required default fills の扱いを改善
msproject-xmlを更新- task 並び順 warning などの validation を追加
- 関連テストを更新
tests/mikuproject-excel-io.test.jstests/mikuproject-main.test.jstests/mikuproject-wbs-xlsx.test.js
README / スクリーンショット更新
README.mdを更新native SVG preview前提の説明へ更新WBS Markdown出力例を追加
- スクリーンショットを更新
docs/screenshots/screen01.pngdocs/screenshots/screen02.pngdocs/screenshots/screen03.pngdocs/screenshots/excel01.png
- 新しいスクリーンショットを追加
docs/screenshots/markdown01.png
主な更新ファイル
src/ts/wbs-markdown.tssrc/ts/native-svg.tssrc/ts/markdown-escape.tssrc/ts/main.tssrc/ts/msproject-xml.tssrc/ts/excel-io.tsdocs/native-svg-spec.mddocs/spec.mddocs/architecture.mdREADME.md
README / AI JSON Prompt-Spec / XLSX 出力まわりの整備
README / AI JSON Prompt-Spec / XLSX 出力まわりの整備
概要
入口ドキュメントと紹介ページの整備、AI JSON Prompt / Spec 文書の再構成、XLSX 出力時の文字列セル・XML サニタイズ・WBS 行高調整を含む更新を取り込みました。
含まれる変更
README・紹介ページ・OSS 基本文書の整備
README.mdを入口文書として再構成docs/architecture.mdを追加- OSS 向け文書を追加
CONTRIBUTING.mdCONTRIBUTORS.mdCODE_OF_CONDUCT.mdTHIRD-PARTY-NOTICES.md
index-src.html/index.htmlの紹介内容を更新- スクリーンショットや代表ユースケースを README / 紹介ページへ反映
AI JSON Prompt / Spec の再構成
docs/mikuproject-ai-json-spec.mdのタイトルと構成を整理- README と整合する説明を追加
- 生成AI向けプロンプトとして読みやすいように見出し構造と出力ルールを整理
- プロンプト受領時の返答ルールを追加
XLSX 出力まわりの改善
excel-ioにtextの number format を追加formulaではない値付きセルを既定で text 扱いに変更inlineStr出力時に、先頭・末尾空白や改行を保持するためxml:space="preserve"を付与- XML 1.0 で不正となる制御文字のサニタイズを追加
project-xlsx/wbs-xlsxのセル値を文字列化し、Excel 側で再解釈されにくいよう調整- WBS workbook の行高計算を、文字数閾値ベースから折り返し行数ベースへ変更
docs/TODO.mdに、WBS workbook の表示専用列と hidden 列の分離検討を追記
主な更新ファイル
docs/mikuproject-ai-json-spec.mddocs/TODO.mdindex-src.htmlindex.htmlmikuproject.htmlsrc/ts/excel-io.tssrc/ts/project-xlsx.tssrc/ts/wbs-xlsx.tstests/mikuproject-excel-io.test.jstests/mikuproject-project-xlsx.test.jstests/mikuproject-wbs-xlsx.test.js
README 再編と OSS 基本文書の追加
README 再編と OSS 基本文書の追加
概要
README.md を入口文書として再構成し、設計・運用寄りの説明を別文書へ分離しました。
あわせて、公開 OSS としての基本文書を追加し、第三者告知の配置と内容も整理しています。
主な変更
README.mdを再構成mikuprojectの 3 本柱を冒頭で明示single-file web appとしての性格を明記- 代表的なユースケースを追加
Input / Overview / Output / WBS Excel ブックのスクリーンショットを追加- 入口として必要な内容に絞って整理
docs/architecture.mdを追加- 全体構成
MS Project XML -> ProjectModel -> 各表現の位置づけ- single-file web app 構成
- build / generated files / 運用ルール
- 画面構成
- 制約
- OSS 向け文書を追加
CONTRIBUTING.mdCONTRIBUTORS.mdCODE_OF_CONDUCT.md
- 第三者告知を整理
- repo ルートに
THIRD-PARTY-NOTICES.mdを追加 Mermaidopen-msp-viewer- MicrosoftDocs Project XML Data Interchange reference
を記載 - Microsoft schema 実体の説明は MicrosoftDocs 項目へ寄せて整理
- repo ルートに
- 関連ドキュメント導線を更新
README.mdからarchitecturethird-party noticescontributingcontributorscode of conduct
へリンク
主な対象ファイル
README.mddocs/architecture.mdCONTRIBUTING.mdCONTRIBUTORS.mdCODE_OF_CONDUCT.mdTHIRD-PARTY-NOTICES.md