mds-bon-patterns

Enforce repository-standard `bon` builder usage patterns for optional members and conditional building.

Updated Jan 6, 2026
One-click install
npx skills add https://github.com/eboody/eran.codes --skill mds-bon-patterns
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mds-bon-patterns
Source: https://github.com/eboody/eran.codes/tree/main/.codex/skills/mds-bon-patterns
Command: npx skills add https://github.com/eboody/eran.codes --skill mds-bon-patterns

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill ensures that the bon builder pattern is used consistently and readably across the repository, preventing common mistakes and promoting maintainability.

Core Features & Use Cases

  • Standardized Builder Usage: Enforces conventions for optional members, conditional building, and API selection.
  • Readability & Consistency: Helps maintain a uniform style for constructing complex objects.
  • Use Case: When creating a new configuration object using bon, this Skill's rules guide you to use setters like .request_id(...) instead of .maybe_request_id(Some(...)) for known values, ensuring clarity.

Quick Start

Follow the repository's Bon builder usage patterns for consistent code.

Frequently Asked Questions about mds-bon-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enforce consistent bon builder usage patterns in Rust?

Standardize bon builder usage by using direct setters like `.request_id(...)` instead of `.maybe_request_id(Some(...))` for known values, ensuring clarity and adherence to Bon guide conventions.

What is the best way to handle optional members in a bon builder?

The best way to handle optional members in a bon builder is to use direct setters like `.request_id(...)` instead of `.maybe_request_id(Some(...))` for known values, ensuring clarity and adherence to Bon guide conventions.

How does bon builder pattern usage differ from Statum-based workflows?

Bon builder pattern usage focuses on constructing complex configuration objects with standardized setters, whereas Statum-based workflows follow a different state management approach that this standardization explicitly distinguishes from.

Can I use bon builders for conditional object construction in Rust?

Yes, you can use bon builders for conditional object construction in Rust by following repository-standard API selection rules that guide readability and consistency when building complex objects conditionally.

Why does my bon builder code lack consistency across the repository?

Your bon builder code lacks consistency because it does not enforce repository-standard conventions for optional members, conditional building, and API selection, leading to varied setter usage and reduced maintainability.