skills/pproenca/dot-skills/restful-hateoas

restful-hateoas

SKILL.md

Community RESTful HATEOAS Best Practices

Comprehensive guide to building REST APIs that reach the Glory of REST (Richardson Maturity Level 3) in Ruby on Rails. Contains 47 rules across 9 categories, ordered by the request/response lifecycle — from resource URI design through hypermedia link relations to API evolution.

When to Apply

Reference these guidelines when:

  • Designing new REST API endpoints and resource URIs
  • Adding hypermedia controls (_links, affordances) to API responses
  • Implementing content negotiation with HAL, JSON:API, or vendor media types
  • Building paginated, filterable, sortable collection endpoints
  • Reviewing APIs for proper HTTP method semantics and status codes
  • Evolving APIs without breaking existing clients

Rule Categories by Priority

Priority Category Impact Prefix
1 Resource Modeling CRITICAL res-
2 HTTP Method Semantics CRITICAL http-
3 Hypermedia & Link Relations CRITICAL link-
4 Status Codes & Response Headers HIGH status-
5 Content Negotiation & Media Types HIGH media-
6 Collection Patterns MEDIUM-HIGH coll-
7 Error Semantics MEDIUM err-
8 Caching & Conditional Requests MEDIUM cache-
9 API Evolution LOW-MEDIUM evolve-

Quick Reference

1. Resource Modeling (CRITICAL)

2. HTTP Method Semantics (CRITICAL)

3. Hypermedia & Link Relations (CRITICAL)

4. Status Codes & Response Headers (HIGH)

5. Content Negotiation & Media Types (HIGH)

6. Collection Patterns (MEDIUM-HIGH)

7. Error Semantics (MEDIUM)

8. Caching & Conditional Requests (MEDIUM)

9. API Evolution (LOW-MEDIUM)

How to Use

Read individual reference files for detailed explanations and code examples:

Reference Files

File Description
references/_sections.md Category definitions and ordering
assets/templates/_template.md Template for new rules
metadata.json Version and reference information
Weekly Installs
36
GitHub Stars
71
First Seen
Feb 12, 2026
Installed on
codex33
github-copilot32
gemini-cli32
opencode31
kimi-cli31
claude-code29