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.