Skip to content

開発ガイド

必要環境

初回セットアップ

cmd
mise install && mise run setup

dotnetnodepnpmなどのコマンドはシステムにインストールされたものではなく、必ずmise経由で実行すること。 具体的にはmise runタスク経由、またはmiseが管理するPATH上のバイナリを使用する。

miseタスク

普段使うのはこの2つ。

コマンド内容
mise run formatコード整形 + lint (testの軽量版)
mise run test全チェック (format確認 + build + test + lint)

git commit時にはpre-commitフックがmise run testを自動実行する。

その他のタスク。

コマンド説明
mise run setup開発環境のセットアップ
mise run buildリリースビルド
mise run cleanビルド成果物の削除
mise run update依存パッケージの更新
mise run docsドキュメントのローカルプレビュー

VSCodeではCtrl+Shift+Bでデフォルトのビルドタスク(build)を実行できる。

デバッグ

  1. VSCodeでF5を押すとデバッグ起動
  2. .vscode/launch.jsonに起動設定を定義済み

Analyzerルールの導入

新しいAnalyzerルールを導入する際は、まず.editorconfignoneに抑制し、修正完了後にwarningへ昇格するアプローチが安全。 TreatWarningsAsErrors=true環境ではsuggestionもビルドに表れないため、dotnet format --diagnosticsで対象箇所を列挙する。

.NET SDKの更新

cmd
mise upgrade dotnet

ドキュメントサイト

ドキュメントは VitePress で構築し、GitHub Pagesでホストしている。

  • URL: https://ak110.github.io/lc/
  • ローカルプレビュー: mise run docs
  • 自動デプロイ: masterブランチへのpush時にDocsワークフローが自動実行される(docs/以下またはpackage.jsonの変更時のみ)

リリース手順

GitHub ActionsのReleaseワークフローを手動実行してリリースする。

cmd
rem リリース実行(いずれか1つ)
gh workflow run release.yaml --field "bump=バグフィックス"
gh workflow run release.yaml --field "bump=マイナーバージョンアップ"
gh workflow run release.yaml --field "bump=メジャーバージョンアップ"

rem ワークフロー完了を待ち、バージョンバンプコミットを取り込む
for /f "usebackq" %i in (`gh run list --workflow=release.yaml -L1 --json databaseId -q ".[0].databaseId"`) do gh run watch %i && git pull

結果の確認: https://github.com/ak110/lc/actions