Skip to content

Latest commit

 

History

History
67 lines (41 loc) · 2.49 KB

File metadata and controls

67 lines (41 loc) · 2.49 KB

Instructions for AI Agents

Overview

This is Bunny, a Ruby AMQP 0-9-1 client for RabbitMQ that has one key dependency: amq-protocol, an AMQP 0-9-1 protocol parser (more specifically: a serialization, deserialization, and framing implementation).

Target Ruby Version

This library targets Ruby 3.0 and later versions.

Comments

  • Only add very important comments, both in tests and in the implementation

Change Log

If asked to perform change log updates, consult and modify ChangeLog.md and stick to its existing writing style.

Releases

How to Roll (Produce) a New Release

Suppose the current development version in ChangeLog.md has a ## Changes between Bunny X.Y.0 and X.(Y+1).0 (in development) section at the top.

To produce a new release:

  1. Update ChangeLog.md: replace (in development) with today's date, e.g. (Mar 30, 2026). Make sure all notable changes since the previous release are listed
  2. Update the version in lib/bunny/version.rb to match (remove any .pre suffix)
  3. Commit with the message X.(Y+1).0 (just the version number, nothing else)
  4. Tag the commit: git tag X.(Y+1).0
  5. Bump the dev version: add a new ## Changes between Bunny X.(Y+1).0 and X.(Y+2).0 (in development) section to ChangeLog.md with No changes yet. underneath, and update lib/bunny/version.rb to the next dev version with a .pre suffix
  6. Commit with the message Bump dev version
  7. Push: git push && git push origin X.(Y+1).0

Git Instructions

  • Never add yourself to the list of commit co-authors
  • Never mention yourself in commit messages in any way (no "Generated by", no AI tool links, etc)

Style Guide

  • Never add full stops to Markdown list items

After Completing a Task

Iterative Reviews

After completing a task, perform up to twenty iterative reviews of your changes. In every iteration, look for meaningful improvements that were missed, for gaps in test coverage, and for deviations from the instructions in this file.

In particular, check that:

  • The code targets Ruby 3.0 and does not rely on newer-version features
  • Notable user-visible changes are listed in ChangeLog.md under the current (in development) section
  • New behavior is covered by tests under spec/unit, spec/higher_level_api, or spec/lower_level_api
  • No new runtime dependencies were introduced beyond amq-protocol

If no meaningful improvements are found for three iterations in a row, report it and stop iterating.