关于 Bankr Dev - Project Templates
面向开发者的 Bankr API 项目模板集合,提供 Bot、Web 服务、仪表盘和命令行工具的起始结构,并包含适合各类用途的模式。
主要功能
- 01含轮询与调度的 Bot 模板
- 02支持 REST 和 Webhook 的 Web 服务
- 03展示投资组合和市场信息的仪表盘
- 04含子命令和交互提示的 CLI
- 05共享 TypeScript 项目文件
适用场景
- 01构建定时价格监控或交易 Bot
- 02创建封装 Bankr 操作的 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 界面 | 前端 + 后端、实时更新 |
| cli | 命令行工具 | 子命令、交互式提示 |
Bot 模板
适用于自动交易 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 界面。
目录结构
{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 框架
- 交互式提示:需要时获取用户输入
- 进度指示器:轮询期间显示状态
- 彩色输出:提升用户体验
- 帮助系统:根据命令自动生成
用途
- 个人交易工具
- 脚本和自动化
- 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