mcpField
F
feature-manifest

feature-manifest

github.com/curiositech開発257171 回インストール2 日前に更新
リポジトリ

feature-manifest について

機能と実装ファイル、テスト、依存関係、変更履歴を結び付けるマニフェストを管理するスキルです。マニフェストの作成、更新、検証に使うコマンドと手順を提供します。

主な機能

  1. 01機能マニフェストの作成と確認
  2. 02実装ファイルとテストの追跡
  3. 03依存関係と環境変数の記録
  4. 04マニフェストの正確性を検証
  5. 05機能の状態と未追跡ファイルを確認

活用シーン

  1. 01新機能のマニフェスト登録
  2. 02コード変更後のマニフェスト更新
  3. 03ファイルの担当機能の確認
  4. 04古い記録や未追跡ファイルの発見

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/curiositech/some_claude_skills --skill feature-manifest

インストール後、Claude Code で/feature-manifestを入力して読み込まれたか確認します。

同梱ファイル.claude-plugin/plugin.json

詳細

機能マニフェストの管理

このスキルは、機能とその実装の関係を追跡する機能マニフェストシステムを扱う際に役立ちます。

このスキルを使用するタイミング

  • 新しい機能を作成するとき
  • 既存の機能コードを変更するとき
  • あるファイルを担当する機能を確認するとき
  • マニフェストの正確性を検証するとき
  • 変更履歴を更新するとき
  • 機能の健全性チェックを実行するとき

クイックコマンド

# List all features
npm run feature:info -- --list

# Get details about a feature
npm run feature:info -- <feature-id>

# Find which feature owns a file
npm run feature:info -- --files <filepath>

# Validate all manifests
npm run feature:validate

# Check feature health (staleness, orphans, coverage)
npm run feature:health

# Create a new feature manifest
npm run feature:create

ワークフロー:新しい機能の作成

  1. まずマニフェストを作成します:

    npm run feature:create -- --id=my-feature --name="My Feature"
    
  2. **機能を実装し、**作業に合わせてファイルを追加します

  3. マニフェストを更新します:

    • implementation.files にすべての実装ファイルを追加します
    • テストを tests.unit/integration/e2e に追加します
    • 依存関係を dependencies.internal/external に追加します
    • 環境変数を dependencies.env_vars に追加します
  4. コミット前に検証します:

    npm run feature:validate
    

ワークフロー:既存の機能の変更

  1. まずマニフェストを読みます:

    npm run feature:info -- &lt;feature-id>
    
  2. 実装ファイルを変更します

  3. マニフェストを更新します:

    • 新しいファイルを implementation.files に追加します
    • history.last_modified を今日の日付に更新します
    • 変更履歴の項目を追加します
  4. 検証します:

    npm run feature:validate
    

マニフェストの構造

id: feature-id
name: Human Readable Name
status: complete  # planned | in-progress | complete | deprecated
priority: P1

description: |
  What this feature does and why it exists.

implementation:
  files:
    - src/app/api/feature/route.ts
    - src/lib/feature.ts
  entry_point: src/lib/feature.ts
  database_tables:
    - tableName
  api_routes:
    - POST /api/feature

tests:
  unit:
    - src/lib/__tests__/feature.test.ts
  integration: []
  e2e: []

dependencies:
  internal:
    - features/authentication.yaml
  external:
    - package-name
  env_vars:
    - FEATURE_SECRET
  secrets:
    - feature-api-key

history:
  created: "2024-12-01"
  last_modified: "2024-12-23"

changelog:
  - version: "1.0.0"
    date: "2024-12-23"
    changes:
      - "Initial implementation"

健全性レポートの見方

npm run feature:health を実行すると、次の項目が表示されます。

  • 健全な機能:マニフェストとコードが一致しており、テストも存在します
  • 古い機能:マニフェストが90日以上更新されていない、またはマニフェストの更新後にコードが変更されています
  • テストなし:完成しているものの、テストが記載されていない機能です
  • 孤立したファイル:どのマニフェストにも追跡されていない src/ 内のファイルです
  • マニフェストの候補:マニフェストを用意するべき新しいディレクトリです

ベストプラクティス

  1. 1つのマニフェストにつき1つの機能 - 対象を絞ります
  2. 変更のたびに更新する - マニフェストを古いままにしないようにします
  3. 変更履歴は追記のみ - 古い項目は変更しません
  4. すべてのファイルを含める - ファイルを孤立させないようにします
  5. 依存関係を明記する - どの機能がほかの機能に依存しているかを示します

コメント