kawazu
Version:
kawazu CLI tool for real-time chat in your editor
220 lines (163 loc) • 5.58 kB
Markdown
# Kawazu CLI
エディタ上でリアルタイムチャットとファイル共有を行うためのCLIツールです。
## 🆕 v1.0.1 新機能
- **ファイル共有機能**: 他のユーザーとファイルを安全に共有
- **許可制アクセス**: 明示的な承認が必要
- **リアルタイム協調編集**: 共有ファイルの同時編集
- **エディタ内コマンド**: `.codechat`ファイル内での直感的な操作
## インストール
```bash
npm install -g kawazu
```
## 基本的な使い方
### 1. ルームを作成
```bash
kawazu create "プロジェクト会議"
```
### 2. ルームに参加
```bash
kawazu join project-meeting
```
### 3. エディタでチャット
- `.codechat` ファイルが作成されます
- エディタでファイルを開き、内容を書き込んでください
- ファイルを保存すると自動でメッセージが送信されます
### 3. ファイル共有
```bash
# ファイルを共有
kawazu share myfile.js --users alice,bob --permission write
# 共有リクエストを承認
kawazu approve <share-token>
# 共有ファイルをダウンロード
kawazu download <share-token>
```
## コマンド一覧
### チャット機能
### `kawazu join <roomId>`
指定されたルームに参加します。
**オプション:**
- `-u, --username <name>`: ユーザー名を指定
- `-p, --password <password>`: プライベートルームのパスワード
**例:**
```bash
kawazu join my-room -u john
kawazu join private-room -p secret123
```
### `kawazu create <roomName>`
新しいルームを作成します。
**オプション:**
- `--private`: プライベートルームとして作成
- `--password <password>`: プライベートルーム用パスワード
**例:**
```bash
kawazu create "開発チーム会議"
kawazu create "秘密会議" --private --password mypass123
```
### `kawazu list`
ローカルのチャットファイル一覧を表示します。
### `kawazu config`
CLI設定を管理します。
**オプション:**
- `--server <url>`: サーバーURLを設定
- `--username <name>`: デフォルトユーザー名を設定
- `--show`: 現在の設定を表示
**例:**
```bash
kawazu config --server https://kawazu.onrender.com
kawazu config --username john
kawazu config --show
```
### ファイル共有機能
### `kawazu share <filePath>`
ファイルを他のユーザーと共有します。
**オプション:**
- `--room <roomId>`: 対象のルームを指定
- `--users <usernames>`: 対象ユーザーをカンマ区切りで指定(省略時は全参加者)
- `--permission <type>`: 権限タイプ (read|write)、デフォルト: read
- `--expires <hours>`: 有効期限(時間)、デフォルト: 24
- `--type <fileType>`: ファイルタイプを手動指定
**例:**
```bash
kawazu share myfile.js --users alice,bob --permission write
kawazu share README.md --expires 48
kawazu share script.py --room dev-team
```
### `kawazu approve <shareToken>`
ファイル共有リクエストを承認します。
**例:**
```bash
kawazu approve abc123def456
```
### `kawazu deny <shareToken>`
ファイル共有リクエストを拒否します。
**例:**
```bash
kawazu deny abc123def456 --reason "機密情報のため"
```
### `kawazu files [roomId]`
共有されているファイル一覧を表示します。
### `kawazu download <shareToken> [outputPath]`
共有ファイルをダウンロードします。
**例:**
```bash
kawazu download abc123def456
kawazu download abc123def456 ./downloaded-file.js
```
### `kawazu requests`
承認待ちのファイル共有リクエスト一覧を表示します。
### `kawazu unshare <shareToken>`
ファイル共有を取り消します。
## チャットファイルの使い方
### 基本
- `#` で始まる行はシステムメッセージ(送信されません)
- 通常のテキストはそのまま送信されます
- ファイルを保存すると自動で送信されます
### コードブロック
````
普通のメッセージです
```javascript
console.log("このコードは code タイプとして送信されます");
```
また普通のメッセージです
````
### ファイル共有コマンド(エディタ内)
`.codechat`ファイル内で直接実行できるコマンド:
```
# ファイルを共有
#share myfile.js @alice @bob --write
# 共有リクエストを承認
#approve abc123def456
# 共有リクエストを拒否
#deny abc123def456
```
### 終了方法
チャット中に `Ctrl+C` を押すと終了できます。
## 設定
初回使用時に設定を行ってください:
```bash
kawazu config
```
設定項目:
- **サーバーURL**: Code Chat APIサーバーのURL
- **デフォルトユーザー名**: 毎回入力を省略したい場合
- **エディタ自動オープン**: ルーム参加時に自動でエディタを開く
- **エディタコマンド**: 使用するエディタのコマンド
## トラブルシューティング
### サーバーに接続できない
```bash
# 設定を確認
kawazu config --show
# サーバーURLを設定
kawazu config --server https://kawazu.onrender.com
```
### ユーザー名エラー
ユーザー名は以下の文字のみ使用できます:
- 英数字 (a-z, A-Z, 0-9)
- ハイフン (-)
- アンダースコア (_)
### ファイルが更新されない
- ファイルを保存してください
- エディタの自動保存設定を確認してください
- ファイルの権限を確認してください
## ライセンス
MIT License