From bankr-agent-dev
Provides directory structures and starter templates for Bankr API projects: bots with polling loops, web services with REST endpoints, dashboards, and CLI tools.
npx claudepluginhub bankrbot/claude-plugins --plugin bankr-agent-devThis skill uses the workspace's default tool permissions.
Directory structures and templates for Bankr API projects.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Directory structures and templates for Bankr API projects.
| Template | Use Case | Key Features |
|---|---|---|
| bot | Automated tasks | Polling loop, scheduler, status streaming |
| web-service | HTTP APIs | REST endpoints, webhooks, async handling |
| dashboard | Web UIs | Frontend + backend, real-time updates |
| cli | Command-line tools | Subcommands, interactive prompts |
For automated trading bots, price monitors, alert systems, and scheduled tasks.
{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 based configurationimport { 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();
For HTTP APIs that wrap or extend Bankr functionality.
{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
{
"dependencies": {
"express": "^4.18.0"
}
}
Or for Fastify:
{
"dependencies": {
"fastify": "^4.25.0"
}
}
For web UIs with portfolio tracking, market analysis, or monitoring.
{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
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();
For command-line tools with subcommands and interactive features.
{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
{
"dependencies": {
"commander": "^12.0.0"
}
}
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();
| Need | Recommended Template |
|---|---|
| Automated recurring tasks | bot |
| HTTP API for integrations | web-service |
| Visual interface | dashboard |
| Terminal-based tool | cli |
| Price alerts | bot |
| Trading API | web-service |
| Portfolio viewer | dashboard |
| Quick trades | cli |
All templates share common files. Load the bankr-client-patterns skill for:
bankr-client.ts - Complete API clientpackage.json - Base dependenciestsconfig.json - TypeScript config.env.example - Environment template.gitignore - Standard ignoresbun install or npm install.env.example to .env and add BANKR_API_KEYbun dev or npm run dev for developmentbun run build or npm run build for production