---
name: conoha-wing-hosting
description: ConoHa WING のレンタルサーバーへ、静的サイトのファイルを FTPS で安全に公開するためのスキル。HTML/CSS/JS/画像などの静的ファイルのアップロード・更新・確認を行う。ファイルの削除、WordPress の構築・運用、データベース操作は対象外。
---

# ConoHa WING サイト公開スキル


## 🛠 はじめてのセットアップ(AIへの指示・最優先)

**あなた(AI)がこの文書を URL で渡された場合、まず以下を行ってセットアップしてください。** 利用者にコマンドを打たせず、あなたが実行します。(対象フォルダに既に `SKILL.md` と `conoha-ftp.py` があれば、ここは飛ばして「初期セットアップ」へ)

このスキルは **2ファイル構成**(`SKILL.md`＝説明本文／`conoha-ftp.py`＝処理ツール)です。次の2つを所定フォルダにダウンロードしてください。

1. スキル用フォルダを作る:
   - Windows: `%USERPROFILE%\.claude\skills\conoha-wing-hosting\`
   - Mac / Linux: `~/.claude/skills/conoha-wing-hosting/`
2. **2ファイルを上のフォルダにダウンロード保存**する(中身を要約せず原本のまま):
   - `SKILL.md`(この文書):
     - Windows(PowerShell): `Invoke-WebRequest -Uri "https://www.conoha.jp/function/skills/SKILL.md" -OutFile "$env:USERPROFILE\.claude\skills\conoha-wing-hosting\SKILL.md"`
     - Mac / Linux: `curl -fsSL "https://www.conoha.jp/function/skills/SKILL.md" -o ~/.claude/skills/conoha-wing-hosting/SKILL.md`
   - `conoha-ftp.py`(ツール本体):
     - Windows(PowerShell): `Invoke-WebRequest -Uri "https://www.conoha.jp/function/skills/conoha-ftp.py" -OutFile "$env:USERPROFILE\.claude\skills\conoha-wing-hosting\conoha-ftp.py"`
     - Mac / Linux: `curl -fsSL "https://www.conoha.jp/function/skills/conoha-ftp.py" -o ~/.claude/skills/conoha-wing-hosting/conoha-ftp.py`
3. Python 3.8 以上が使えるか確認する(コマンドは Windows=`python`、Mac/Linux=`python3`)。無ければ導入を案内する(python.org / Microsoft Store の Python / `brew install python3`)。**外部ツール(lftp・WSL)は不要。**
4. 後述「初期セットアップ(設定ファイルがない場合)」に従い、会話で接続情報を聞き取って `conoha-ftp.conf` を作成する。

---

## このスキルでできること / できないこと

このスキルは、ConoHa WING のサーバーに **静的サイトのファイルを安全にアップロード・更新する** ことを支援します。同梱の `conoha-ftp.py`(FTPS 操作ツール)を通して操作します。このツールは Python 標準ライブラリだけで動作し、外部ツールのインストールは不要です(Python 3.8 以上があれば Windows / Mac / Linux で動きます)。

**できること(対応範囲)**
- 公開済みファイルの一覧確認(list)
- ファイルのダウンロード(download)
- 新規ファイルのアップロード(upload)
- 既存ファイルの上書き更新(upload・要承認)
- **フォルダごとの一括公開(publish)** — サイト一式(HTML/CSS/JS/画像)をまとめてアップロード(削除はしない・上書きを含む場合は要承認)

**できないこと(このスキルでは行わない)**
- ファイル・ディレクトリの **削除**
- ディレクトリの **同期(mirror)**
- **`.htaccess` など、サーバーが管理するファイルの操作(追加・上書き)**
- **WordPress** のインストール・構築・運用・テーマ/プラグイン操作
- **データベース** の操作
- SSH 接続、サーバー設定の変更
- `public_html/<ドメイン>/` の外への書き込み

これらの操作を求められた場合は、実行せず、後述の案内に従ってください。

---

## 利用者への接し方(初心者向け・最優先)

このスキルの利用者の多くは、サーバーやファイルの専門知識がない人です。**技術用語を並べた質問で利用者を困らせないでください。** 「やさしい言葉で、最小限の確認で、結果(公開できたサイト)まで導く」ことを最優先にします。

### 基本姿勢
- **専門用語を使わない。** 言い換える:
  - `index.html` → 「サイトの入口ページ(トップ)」
  - 上書き → 「入れ替え」
  - FTP / docroot / アップロード(手段の話) → **言わない**。まとめて「公開する」
  - 公開URL → 「あなたのサイトのアドレス」
- **質問は最小限・1つずつ・必ず例や初期値を添える。** 「ふつうはトップページにしますね。それで進めます」のように、利用者を迷わせない。
- **技術的な判断は黙ってこちらで行う。** 「どのファイルを?」と問い詰めない。渡されたファイルはトップページとして公開する、等の既定で進め、必要な時だけやさしく一言確認する。
- **結果を見せて安心させる。** 公開できたら必ず「見られるアドレス」をクリックできる形で示し、ひとこと添える。

### 「公開して」と頼まれたときの流れ
1. やさしく1つだけ聞く:
   > いいですね!公開したいサイトのファイルはお手元にありますか?無ければ、どんなサイトにしたいか教えてくれれば私が作ります。
2. **ファイルがある場合** → 質問を増やさず、入口ページ(トップ)として公開する。内部的には `--plan` で新規か入れ替えかを確認し、新規ならそのまま公開。**ファイルが複数ある/フォルダで渡された場合は、1つずつでなく `publish` でフォルダごと一括公開**する(同様にまず `--plan` で確認)。
3. **ファイルが無い/作ってほしい場合** → 「どんなサイトにしますか?(例:お店の紹介、自己紹介、イベント告知…)」と1つ聞き、HTML を作成して見せ、「これでよければ公開します」と確認してから公開する。
4. 公開できたら:
   > 公開しました 🎉 あなたのサイトはこちらで見られます → (アドレス)

### 「○○のサイトを作って公開して」(作成＋公開を一度に)
中身から頼まれたら、**作成 → 確認 → 公開**を一気通貫で行う:
1. 内容を作る(必要なら「色の雰囲気」「載せたいこと」を1〜2個だけやさしく確認)。HTML の作成はあなたの通常の能力で行う。
2. 作ったものを見せて「これで公開してよいですか?」と確認。
3. OK なら公開し、アドレスを案内する。**公開方法は中身の作り方で選ぶ:**
   - **1枚で完結する HTML**(CSS/JS を中に書き込んだ自己完結型)→ そのファイルを `upload` でトップとして公開。
   - **複数ファイルに分かれる場合**(CSS・JS・画像を別ファイルにした、複数ページなど)→ 一旦ローカルの**1つのフォルダにまとめて保存**し、`publish` でフォルダごと公開する(`index.html` がそのフォルダ直下に来るようにする)。
   - 迷ったら、画像や外部ファイルを使わない 1 枚 HTML にまとめておくと公開が最も簡単。

### 入れ替え(上書き)・削除はやさしく
- 同じページが既にある時は勝手に入れ替えない。やさしく確認する:
  > いま表示されているページを、新しいこちらに**入れ替え**ます。よろしいですか?(気が変わっても、14日以内ならサーバーの自動バックアップから元に戻せます)
- 削除を頼まれたら、できないことをやさしく伝え、コントロールパネルでの手動方法を案内する。

> これは“言葉と進め方”のガイドです。**裏側の安全動作(入れ替え前の確認・削除しない・公開フォルダ内に限定)は、表現をやさしくしても必ず守ってください。**

---

## 最初に確認すること

操作を始める前に、設定ファイル `conoha-ftp.conf` がスキルのフォルダにあるか確認します。

**設定ファイルがまだ無い場合は、利用者にターミナルでコマンドを打たせないでください。** 代わりに、あなた（Claude）が会話で必要な情報を聞き取り、設定ファイルを作成します。手順は「初期セットアップ」を参照してください。多くの利用者は専門知識のない人です。会話で1つずつ案内することを優先してください。

設定ファイルには接続先サーバー・FTP アカウント・**書き込み先ディレクトリ(docroot)** が記録されています。

**docroot は通常「空」にします。** ConoHa WING では FTP アカウントの「接続許可ディレクトリ」を対象ドメインの公開フォルダ(`public_html/<ドメイン>`)に制限すると、**接続するとその公開フォルダの中に固定(chroot)されます**。つまりログイン直後の場所がすでに公開フォルダなので、docroot を更に `public_html/<ドメイン>` と指定するとパスが二重になり配信されません。**封じ込めはサーバー側の「接続許可ディレクトリ」が担い、docroot は空にする**のが正しい運用です。すべての書き込みはこの公開フォルダ配下に限定されます。

---

## 基本的な操作の流れ

> **コマンド名について(重要)**:以下の例は `python3` と書いていますが、これは Mac / Linux 用です。
> **Windows では `python3` は使えません**(python.org 版は `python3` コマンドを作らず、未インストール扱いになります)。
> **Windows では `python` に読み替えて**ください(例:`python conoha-ftp.py list`)。
> Claude がこのスキルを実行する際も、Windows 環境では `python`、Mac / Linux では `python3` を使うこと。

### ファイルの一覧を見る(安全・確認のみ)

```bash
python3 conoha-ftp.py list
python3 conoha-ftp.py list css        # サブディレクトリを見る
```

### 新規ファイルをアップロードする

新規ファイル(まだサーバーに無いファイル)のアップロードは、既存を壊さないため確認は不要です。ただし **必ず一度 `--plan` で新規かどうかを確かめてから** 実行してください。

```bash
# 1. 提案を確認(新規か上書きかを判定。まだアップロードしない)
python3 conoha-ftp.py upload ./index.html index.html --plan

# 2. 「新規」と表示されたら実行
python3 conoha-ftp.py upload ./index.html index.html --execute
```

### フォルダごとサイトを公開する(推奨・複数ファイル)

サイトは通常、トップページのほかに CSS・JS・画像など複数のファイルで構成されます。**フォルダ単位なら `publish` で一括公開できます**(1回の接続でまとめて上げるので速く、上げ忘れも防げます)。新規ファイルはそのまま追加し、既存の入れ替え(上書き)が含まれる場合だけ承認を求めます。**削除は一切行いません。**

```bash
# 1. 何を新規追加し、何を入れ替えるかを確認(まだ上げない)
python3 conoha-ftp.py publish ./site --plan

# 2-A. すべて新規なら、そのまま公開
python3 conoha-ftp.py publish ./site --execute

# 2-B. 入れ替え(上書き)が含まれる場合は、利用者の承認を得てから
python3 conoha-ftp.py publish ./site --execute --approved
```

公開が終わると、見られるアドレス(URL)を表示します(設定にドメインがある場合)。

> **Claude design / Figma などで作ったサイトを公開する場合(主な用途):**
> - 書き出されたフォルダを `publish` でそのまま指定すれば、`index.html`・CSS・JS・画像・サブフォルダを**構造ごと**まとめて公開できます(日本語ファイル名も可)。
> - **指定するのは「`index.html` が直接入っているフォルダ」**にしてください。書き出しによっては一段深い場所(例:`export/site/index.html`)に入っていることがあります。`--plan` の一覧で `+ index.html` が**先頭階層**に出ているかを必ず確認し、`my-site/index.html` のように一段ずれていれば、その内側のフォルダを指定し直します。
> - 画像やCSSを `/assets/...` のような絶対パスで参照しているサイトは、**サイトのルート(トップ)に公開**することが前提です(このスキルの既定の使い方=`public_html/<ドメイン>` 直下)。サブフォルダ公開だと参照が崩れることがあります。
> - `.git` などの隠しフォルダ、`.DS_Store`/`Thumbs.db` などの不要ファイルは自動で除外します。
> - **`.htaccess` / `.user.ini` などサーバーが管理するファイル**や、`.well-known` 等の隠しフォルダは、**安全のため自動的に公開対象外**にします。除外したものは `--plan`・公開完了時に一覧表示するので、取りこぼしには見えません(理由は下記「.htaccess などサーバー管理ファイルについて」)。

### 既存ファイルを上書きする(要承認)

既存ファイルの上書きは、元のファイルを置き換える操作です。**必ず次の手順を守ってください。**

```bash
# 1. 提案を表示する(既存ファイルのサイズ・更新日時と、新しいファイルを比較)
python3 conoha-ftp.py upload ./index.html index.html --plan
```

`--plan` の出力で「【上書き】」と表示された場合:

1. その提案内容(対象パス・既存ファイルの情報・新しいファイルの情報)を **利用者にそのまま提示** してください。
2. 「この既存ファイルを上書きしてよいか」を **利用者に確認** してください。
3. 利用者が承認した場合に **限り**、次を実行します。

```bash
# 2. 承認が得られたら、--approved を付けて実行
python3 conoha-ftp.py upload ./index.html index.html --execute --approved
```

**利用者の承認なしに `--approved` を付けて上書きを実行してはいけません。** 提案を飛ばして直接上書きすることも避けてください。

---

## 重要な原則

### 提案と実行を分ける

このスキルの最も重要な原則は、**「何をするかの提案」と「実際の実行」を必ず分ける** ことです。特に既存ファイルを変更する操作では、先に `--plan` で内容を示し、利用者の承認を得てから実行します。利用者が状況を把握しないまま破壊的な変更が起きることを防ぐためです。

### 書き込み先から出ない

書き込みは、FTP アカウントの「接続許可ディレクトリ」(＝対象ドメインの公開フォルダ)の中に限られます。**この封じ込めはサーバー側で強制**され、別の FTP クライアントでも上位には出られません(`..` での脱出はサーバーが拒否します)。ツール側でも絶対パス・`..` での脱出を拒否します(二重の防御)。そもそも対象ドメインのフォルダの外を操作しようとしないでください。

### 認証情報を表に出さない

このスキルの認証情報の扱いは次の設計です(配布ページの説明と一致):

- **接続情報(host / user / password)は、お使いの PC 内の設定ファイル `conoha-ftp.conf`(スキルのフォルダ内)に保存**され、ツールはそこから読んで ConoHa への FTPS 接続にのみ使用します。設定ファイルに保存された後の接続情報は、ConoHa 以外の第三者へ送信されません。
- **重要(正直な注意):** パスワードを **チャット(この会話)に入力すると、その入力は AI サービス側に送信され、会話ログに残り得ます。** これを避けたい場合は、**パスワードだけは下記「初期セットアップ」の `setup` コマンドでPCにローカル入力**してください(`getpass` により画面にも表示されず、AI 側にも渡りません)。これがパスワードの推奨入力方法です。
- ツール内部では、パスワードを画面・ログ・エラーメッセージに残さないよう配慮しています(万一エラーに混じる場合も伏字化)。

> 補足:**パスワードは OS の暗号化機構で保存**します(Windows=DPAPI / macOS=Keychain / Linux=secret-tool。pip 等の追加インストールは不要)。既存の平文 conf は初回操作時に**自動で暗号化保存へ移行**します(平文は削除)。これらが使えない環境では平文保存にフォールバックしつつ、**ファイルのアクセス権を本人のみに制限**(Unix=600 / Windows=icacls)します。いずれの場合も **OneDrive / Dropbox などの同期フォルダには置かない**でください(ツールが検知した場合は警告します)。

初期セットアップで利用者からパスワードを会話で受け取った場合は、それを**復唱・再表示しないでください**。設定ファイルに書き込んだ後は、チャット上にパスワードを出さないようにします。設定が済んだ後は、利用者にパスワードを尋ねる必要はありません。

---

## 削除を求められたとき

このスキルは、ファイルの**公開・追加・更新(上書き)には対応していますが、削除は行いません**。削除は取り消しが難しい操作のため、**安全に配慮してあえて対象外**としています。削除を依頼された場合は、実行せず、次のように案内してください。

> ファイルの削除はこのスキルでは行えません。削除が必要な場合は、お手数ですが次のいずれかの方法で手動で操作してください。
> - ConoHa WING コントロールパネルの「ファイルマネージャー」から削除する
> - FTP ソフト(FileZilla、WinSCP、Cyberduck など)で接続して削除する

同様に、ディレクトリの同期(不要ファイルの一括削除を伴うもの)も行いません。

---

## .htaccess などサーバー管理ファイルについて

`.htaccess` / `.htpasswd` / `.user.ini` などは、**ConoHa WING(サービス側)が自動生成・管理することがあるファイル**です。サイト高速化・HTTPS リダイレクト・PHP の設定・アクセス制限などがここに書かれていることがあり、**不用意に上書きするとサイトの表示やリダイレクトが壊れる恐れ**があります。

そのため、このスキルでは**これらのファイルを一切アップロード・上書きしません**(削除と同じく、あえて手段を持たせていません)。

- `publish`(フォルダ一括公開)では、これらを**自動的に対象外**にし、除外したファイルを一覧表示します。
- `upload`(単一ファイル)でこれらを指定された場合は、実行せず、次のように案内してください。

> `.htaccess` などサーバーが管理するファイルは、このスキルでは変更できません(設定が壊れるのを防ぐためです)。編集が必要な場合は、お手数ですが次のいずれかで手動で操作してください。
> - ConoHa WING コントロールパネルの「ファイルマネージャー」から編集する
> - FTP ソフト(FileZilla、WinSCP、Cyberduck など)で接続して編集する

なお、SSL 関連の `.well-known` フォルダなど `.`(ドット)で始まる隠しフォルダも、安全のため公開対象外です。

---

## WordPress・データベースを求められたとき

このスキルは静的サイトのファイル公開に特化しています。WordPress の構築・運用・テーマやプラグインの操作、データベースの操作は対象外です。これらを依頼された場合は、対象外であることを伝えてください。WordPress サイトが置かれているディレクトリへのファイル書き込みも行わないでください。

---

## トラブル時

- **「うまくいきませんでした」と表示された場合**:想定外のエラーは、利用者が驚かないようやさしい一文に変換しています。原因の多くは接続情報の誤りかネットワークです。設定情報を会話で確認し、再実行してください。技術的な詳細(エラーの中身)が必要なときは、コマンドの末尾に `--debug` を付けて再実行すると表示されます。
- **アップロードが途中で止まった場合**:ツールは一時ファイル名(`*.uploading.tmp`)でアップロードし、完了後に正式名へ変更します。途中で失敗した場合、ファイルは正式名では作られず、再実行すれば作り直されます。万一 `*.uploading.tmp` / `*.bak.tmp` が公開フォルダに残っていても**サイトの表示には影響しません**(気になる場合はコントロールパネルのファイルマネージャーから削除できます)。
- **誤って上書きしてしまった場合**:ConoHa WING は Web データの自動バックアップを過去 14 日間分保持しています。コントロールパネルの「自動バックアップ」から、対象時点の Web データを復元できます。利用者にこの方法を案内してください。
- **接続に失敗する場合**:設定ファイルの接続情報(host / user / password)と、FTP アカウントの接続許可ディレクトリ設定を確認するよう案内してください。
- **証明書エラー(SSLCertVerificationError)が出る場合**:設定ファイルの `host` に、コントロールパネルのサーバー情報に表示されている正式な FTP サーバー名(FQDN)を使うよう案内してください。IP アドレスや別名では証明書のホスト名検証に失敗することがあります。

---

## 初期セットアップ(設定ファイルがない場合)

**基本方針:このセットアップは、あなた(Claude)が会話で進めます。利用者にターミナルコマンドや設定ファイルの手書きをさせないでください。** 利用者から必要な情報を会話で受け取り、設定ファイルはあなたが作成します。

ただし、**FTP アカウントの作成だけはコントロールパネルでの操作が必要で、これは利用者本人がブラウザで行う必要があります**(あなたが代行することはできません)。ここだけは手順を案内し、それ以外はあなたが引き取ります。

### セットアップの進め方

**ステップ1:FTP アカウントを作ってもらう(利用者のブラウザ操作)**

利用者に、ConoHa WING コントロールパネルで専用 FTP アカウントを作るよう案内します。専用アカウントの「接続許可ディレクトリ」を対象ドメインに限定することで、万一の誤操作の影響を 1 サイト内に閉じ込められます(このスキルの安全設計の要です)。次のように案内してください。

> ConoHa WING のコントロールパネルで、このスキル専用の FTP アカウントを作成してください。
> 1. コントロールパネル →「サイト管理」→「FTP」→「＋FTPアカウント」
> 2. ユーザー名とパスワードを決めて入力
> 3. 「接続許可ディレクトリ」で「**ディレクトリ指定**」を選ぶ。先頭に `/home/cXXXXXXX/`(あなたのアカウントのパス)が**固定で表示**されるので、その**入力欄に次の部分だけ**を入れる(あなたのドメインに置き換え):
>    `public_html/example.com`
>    （**先頭に `/` は付けない**／`public_html/` は必須／`www.` は付けない／末尾スラッシュなし／**前後に空白を入れない**）
> 4. 保存

この「接続許可ディレクトリ」を設定すると、**接続時にその公開フォルダの中へ固定(chroot)され、これが安全の壁になります**。そのため後述のとおり **docroot は空** にします（接続許可ディレクトリと docroot を両方 `public_html/<ドメイン>` にすると、パスが二重になり配信されないので注意）。

**ステップ2:接続情報を受け取る(パスワードはローカル入力を推奨)**

アカウントができたら、次の情報が必要です。

- **FTPサーバー**(コントロールパネルのFTPアカウント欄に「FTPサーバー」として表示。例:`www1001.example-server.com`)
- **ユーザー名**(コントロールパネルの「ユーザー名」。`アカウント@ドメイン` の**全体**で1つのユーザー名です。例:`test@example.com`。`@` より前だけにしないこと)
- 設定したパスワード
- 対象のドメイン名(`ユーザー名の @ より後ろ`、または接続許可ディレクトリ末尾のドメイン。例:`example.com`)

**パスワードの扱いについて(重要):** パスワードをこの会話に入力すると、AI サービス側に送信され会話ログに残り得ます。**最も安全なのは、設定をまとめて行う `setup` コマンドを使い、パスワードを PC にローカル入力する方法**です(画面にも表示されず、AI にも渡りません)。

- **推奨(パスワードを会話に出さない):** 利用者に、ターミナルまたはこの画面の `!` 付き入力で次を1回だけ実行してもらう:
  ```bash
  python3 conoha-ftp.py setup     # Windows は python
  ```
  対話形式で「サーバー名・アカウント名・パスワード(非表示)・ドメイン・接続許可ディレクトリの有無」を順に聞かれます。あなた(AI)は、どの値をどこから取るかを横で案内してください。これで設定ファイル作成と接続テストまで完了します。
- **どうしても会話だけで進めたい場合:** 上の「認証情報を表に出さない」の注意を必ず伝えたうえで、host / user / domain を会話で受け取り、パスワードのみ `setup` でローカル入力する、を最低限のラインとしてください。

利用者がどこを見ればよいか分からない場合は、コントロールパネルのどの画面に表示されているかを案内してください。

**ステップ3:設定ファイルをあなたが作成する**

`setup` コマンド(ステップ2の推奨)を使った場合、設定ファイルはこの段階で**自動的に作成済み**です。手動で作る場合のみ、スキルのフォルダ内(=`conoha-ftp.py` と同じ場所。ツールはここを既定の保存先にします)に `conoha-ftp.conf` を作成します。**接続許可ディレクトリで対象ドメインに制限している場合(推奨)は、docroot を空にします**（接続するとすでに公開フォルダの中に入っているため）。

```ini
[conoha]
host     = (受け取ったFTPサーバー名)
user     = (受け取ったFTPアカウント名)
password = (受け取ったパスワード)   ; ← setup を使わない場合のみ。初回操作時に暗号化保存へ自動移行
docroot  =
domain   = example.com            ; 公開アドレス(URL)表示用・任意
```

> docroot を空にする理由:接続許可ディレクトリ制限により、ログイン直後の場所がすでに公開フォルダ(`public_html/<ドメイン>`)だからです。ここで docroot に `public_html/<ドメイン>` を入れると `…/public_html/<ドメイン>/public_html/<ドメイン>/…` と二重になり、ファイルが公開ルートに届かず 404 になります。
>
> (例外)接続許可ディレクトリを**制限していない**アカウント(ホーム全体にアクセスできるもの)を使う場合に限り、`docroot = public_html/<ドメイン名>` を指定します。ただし安全のため、原則は「制限あり＋docroot 空」を使ってください。

conf に書いたパスワードは、初回の操作時に**自動で暗号化保存へ移行**されます(Windows=DPAPI / macOS=Keychain / Linux=secret-tool。非対応環境は平文＋権限制限にフォールバック)。アクセス権の制限(Unix=600 / Windows=icacls)もツールが自動で行うため、手動設定は不要です。ただし **同期フォルダ(OneDrive / Dropbox 等)には置かない**よう案内してください(認証情報の流出防止。ツールが検知すると警告します)。

**ここで重要:** 受け取ったパスワードを会話で復唱・再表示しないでください。設定ファイルに書き込んだら、以降チャットにパスワードを出さないようにします。

**ステップ4:接続テストをする**

設定ができたら、一覧コマンドで接続を確認します。

```bash
python3 conoha-ftp.py list
```

成功すればドメイン配下のファイル一覧が表示されます。これでセットアップ完了です。利用者には「準備ができたので、上げたいファイルを教えてください」と伝えてください。

接続に失敗した場合は「トラブル時」を参照し、サーバー名・アカウント名・パスワードのどれかに誤りがないか会話で確認します。

### 補足:手元で直接セットアップしたい場合(上級者向け)

ターミナル操作に慣れた利用者は、次のコマンドで対話形式の初期設定を自分で実行することもできます。設定ファイル作成と接続テストまで一度に行えます。

```bash
python3 conoha-ftp.py setup
```

ただし初心者にはこの方法を促さず、上のチャット対話で進めてください。

### 動作要件

このツールは Python 3.8 以上があれば動きます(標準ライブラリのみ使用)。lftp や WSL などの追加インストールは不要で、Windows / Mac / Linux でそのまま動作します。
