# ファイル構造概要

プラグインとは、複数のファイルを含むインストールパッケージであり、ユーザーに直接配布することができます。

<pre><code><strong>Plugin
</strong>├─ manifest.json
├─ logo.png
├─ index.html
└─ js
   └─ plugin.js
</code></pre>

<figure><img src="/files/dzCFNY8maweGsTyI5XqH" alt=""><figcaption></figcaption></figure>

***

## manifest.json <a href="#zqpdi" id="zqpdi"></a>

これはすべてのプラグインが持っている必要があるファイルです。プラグインの基本情報（プラグイン名、バージョン、実行コードエントリなど）が含まれています。異なるプラグインタイプには異なる設定方法があり、「ウィンドウプラグイン」の基本設定は以下の通りです。

```json
{
    "id": "LB5UL2P0Q9FFF",
    "version": "1.0.0",
    "name": "Hello World",
    "logo": "/logo.png",
    "keywords": ["keywrod1", "keywrod2"],
    "main":
    {
        "devTools": true,
        "url": "index.html",
        "width": 640,
        "height": 480
    }
}
```

* `id` - プラグインID
* `version` - プラグインのバージョン
* `name` - プラグイン名
* `logo` - プラグインの代表的なアイコン
* `keywords` - プラグインのキーワード。プラグイン名以外にも、これらのキーワードを使ってユーザーが素早く検索できます。
* `main` - プラグインウィンドウのプログラムエントリ設定
  * `url` - エントリページ
  * `width` - ウィンドウの幅
  * `height` - ウィンドウの高さ

{% hint style="info" %}
注：この記事にアクセスして、[`manifest.json` のすべての設定方法を調べる](/plugin-api/ja-jp/tutorial/manifest.md)ことができます。
{% endhint %}

{% hint style="info" %}
**完全なサンプルコード：**

<https://github.com/eagle-app/eagle-plugin-examples/tree/main/Window>
{% endhint %}

## logo.png <a href="#pui04" id="pui04"></a>

`manifest.json` 内の `logo` フィールドに対応します。プラグインのアイコンであり、プラグインリストやプラグインセンターで使用されます。128 x 128の解像度を持つ画像を提供してください。アイコンは通常PNG形式であるべきで、PNGは透明度のサポートが最も優れているためです。

***

## index.html <a href="#gmbp0" id="gmbp0"></a>

`manifest.json` 内の `main` フィールドに対応します。これはプラグインプログラムのエントリーファイルであり、プラグインが実行されるときに `index.html` は独立したブラウザウィンドウで読み込まれ、実行されます。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.eagle.cool/plugin-api/ja-jp/get-started/anatomy-of-an-extension.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
