一键导入
add-bot
Add a new bot crate to the starbunk-rs workspace with full DevOps registration
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Add a new bot crate to the starbunk-rs workspace with full DevOps registration
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Evaluate the CI/CD pipeline on the PR, check for failures, and fix any issues.
Analyzes the current branch/PR and adds comprehensive, well-formatted structured logging and spans for observability.
Review PR comments, categorize them into critical/nitpicks, fix user-selected ones, and close resolved comments.
Create a PR using the current branch. Generates a PR description, commits changes, and pushes.
Mandatory rules for general git use in this repository. Follow these constraints before starting work, committing, or pushing.
Feature developer and task runner. Start a new task on a fresh branch, orchestrate worktrees, do the implementation work, and open a PR when done.
| name | add-bot |
| description | Add a new bot crate to the starbunk-rs workspace with full DevOps registration |
Complete checklist to add a new bot to the workspace, covering all required DevOps registrations and wiki documentation.
If no bot name was provided, ask: "What is the new bot's name? (e.g. mybot)"
mkdir -p crates/<botname>/src
Create crates/<botname>/Cargo.toml (lib + bin crate, depends on starbunk-shared).
Create crates/<botname>/src/lib.rs with Handler + EventHandler + pub async fn run().
Create crates/<botname>/src/main.rs calling <botname>::run().await.
Add "crates/<botname>" to the members list in the root Cargo.toml.
docker-compose.yml — add a service block:
<botname>:
image: ghcr.io/andrewgari/starbunk-rs-<botname>:${IMAGE_TAG:-latest}
container_name: starbunk-rs-<botname>
restart: unless-stopped
environment:
- DISCORD_TOKEN=${NEWBOT_TOKEN:-${STARBUNK_TOKEN}}
- RUST_LOG=${RUST_LOG:-info}
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
labels:
- "com.centurylinklabs.watchtower.enable=true"
docker/docker-compose.yml — add a service block:
<botname>:
build:
context: ..
dockerfile: docker/Dockerfile
args:
BOT_NAME: <botname>
container_name: starbunk-rs-<botname>
restart: unless-stopped
environment:
- DISCORD_TOKEN=${NEWBOT_TOKEN:-${STARBUNK_TOKEN}}
- RUST_LOG=${RUST_LOG:-info}
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
.github/workflows/ci.yml — add path filter crates/<botname>/**.
.github/workflows/main.yml — add <botname> to the docker build matrix.
scripts/deployment/health-check.sh — add "<botname>" to EXPECTED_SERVICES.
AGENTS.md — update the bot list in the Architecture and Bots sections.
bash scripts/devops-validate.sh
Fix every FAIL line before continuing.
wiki/bots/<BotName>.md documenting the bot's purpose, triggers, and behavior.wiki/Home.md to reference the new bot.wiki/Changelog.md.devops-validate.sh after each change to catch drift early.