engram-project-structure について
Engram のコントリビューター向けに、コードやファイルの配置を案内するプロジェクト構成スキルです。ダッシュボード、サーバー、ストレージの変更に関する配置規則や作成手順、アンチパターンを示します。
主な機能
- 01ドメインに沿ったコード配置
- 02ダッシュボードのテンプレートとアセットの場所
- 03ルートとデータベース変更の指針
- 04UI コンポーネントと生成ファイルの規則
- 05アーキテクチャのアンチパターン
活用シーン
- 01新しい処理の配置先を決める
- 02専用テスト付きのルートを追加する
- 03ダッシュボードのページやパーシャルを作る
- 04ハンドラーから永続化処理を分離する
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ gentleman-programming/ engram --skill engram-project-structureインストール後、Claude Code で/engram-project-structureを入力して読み込まれたか確認します。
詳細
使用するタイミング
このスキルは、以下の場合に使用します。
- 新しいパッケージ、ファイル、ディレクトリを作成するとき
- コードをどこに配置するか判断するとき
- テスト、テンプレート、アセット、ドキュメントを追加するとき
配置ルール
- 呼び出し元がたまたま利用する場所ではなく、そのコードの領域の近くに動作を配置します。
- テンプレートは
internal/cloud/dashboard/*.templに配置し、生成されたファイルもチェックインします。 - 新しい静的アセットが明らかに必要な場合を除き、ダッシュボードのスタイルは
internal/cloud/dashboard/static/styles.cssに配置します。 - HTTP ハンドラーはサーバーパッケージに配置し、ストアパッケージには配置しません。
- 永続化クエリはハンドラーではなく、store/cloudstore に配置します。
ファイル作成ルール
- 新しいルート -> dashboard/server パッケージにハンドラーとテストを追加
- 新しい DB の動作 -> store/cloudstore のコードと対象を絞ったテストを追加
- 新しい UI のパーシャル/ページ -> templ コンポーネントと、生成された
_templ.goを追加 - 新しいコントリビューター向けガイダンス -> 同じ変更で docs/catalog を更新
アンチパターン
- SQL、HTML、トランスポートロジックを1つのファイルに混在させないでください。
- 一度限りのヘルパーのためにユーティリティパッケージを作成しないでください。
- 実際の結合を解消しない限り、パッケージレイヤーを追加しないでください。
コメント
Markdown 対応