# trailblazer/cells

View components for Ruby and Rails.

Repository: https://github.com/trailblazer/cells
Canonical: https://ross.abutalabs.com/products/cells
Homepage: https://trailblazer.to/2.1/docs/cells.html
Language: Ruby
License Family: other
Last push: 2024-12-02T09:00:38+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 6601, "days_push": 639, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3071, forks 236 (observed 2026-08-28T04:07:41.577051+00:00)

## What it is
Cells is a Ruby gem providing view components (view models) for Ruby and Rails, encapsulating UI fragments into plain Ruby classes that render templates. It is part of the Trailblazer architecture but works standalone, offering OOP-based rendering, nesting, caching, and asset packaging.

## Use cases
- replace messy Rails partials and helpers with encapsulated view components
- render reusable UI widgets anywhere in views, controllers, or mailers
- build testable view models with proper OOP instead of global helper state
- nest components and use view inheritance for complex UIs
- cache individual UI fragments independently
- package component assets (JS, CSS, images) with the component

## When to choose
- you're on Rails or plain Ruby and want component-based, encapsulated server-rendered views
- your views suffer from helper/partial spaghetti and global state
- you want faster rendering than ActionView with testable components
- you use the Trailblazer architecture and need its view layer

## When to avoid
- you're building a client-side SPA where server-side view models don't apply
- you're already committed to Rails' built-in ViewComponent or Phlex ecosystem
- you need a full-stack framework with routing and ORM included

## Facets
- artifact type: library
- maturity: stable
- function: templating, ui-components, web-framework
- domain: web-development, frontend, developer-tools
- platform: ruby
- tags: view-models, view-components, rails, trailblazer, encapsulation, server-rendered-views, web-server

## Member repositories
- trailblazer/cells (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:41.577051+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:28:01.874147+00:00, confidence not recorded.
  - readme: https://github.com/trailblazer/cells (fetched 2026-08-28T04:07:41.577051+00:00, sha 0e227de61e79)
  - homepage: https://trailblazer.to/2.1/docs/cells.html (fetched 2026-08-29T09:43:30.546753+00:00, sha 356c33c3fb81)
  - site_page: https://trailblazer.to/2.1/docs/trailblazer (fetched 2026-08-29T09:43:30.556996+00:00, sha 0d8721ca2266)
  - site_page: https://trailblazer.to/2.1/about (fetched 2026-08-29T09:43:30.559522+00:00, sha 978259f029a8)
  - site_page: https://trailblazer.to/2.1/docs/operation (fetched 2026-08-29T09:43:30.561706+00:00, sha b73ae1d528a4)
  - site_page: https://trailblazer.to/2.1/docs/activity/deprecated (fetched 2026-08-29T09:43:30.566296+00:00, sha 4d98f56be12b)
  - site_page: https://trailblazer.to/2.1/docs/rails_integration (fetched 2026-08-29T09:43:30.568316+00:00, sha 0dee9e4f1cd0)
  - site_page: https://trailblazer.to/2.1/docs/test (fetched 2026-08-29T09:43:30.570295+00:00, sha a406f4c9605e)
  - site_page: https://trailblazer.to/2.1/docs/macro (fetched 2026-08-29T09:43:30.573028+00:00, sha d647a910bf24)
  - site_page: https://trailblazer.to/2.1/docs/workflow (fetched 2026-08-29T09:43:30.576716+00:00, sha ac86a27b46fe)
- Data as of 2026-08-30T08:39:29.467469+00:00.
