This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
kilarは、ポートプロセス管理のためのRust製CLIツールです。開発者がよく遭遇する「ポートが既に使用されています」問題を解決し、ポート使用状況の確認とプロセスの停止を簡単に行えます。
src/cli.rs: CLI引数のパース(clap使用)src/commands/: 各コマンドの実装(check, kill, list)src/port/: ポート情報の取得・管理src/process/: プロセス操作(kill等)src/utils/: バリデーション関数等src/error.rs: エラー型の定義
- check: 指定ポートの使用状況確認
- kill: 指定ポートのプロセス停止
- list: 使用中ポート一覧表示(フィルタ・ソート機能付き)
- macOS/Linux:
lsofコマンドでポート情報取得 - プロセス停止: UnixのSIGTERM/SIGKILLシグナル使用
# 開発ビルド
cargo build
# リリースビルド
cargo build --release
# テスト実行
cargo test
# 統合テスト
cargo test --test integration_test# フォーマットチェック
cargo fmt --check
# Clippy実行
cargo clippy --all-targets --all-features -- -D warnings
# セキュリティ監査
cargo audit
# すべてのCIチェック実行
make cimake build: デバッグビルドmake release: リリースビルドmake test: テスト実行make fmt: フォーマット適用make clippy: Clippy実行make ci: 全品質チェック実行
# パッケージ作成
cargo package
# 公開前チェック
cargo publish --dry-run
# クロスプラットフォームビルド
make build-linux
make build-macos-intel
make build-macos-arm- clap: CLI引数パース(derive機能使用)
- tokio: 非同期ランタイム
- colored: ターミナル色付け
- dialoguer: 対話的UI
- serde/serde_json: JSON出力サポート
- anyhow: エラーハンドリング
- cargo-audit: セキュリティ監査
- cargo-watch: ファイル変更時の自動実行
- 統合テスト:
tests/integration_test.rs - ユニットテスト: 各モジュール内の
#[cfg(test)] - バリデーション関数テスト: ポート・プロトコル・ソートオプションの検証
- システムツール(lsof等)の可用性に依存するため、CI環境では適切なエラーハンドリングが必要
- 高ポート番号(65432等)を使用してシステム影響を最小化
cargo fmtでのフォーマット(コード変更時は必須実行)cargo clippy警告の解決必須- Rustdocコメント(公開API必須)
- 重要: コードを変更した場合は、必ず
cargo fmt --allを実行してコードをフォーマットすること - フォーマット後の変更もコミットに含める
- CI/CDパイプラインで
cargo fmt --checkによる検証を実施
src/error.rsのカスタムError enum使用anyhowでコンテキスト付きエラー- ユーザー向けの分かりやすいエラーメッセージ
tokioベースの非同期実行- システムコマンド実行は
tokio::process::Command
- Tap:
polidog/homebrew-kilar - インストール:
brew tap polidog/kilar && brew install kilar - Formula更新スクリプト:
scripts/update-formula.sh
- GitHub Releasesでクロスプラットフォームバイナリ提供
- macOS(Intel/Apple Silicon)、Linux(x86_64/ARM64)対応
cargo publishでRustパッケージレジストリに公開