Skip to content

Replace monolithic README with structured documentation site #63

Description

@Llucs

Problem

The README is 824 lines long and serves as the sole documentation for backon. As features grow (circuit breaker, hedging, rate limiter, wait generators, conditions, testing helpers), the README becomes increasingly unwalkable. Users must scroll through a wall of text to find specific information.

The project already has a site/ directory, suggesting documentation was planned but never built out.

Proposed Solution

Replace the monolithic README with a proper documentation site (MkDocs or Sphinx):

  1. Structure by topic:

    • Getting Started (quickstart, installation)
    • Core Concepts (retry loop, conditions, stops, waits)
    • Wait Generators (expo, fibo, constant, etc.)
    • Conditions & Stops (retry_if_exception_type, stop_after_attempt, etc.)
    • Advanced Features (circuit breaker, hedging, rate limiter)
    • Testing Utilities
    • API Reference (auto-generated from type stubs)
    • Migration Guide (from backoff / tenacity)
  2. Keep README concise — reduce to ~100 lines with badges, quickstart, and links to the site

  3. Use mkdocs-material for a modern look with search, dark mode, and navigation

  4. Host on GitHub Pages via a deploy workflow

Alternatives

  • Keep the 824-line README (current — unsustainable)
  • Split into README + separate docs/ folder (better but no navigation)
  • Use a wiki (less integrated)

Additional Context

The existing README is well-written but hard to navigate. A structured site would lower the barrier for new users and make the library feel more mature. The site/ directory already exists — we should build on that.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions