Skip to content

wombat2006/scripter

Repository files navigation

🎯 Scripter

AI-powered script generator using Wall-Bounce multi-LLM analysis technology.

5分で始める: QUICKSTART.md | 📚 ドキュメント案内: DOCS_GUIDE.md | 🖥️ 別PCへのセットアップ: SETUP_GUIDE.md | 🧩 VSCode拡張機能: extension/

📦 2つの使い方

1. 🧩 VSCode拡張機能(推奨)

VSCodeから直接スクリプトを生成できます。

cd /ai/prj/scripter/extension
./install.sh

特徴:

  • ✨ コマンドパレットから直接実行
  • 🎨 直感的なUI(言語選択、要件入力)
  • 📊 リアルタイム進行状況表示
  • 📝 詳細な説明を出力チャンネルに表示
  • 🔒 API認証情報を安全に保存

詳細: extension/README.md

2. 💻 CLI ツール

コマンドラインから使用できます。

cd /ai/prj/scripter
npm install
npm run build
npm run dev

概要

Scripterは、TechSapoのWall-Bounce技術を活用して、ユーザーの要件に基づいて自動的にBash、Python、JavaScript、TypeScriptのスクリプトを生成するツールです。複数のLLM(大規模言語モデル)による合意形成により、高品質なスクリプトを提供します。

VSCode拡張機能版とCLI版の両方を提供しています。

特徴

  • 🤖 Wall-Bounce技術: 複数のLLMによる相互検証で高品質なコード生成
  • 🌍 多言語対応: Bash、Python、JavaScript、TypeScript
  • 📝 詳細な説明: 生成されたスクリプトの説明と使用方法を提供
  • 🎨 インタラクティブCLI: 使いやすい対話型インターフェース
  • 自動最適化: 言語ごとのベストプラクティスを自動適用
  • 🔒 安全性: エラーハンドリングと安全性チェックを組み込み

インストール

このPCで初めて使う場合

cd /ai/prj/scripter
npm install
npm run build

別のPC(社用PC等)にセットアップする場合

詳細な手順は SETUP_GUIDE.md を参照してください。

自動セットアップ:

# Linux/macOS
./scripts/setup.sh

# Windows (PowerShell)
.\scripts\setup.ps1

使い方

インタラクティブモード

npm run dev

または

./dist/cli.js generate

コマンドラインモード

# Bashスクリプト生成
./dist/cli.js generate \
  --language bash \
  --description "ログファイルを日付ごとにアーカイブする" \
  --output backup-logs.sh \
  --executable

# Pythonスクリプト生成
./dist/cli.js generate \
  -l python \
  -d "CSVファイルをJSON形式に変換する" \
  -o convert-csv-json.py \
  -x

# TypeScriptスクリプト生成(詳細出力)
./dist/cli.js generate \
  --language typescript \
  --description "REST APIクライアントを作成" \
  --output api-client.ts \
  --verbose

認証が必要な場合

./dist/cli.js generate \
  --language bash \
  --description "システム監視スクリプト" \
  --username your_username \
  --password your_password \
  --output monitor.sh

ヘルスチェック

./dist/cli.js health

プログラマティック使用

TypeScript/JavaScriptプロジェクトから直接使用することもできます:

import { ScriptGenerator } from './src/index';

const generator = new ScriptGenerator({
  verbose: true,
  apiEndpoint: 'https://techsapo.com/api/v1/wall-bounce',
  auth: {
    username: 'your_username',
    password: 'your_password',
  },
});

const result = await generator.generate({
  language: 'python',
  description: 'データベースバックアップスクリプト',
  complexity: 'moderate',
  context: 'PostgreSQLデータベース用',
});

console.log(result.script);
console.log(result.explanation);

例1: システム監視スクリプト(Bash)

./dist/cli.js generate \
  -l bash \
  -d "CPU、メモリ、ディスク使用率を監視し、閾値を超えたらアラートを送信" \
  -o monitor-system.sh \
  -x

生成されるスクリプト:

  • CPU/メモリ/ディスク使用率のチェック
  • 閾値判定
  • ログ出力
  • エラーハンドリング

例2: データ処理スクリプト(Python)

./dist/cli.js generate \
  -l python \
  -d "複数のJSONファイルを読み込み、マージして統計情報を出力" \
  -o merge-json.py \
  -x \
  -v

生成されるスクリプト:

  • argparseによるCLI引数処理
  • JSONファイルの読み込みとマージ
  • 統計計算
  • エラーハンドリング
  • 型ヒント完備

例3: API クライアント(TypeScript)

./dist/cli.js generate \
  -l typescript \
  -d "REST APIのGET/POST/PUT/DELETEメソッドを実装したクライアント" \
  -o api-client.ts

生成されるスクリプト:

  • 型安全なAPIクライアント
  • エラーハンドリング
  • 非同期処理
  • インターフェース定義

コマンドオプション

generate コマンド

オプション 短縮形 説明 デフォルト
--language -l スクリプト言語 (bash/python/javascript/typescript) -
--description -d スクリプトの説明 -
--output -o 出力ファイルパス -
--executable -x 実行可能にする(bash/python) false
--verbose -v 詳細出力 false
--api - Wall-Bounce APIエンドポイント https://techsapo.com/api/v1/wall-bounce
--username - Basic認証ユーザー名 -
--password - Basic認証パスワード -

アーキテクチャ

scripter/
├── src/
│   ├── cli.ts                    # CLIインターフェース
│   ├── index.ts                  # メインエクスポート
│   ├── generators/
│   │   └── script-generator.ts  # スクリプト生成ロジック
│   ├── wall-bounce/
│   │   └── client.ts            # Wall-Bounce APIクライアント
│   ├── types/
│   │   └── index.ts             # 型定義
│   └── utils/                   # ユーティリティ
├── examples/                     # サンプルスクリプト
└── tests/                       # テスト

Wall-Bounce技術について

Wall-Bounce(壁打ち)は、複数のLLMプロバイダー(Gemini、GPT-5、Claude、Qwen3など)に同じクエリを送信し、それぞれの回答を相互に検証・合意形成することで、高品質な結果を得る技術です。

メリット

  1. 高精度: 複数のLLMの合意により精度向上
  2. 多様性: 異なる視点からの解決策を統合
  3. 信頼性: 単一モデルの偏りを軽減
  4. コンセンサス: 合意スコアで品質を定量化

トラブルシューティング

Wall-Bounce APIに接続できない

# ヘルスチェックを実行
./dist/cli.js health

# 認証情報を確認
./dist/cli.js generate --username <user> --password <pass> ...

生成されたスクリプトが期待と異なる

  • --verbose オプションで詳細な処理過程を確認
  • description をより具体的に記述
  • context オプションで追加情報を提供

開発

コマンドライン

# 開発モード
npm run dev

# ビルド
npm run build

# テスト
npm test

# Lint
npm run lint

VSCode IDE

プロジェクトはVSCodeで開発できるように完全に設定済みです。

# VSCodeで開く
cd /ai/prj/scripter
code .

主な機能:

  • 🐛 デバッグ: F5キーでインタラクティブモード/各種サンプル実行
  • 🔨 ビルド: Ctrl+Shift+Bで自動ビルド
  • 📝 スニペット: gen-script等のコードテンプレート
  • 🔍 自動フォーマット: 保存時に自動整形(Prettier + ESLint)
  • 🎨 TechSapoテーマ: カスタムカラーテーマ適用済み

ドキュメント:

拡張機能がインストールできない環境(社用PC等)

# 拡張機能不要版セットアップ
./scripts/setup-no-extensions.sh  # Linux/macOS
.\scripts\setup-no-extensions.ps1  # Windows

# コード品質チェック(手動)
npm run lint      # Lintチェック
npm run format    # コード整形
npm run validate  # すべての検証

詳細: .vscode/NO_EXTENSIONS_GUIDE.md

環境変数

# 認証情報を環境変数で設定可能
export SCRIPTER_API_USERNAME=your_username
export SCRIPTER_API_PASSWORD=your_password
export SCRIPTER_API_ENDPOINT=https://techsapo.com/api/v1/wall-bounce

# 使用
./dist/cli.js generate -l bash -d "backup script"

ライセンス

MIT License

作者

TechSapo Team

関連プロジェクト

サポート

問題が発生した場合は、以下を確認してください:

  1. Wall-Bounce APIが稼働しているか(scripter health
  2. 認証情報が正しいか
  3. ネットワーク接続が正常か
  4. APIエンドポイントURLが正しいか

Powered by TechSapo Wall-Bounce Technology 🎯

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published