Bankr Dev - Project Templates について
開発者向けの Bankr API プロジェクトテンプレート集です。Bot、Web サービス、ダッシュボード、コマンドラインツールのひな型と、それぞれの用途に応じた構成を提供します。
主な機能
- 01ポーリングとスケジューリング対応の Bot テンプレート
- 02REST と Webhook 対応の Web サービス
- 03ポートフォリオ・市場表示ダッシュボード
- 04サブコマンドと対話プロンプト対応 CLI
- 05共通の TypeScript プロジェクトファイル
活用シーン
- 01定期実行の価格監視や取引 Bot の構築
- 02Bankr 操作用 API の作成
- 03ポートフォリオまたは市場ダッシュボードの構築
- 04取引タスク向けコマンドラインツールのひな型作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bankrbot/ claude-plugins --skill bankr-dev---project-templatesインストール後、Claude Code で/bankr-dev---project-templatesを入力して読み込まれたか確認します。
詳細
Bankr プロジェクトテンプレート
Bankr API プロジェクト向けのディレクトリ構成とテンプレートです。
利用可能なテンプレート
| テンプレート | 用途 | 主な機能 |
|---|---|---|
| bot | 自動化タスク | ポーリングループ、スケジューラー、ステータスのストリーミング |
| web-service | HTTP API | REST エンドポイント、Webhook、非同期処理 |
| dashboard | Web UI | フロントエンド + バックエンド、リアルタイム更新 |
| cli | コマンドラインツール | サブコマンド、対話型プロンプト |
Bot テンプレート
自動取引ボット、価格監視ツール、アラートシステム、スケジュールタスク向けです。
ディレクトリ構成
{project-name}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── src/
│ ├── index.ts # Main entry point with scheduler
│ ├── bankr-client.ts # Bankr API client (from bankr-client-patterns skill)
│ ├── types.ts # TypeScript interfaces
│ └── config.ts # Configuration loading
└── scripts/
└── run.sh # Convenience script
主な機能
- ポーリングループ:定期的な確認の間隔を設定できます
- ステータスのストリーミング:ジョブのステータスをリアルタイムで更新します
- エラー処理:バックオフ付きで自動再試行します
- 環境設定:
.envベースの設定です - グレースフルシャットダウン:SIGINT/SIGTERM を処理します
用途
- 価格の監視とアラート
- 自動取引戦略
- ポートフォリオのリバランス
- スケジュールされた市場分析
- DCA の自動化
エントリーポイントのパターン(index.ts)
import { execute } from "./bankr-client";
const INTERVAL = 60000; // 1 minute
async function runBot() {
console.log("Starting Bankr bot...");
while (true) {
try {
const result = await execute(
"Check ETH price",
(msg) => console.log("Status:", msg)
);
if (result.status === "completed") {
console.log("Result:", result.response);
// Add your logic here
}
} catch (error) {
console.error("Error:", error);
}
await new Promise(r => setTimeout(r, INTERVAL));
}
}
runBot();
Web サービステンプレート
Bankr の機能をラップまたは拡張する HTTP API 向けです。
ディレクトリ構成
{project-name}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── src/
│ ├── index.ts # Server entry point
│ ├── server.ts # Express/Fastify server setup
│ ├── routes/
│ │ ├── health.ts # Health check endpoint
│ │ └── bankr.ts # Bankr proxy/extension routes
│ ├── bankr-client.ts # Bankr API client
│ ├── types.ts # TypeScript interfaces
│ └── config.ts # Configuration loading
└── scripts/
└── run.sh
主な機能
- REST API エンドポイント:すっきりとした API 設計です
- リクエスト検証:入力をサニタイズします
- 非同期ジョブ処理:ブロックせずに処理を実行します
- Webhook のサポート:ジョブ完了時にコールバックします
- レート制限:不正利用を防ぎます
- CORS:クロスオリジンをサポートします
用途
- Bankr 向け API ゲートウェイ
- カスタム取引 API
- Webhook 連携
- モバイルアプリ向けバックエンド
- マイクロサービスアーキテクチャ
追加の依存関係
{
"dependencies": {
"express": "^4.18.0"
}
}
または Fastify の場合:
{
"dependencies": {
"fastify": "^4.25.0"
}
}
Dashboard テンプレート
ポートフォリオ追跡、市場分析、監視を行う Web UI 向けです。
ディレクトリ構成
{project-name}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── server/
│ ├── index.ts # Backend server
│ ├── bankr-client.ts # Bankr API client
│ ├── routes/
│ │ └── api.ts # API routes for frontend
│ └── types.ts
├── public/
│ ├── index.html # Main HTML page
│ ├── styles.css # Basic styles
│ └── app.js # Frontend JavaScript
└── scripts/
└── run.sh
主な機能
- シンプルなフロントエンド:HTML/CSS/JS(ビルド手順は不要です)
- バックエンド API:Bankr 操作用の Express サーバー
- リアルタイム更新:ステータスの変更をポーリングします
- ポートフォリオ表示:トークン残高と評価額
- 市場データ:価格チャートと分析
用途
- ポートフォリオ追跡ダッシュボード
- 取引インターフェース
- 市場監視
- ポジション管理
- 分析ダッシュボード
フロントエンドのパターン(app.js)
async function checkPrice() {
const response = await fetch('/api/price/ETH');
const data = await response.json();
document.getElementById('eth-price').textContent = data.price;
}
setInterval(checkPrice, 30000);
checkPrice();
CLI テンプレート
サブコマンドと対話型機能を備えたコマンドラインツール向けです。
ディレクトリ構成
{project-name}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── src/
│ ├── index.ts # CLI entry with commander.js
│ ├── commands/
│ │ ├── trade.ts # Trading commands
│ │ ├── price.ts # Price query commands
│ │ └── status.ts # Job status commands
│ ├── bankr-client.ts # Bankr API client
│ └── types.ts
└── scripts/
└── run.sh
主な機能
- Commander.js:サブコマンドに対応した CLI フレームワーク
- 対話型プロンプト:必要に応じてユーザー入力を受け付けます
- 進捗インジケーター:ポーリング中のステータスを表示します
- 色付き出力:UX を向上させます
- ヘルプシステム:コマンドから自動生成します
用途
- 個人用取引ツール
- スクリプト作成と自動化
- DevOps 連携
- すばやい価格確認
- バッチ処理
追加の依存関係
{
"dependencies": {
"commander": "^12.0.0"
}
}
CLI のパターン(index.ts)
import { program } from "commander";
import { price } from "./commands/price";
import { trade } from "./commands/trade";
program
.name("bankr-cli")
.description("CLI for Bankr operations")
.version("1.0.0");
program
.command("price <token>")
.description("Get token price")
.action(price);
program
.command("trade <action> <amount> <token>")
.description("Execute a trade")
.option("-c, --chain <chain>", "Target chain", "base")
.action(trade);
program.parse();
テンプレートの選び方
| 要件 | 推奨テンプレート |
|---|---|
| 定期的な自動化タスク | bot |
| 連携用 HTTP API | web-service |
| ビジュアルインターフェース | dashboard |
| ターミナルベースのツール | cli |
| 価格アラート | bot |
| 取引 API | web-service |
| ポートフォリオビューアー | dashboard |
| すばやい取引 | cli |
共通ファイル
すべてのテンプレートで共通ファイルを使用します。以下を確認するには、bankr-client-patterns スキルを読み込んでください。
bankr-client.ts- 完全な API クライアントpackage.json- 基本的な依存関係tsconfig.json- TypeScript の設定.env.example- 環境設定テンプレート.gitignore- 標準の除外設定
スキャフォールディング後の次の手順
- 依存関係をインストールする:
bun installまたはnpm install - API キーを設定する:
.env.exampleを.envにコピーし、BANKR_API_KEYを追加します - カスタマイズする:用途に合わせてテンプレートを変更します
- 実行する:開発用に
bun devまたはnpm run devを実行します - ビルドする:本番用に
bun run buildまたはnpm run buildを実行します
コメント
Markdown 対応