rabbitmq-tutorials (Agent Skills)

GitHub

Agent skills, system prompts, and AI developer rules for rabbitmq/rabbitmq-tutorials

0 stars Code
RAW Rules

AGENTS.md

# Instructions for AI Agents

## Overview

This repository contains runnable code for the [RabbitMQ tutorials](https://www.rabbitmq.com/tutorials)
in many languages and client libraries. The accompanying prose lives on the website: this repo holds only executable examples.

All tutorials require a RabbitMQ node running on `localhost` with default settings and use
the default `localhost`-constrained seed user `guest` with well known credentials.

Tutorial code here and the prose at [`rabbitmq/rabbitmq-website`](https://github.com/rabbitmq/rabbitmq-website)
should be kept in sync: not necessarily in lockstep, but updated consistently within a few days of each other.


## Repository Structure

Each top-level directory (called a tutorial port) is a self-contained tutorial set for one language (client library),
with its own `README.md` covering setup and run instructions. Some directories use symlinks
to reuse code.

Directories with a `-stream` suffix cover the [RabbitMQ Stream protocol](https://www.rabbitmq.com/docs/streams); the rest cover AMQP 0-9-1.

Individual directories (ports) can have their local `AGENTS.md` with language-specific instructions, e.g.
around how to avoid standard input and output pitfalls when asked to run permutations of these tutorials
(e.g. T1 publishers in Java and a T1 consumer that uses Swift 6 and Bunny.swift).

AMQP 0-9-1 tutorials follow a standard numbering with consistent base filenames across languages:

 1. Tutorial 1 (a.k.a. T1, "Hello World"): `send` / `receive`
 2. Tutorial 2 (a.k.a. T2, "Work Queues"): `new_task` / `worker`
 3. Tutorial 3 (T3, "Publish/Subscribe"): `emit_log` / `receive_logs`
 4. Tutorial 4 (T4, "Routing"): `emit_log_direct` / `receive_logs_direct`
 5. Tutorial 5 (T5, "Topics"): `emit_log_topic` / `receive_logs_topic`
 6. Tutorial 6 (T6, "RPC"): `rpc_client` / `rpc_server`
 7. Tutorial 7 (T7, "Publisher Confirms"): `publisher_confirms`

Stream tutorials cover `send` / `receive` and `offset_tracking_send` / `offset_tracking_receive`.


## Adding or Modifying Tutorials

 * Read the language directory's README first
 * Follow the existing code style and naming conventions of the directory you are editing
 * Tutorials are learning material, not production code: keep them simple, readable, and self-contained
 * Keep dependencies minimal; use the idiomatic RabbitMQ client library for the language


## Style

 * Only add comments where the logic isn't self-evident; keep them concise
 * Use proper English grammar and punctuation
 * Never add full stops to Markdown list items


## Git

 * Never add yourself to the list of commit co-authors
 * Never mention yourself in commit messages in any way