Skip to main content

PC 内の AI エージェント設定・成果物・自動発火を棚卸しして1枚の HTML にする

Project description

ai-env-map

PC の中に散らばった AI エージェントの設定を、階層構造のまま1枚の HTML にする道具です。

Claude Code、Codex、Gemini CLI、Cursor、Copilot と使うツールが増えるほど、CLAUDE.mdAGENTS.mdsettings.jsonSKILL.md があちこちの階層に溜まっていきます。どこに何があり、 どれがどれを上書きし、何が自動で動くのかが分からなくなる。それを一覧できるようにします。

  • どの階層に何があるか — ディレクトリ構造そのままの入れ子ツリー
  • それが何を規定しているか — 行数ではなく中身。見出し、許可と拒否、フック、モデル指定
  • git の追跡状態 — 追跡されていない設定はその人のマシンにしか効かない
  • 何が勝手に動くか — フック、launchd、systemd、cron、タスクスケジューラ
  • 散らかりの検出 — 指示ファイルの併存、同名スキルの重複、平文の認証情報、陳腐化

ネットワーク通信は一切行いません。すべてローカルのファイル読み取りだけで完結します。

入れる

uv tool install ai-env-map

pipx install ai-env-map でも入ります。Python 3.11 以上が必要です。

使う

ai-env-map

./Deliverables/<日付>/ai-env-map.html が生成され、ブラウザで開きます。

オプション 意味
-o, --out <パス> 出力先を変える
--home <パス> 走査の起点。既定はホームディレクトリ
--depth <数> プロジェクト探索の深さ上限。既定は 5
--redact 共有モード。後述
--no-content ファイル本文を埋め込まない。出力が軽くなる
--fast 容量計測と成果物走査を省く
--json HTML ではなく JSON を標準出力に書く
--no-open 生成後にブラウザで開かない

出力の読み方

ツリーの各行の L0 L1 L2 が階層の深さです。深い階層の設定が浅い階層を上書きします。 同じ名前のファイルが複数の段に現れたら、下の段が勝ちます。

の付いたファイルはクリックすると中身が右から出てきます。Esc か背景クリックで閉じます。 上部の検索欄と分類チップで絞り込めます。/ キーで検索欄に移動します。

共有するとき

既定の出力にはファイルの中身がそのまま入ります。 設定ファイルに API キーが平文で 書かれていれば、それも HTML に入ります。手元で自分の設定を点検するための道具なので あえて伏せていませんが、その分そのままでは共有できません。

認証情報を検出した場合はページ冒頭に警告帯が出て、何がどのファイルの何行目にあるかを示します。

他の人に渡すときは共有モードを使ってください。

ai-env-map --redact -o shared.html

共有モードでは以下が行われます。

  • ファイル本文を一切埋め込みません(描画側でも強制されます)
  • パス、ディレクトリ名、利用者名を «a1b2» のような伏字に置き換えます
  • 設定ファイルから抽出した見出しや説明文の中に現れる同じ語も置き換えます
  • 05_プロジェクト名 のような連番付きフォルダは、本文中の プロジェクト名 も置き換えます

ただし万全ではありません。ディレクトリ名と一致しない人名・社名・製品名が説明文に 含まれる場合は残ります。外部に出す前に一度目を通してください。

対応しているツール

ツール 指示 設定 スキル / エージェント MCP フック
Claude Code
Codex CLI
Gemini CLI
GitHub Copilot
opencode
Cursor
Zed
Windsurf
Cline
Continue
aider

AGENTS.md を読むその他のツールは共通の受け皿で拾います。

対応ツールを増やす

ai_env_map/adapters.pyToolAdapter のサブクラスを1つ足し、ADAPTERS に登録する だけです。走査側と描画側は変更しません。

class MyToolAdapter(ToolAdapter):
    name = "mytool"
    display = "My Tool"
    project_markers = (".mytoolrules",)

    def global_configs(self, home):
        f = home / ".mytool" / "config.json"
        if f.is_file():
            yield _cfg(f, self.name, "settings", "user")

各メソッドは実装しなくても構いません。例外を投げても走査全体は止まらず、 そのアダプタの結果だけが欠けて走査ログに記録されます。

動作環境

Python 3.11 以上。macOS、Linux、Windows。依存パッケージはありません。

OS ごとに見る場所が変わります。macOS は launchd、Linux は systemd のユーザーユニット、 Windows はタスクスケジューラとスタートアップフォルダを読みます。

開発

uv venv --python 3.13 .venv
uv pip install --python .venv/bin/python pytest
.venv/bin/python -m pytest tests/ -q

伏字と認証情報の検出はテストで固定してあります。ここを変更するときは必ずテストも 確認してください。壊れると実害が出ます。

CI では macOS・Linux・Windows の3つで Python 3.11 と 3.13 を回し、実際に走査して HTML が生成できること、生成物に外部参照が混入していないことまで確認しています。

ライセンス

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_env_map-0.1.0.tar.gz (52.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_env_map-0.1.0-py3-none-any.whl (48.7 kB view details)

Uploaded Python 3

File details

Details for the file ai_env_map-0.1.0.tar.gz.

File metadata

  • Download URL: ai_env_map-0.1.0.tar.gz
  • Upload date:
  • Size: 52.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ai_env_map-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0a5983bce52f274615d7397d894178c6dc38ed2167bd5ff36830e7572f0286f0
MD5 a3c321702951bf673e3db369cad39749
BLAKE2b-256 735922fc2b837ae82dd46b4ecc2c0e576ae18f5037d2c5aa2f01a715e04e800c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_env_map-0.1.0.tar.gz:

Publisher: publish.yml on ryuichiyamaguchi/ai-env-map

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ai_env_map-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ai_env_map-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 48.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ai_env_map-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f311d6c2bdb7ab5941b724a1e31de3ce06c6e7596c910bd8335db70b9dce36f6
MD5 b4ef15c221f9927b4f7b296d72c1c63b
BLAKE2b-256 7579fe8c7fed95368702a922ed02ca72156603fbb322c57bb35002d17db5efdc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_env_map-0.1.0-py3-none-any.whl:

Publisher: publish.yml on ryuichiyamaguchi/ai-env-map

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page