SDD Helper - VS Code Extension
Spec Driven Development (SDD) を支援するVS Code拡張機能です。仕様書とソースコードの関連性を明確にし、効率的な仕様駆動開発を実現します。
機能
- 📚 仕様ID検出: ドキュメントフォルダ内のMarkdownファイル名から仕様IDを自動生成
- 🔗 Tree View: 仕様IDごとに参照箇所を一覧表示・ジャンプ
- 💡 ホバー表示: 仕様IDにマウスを乗せると詳細情報を表示
- ✨ 自動補完:
@spec()
形式での仕様ID入力をサポート
- ⚠️ 診断機能: 存在しない仕様IDを警告表示
- 🎯 コマンド: 仕様ID一覧表示、定義へのジャンプ機能
インストール・開発
依存関係のインストール
npm install
ビルド
npm run compile
開発・デバッグ実行
- VS Codeでプロジェクトを開く
- F5キーを押してExtension Development Hostを起動
使用方法
1. セットアップ
仕様書フォルダの作成
プロジェクトルートにdocs
フォルダを作成(設定で変更可能)
仕様書の作成
docs/
フォルダ内にMarkdownファイルを作成します。ファイル名が仕様IDとなります:
docs/USER_LOGIN.md
# ユーザーログイン機能
ユーザーはメールアドレスとパスワードでログインできる機能です。
## 詳細仕様
- メールアドレス形式の検証
- パスワードの最小文字数制限
docs/USER_LOGOUT.md
# ユーザーログアウト機能
ユーザーはログアウトボタンでセッションを終了できる機能です。
2. ソースコードでの仕様ID参照
重要: @spec(仕様ID)
形式でコメント内に記述してください。
JavaScript/TypeScript
// @spec(USER_LOGIN) ユーザーログイン処理
function authenticateUser(email, password) {
// 実装...
}
// @spec(USER_LOGOUT) セッション終了処理
function logoutUser() {
// 実装...
}
Python
# @spec(USER_LOGIN) ユーザーログイン処理
def authenticate_user(email, password):
# 実装...
pass
Java
// @spec(USER_LOGIN) ユーザーログイン処理
public void authenticateUser(String email, String password) {
// 実装...
}
3. 機能の使用
コマンドパレット(Ctrl+Shift+P / Cmd+Shift+P)
SDD Helper: Refresh Specification IDs
- 仕様IDを再読み込み
SDD Helper: Show All Specification IDs
- 全仕様ID一覧を表示
SDD Helper: Go to Specification
- カーソル位置の仕様IDの定義にジャンプ
ホバー機能
仕様IDにマウスを乗せると詳細情報がポップアップ表示されます
自動補完
コメント内で// U
や// A
など大文字で始まる文字を入力後、Ctrl+Space
で仕様IDの候補が表示されます
診断機能
存在しない仕様IDには黄色い波線が表示され、Problemsパネルで確認できます
設定
VS Codeの設定(Settings)で以下をカスタマイズ可能:
sddHelper.docsFolder
: 仕様書フォルダのパス(デフォルト: "docs")
sddHelper.enableAutoCompletion
: 自動補完の有効化(デフォルト: true)
sddHelper.enableHover
: ホバー表示の有効化(デフォルト: true)
sddHelper.enableDiagnostics
: 診断機能の有効化(デフォルト: true)
テスト実行
単体テスト
npm test
リント・型チェック
npm run lint
npm run typecheck
パッケージ化
npm run package
プロジェクト構成
sdd-helper/
├── .vscode/ # VS Code設定
├── src/
│ ├── extension.ts # エントリーポイント
│ ├── commands.ts # コマンド実装
│ ├── providers/ # 各種プロバイダー
│ ├── utils/ # ユーティリティ
│ └── test/ # テストファイル
├── docs/ # 仕様書フォルダ(例)
├── package.json # 拡張機能設定
└── README.md
ライセンス
MIT
開発ガイドライン
詳細な開発ガイドラインについてはAGENT.mdとCLAUDE.mdを参照してください。