テンプレート一覧に戻る
Node.js CLI ツール
Node.js + TypeScript + Commander.js のCLIツール向けCLAUDE.md。npm配布可能なコマンドラインツール開発に最適です。
中級nodejsclitypescript
CLAUDE.md
# プロジェクト名
Node.js + TypeScript で構築されたCLIツール。
## 技術スタック
- **ランタイム**: Node.js 22 LTS
- **言語**: TypeScript 5.x (strict mode)
- **CLI フレームワーク**: Commander.js 13.x
- **ビルド**: tsup (バンドル + shebang挿入)
- **テスト**: Vitest
- **パッケージマネージャ**: npm
## コマンド
| コマンド | 用途 |
|---------|------|
| `npm run dev` | tsx で直接実行(開発用) |
| `npm run build` | tsup でバンドル |
| `npm test` | Vitest実行 |
| `npm run lint` | ESLint実行 |
| `npm link` | ローカルインストール(動作確認用) |
## ディレクトリ構造
| パス | 役割 |
|-----|------|
| `src/cli.ts` | エントリーポイント(bin) |
| `src/commands/` | サブコマンド定義 |
| `src/lib/` | コアロジック |
| `src/types/` | TypeScript型定義 |
| `dist/` | ビルド出力 |
## コーディング規約
- CLIロジックとコアロジックを分離(テスタビリティ向上)
- process.exit() はエントリーポイントのみで呼ぶ
- エラーメッセージはユーザーフレンドリーに(スタックトレースはverboseモードのみ)
- `--help` と `--version` は必ずサポート
- 標準出力(stdout)と診断出力(stderr)を使い分ける
- 終了コードは0(成功)/ 1(エラー)を厳守
## Git規約
- ブランチ: `feature/`, `fix/`, `chore/`
- コミットメッセージ: Conventional Commits形式
- リリースは npm publish + GitHub Release