بنقرة واحدة
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.