native-nostalgia-stack について
Free Pascal プロジェクトの規約と完了時の確認事項を定めるコーディングスキルです。ソース配置、ビルド、フォーマット、コード品質を扱います。
主な機能
- 01Free Pascal のコンパイラーと配置規則
- 02ルートのビルドエントリーポイント規約
- 03フォーマッターと品質チェックの要件
- 04Lefthook によるコミット前チェック
- 05ドキュメントと完了基準
活用シーン
- 01Free Pascal プロジェクトの開始
- 02Pascal ソースとテストの配置
- 03ビルドとフォーマット手順の策定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ frostney/ known-good-route --skill native-nostalgia-stackインストール後、Claude Code で/native-nostalgia-stackを入力して読み込まれたか確認します。
同梱ファイルreferences/code-style.md
詳細
ネイティブ・ノスタルジアスタック
依頼された作業には、契約に記載された内容のみを適用してください。実装ルールと正確なコマンドはプロジェクトの AGENTS とドキュメントが定めます。言語に依存しないレイアウトとドキュメントについては project-structure/SKILL.md が定めます。
コンパイラーとレイアウト
- プロジェクトと CI で固定されている FPC バージョンを使用してください。新しいプロジェクトでは最新の安定版を固定します。プロジェクトのドキュメントで別のモードが明示的に選ばれていない限り、Delphi モードを使用してください。
- プロジェクト全体に適用するコンパイラーディレクティブは、すべてのユニットで使用する共通のインクルードファイルにまとめてください。
- Pascal のソースは単一のルート(
source/を推奨)以下に置き、名前空間が扱いにくくなるまでは、名前空間付きのファイル名とフラットなレイアウトを使用してください。 - ユニットテストは対象のユニットと同じ場所に置き、納品するエンドツーエンドテスト用コーパスはルートの
tests/以下に置いてください。 - 無視対象のビルド出力はすべてルートの
build/以下に置いてください。 - 単発の Pascal スクリプトには実行可能な InstantFPC を優先して使用してください。既存のタスクランナー、または動的言語を使うのは、それらを使うことで大幅に簡素化できる場合に限ります。
Pascal のソースを作成またはレビューする際は、references/code-style.md を読んでください。
ビルドの契約
実装方法はプロジェクトが選択しますが、ルートに次のエントリーポイントを 1 つ用意します。
- 引数なしで実行すると、すべてのバイナリをクリーンな開発ビルドとしてビルドします。
- 位置引数で 1 つ以上のバイナリターゲットを選択します。
- 開発ビルドをデフォルトとし、本番用フラグでリリース設定を選択します。
cleanはターゲットとして指定でき、他のターゲットと組み合わせることもできます。- すべてのバイナリを
build/以下に出力します。
エントリーポイント、ターゲット、フラグは docs/build-system.md に記載してください。変更する前に、このドキュメントを読んでください。
フォーマッターと健全性の契約
フォーマッター/リンターのコマンドは 1 つにまとめ、デフォルトでは Pascal コードを書き換え、変更を加えない --check モードでは差異がある場合にゼロ以外の終了コードを返します。プロジェクト固有のスタイルはツールと docs/code-style.md に設定し、設定ファイルに分散させないでください。
コードベース健全性チェックでは、位置情報付きの重複、関数ごとの循環的複雑度と認知的複雑度、並べ替え可能なファイル健全性、および複雑度と変更頻度を掛け合わせたホットスポットを報告します。しきい値と無視設定はルートの設定ファイル 1 つにまとめ、しきい値に抵触した場合はゼロ以外の終了コードを返します。ツールとしきい値は docs/tooling.md に記載してください。
フック
Lefthook は、ステージ済みの Pascal コードに対するプロジェクトのフォーマッターチェックと、ビルドおよびテストのコマンドを実行します。プロジェクトの正確なエントリーポイントを使用し、ドキュメントに記載されたクイックスタートからフックをインストールしてください。ユーザーから明示的な指示がない限り、フックを回避しないでください。
完了条件
- ルートと各領域の AGENTS を確認し、
fpc -iVがプロジェクト/CI で固定されているバージョンと一致していることを確認しました。また、変更したツールのバージョンは、その動作を前提とする前に実際に確認しました。 - プロジェクトのフォーマッターとビルド・テストの各ゲートが通過することを確認しました。
- 変更に関係する、信頼できる唯一のドキュメントのみを更新しました。