# notahat/machinist

Fixtures aren't fun. Machinist is.

Repository: https://github.com/notahat/machinist
Canonical: https://ross.abutalabs.com/products/machinist
Language: Ruby
License: MIT
License Family: permissive
Last push: 2023-06-23T10:00:40+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": 6540, "days_push": 1167, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1113, forks 135 (observed 2026-08-28T04:03:37.994308+00:00)

## What it is
Machinist is a Ruby library for generating test data through 'blueprints' that replace traditional fixtures in Rails tests. It automatically fills in unimportant attributes and builds associated objects, letting developers specify only the fields they care about.

## Use cases
- generate test fixtures for Rails models
- create objects for unit tests without boilerplate attributes
- replace YAML fixtures with Ruby blueprints
- build associated records automatically in tests
- generate unique attribute values for test data

## When to choose
- you're maintaining a legacy Rails app already using Machinist
- you prefer blueprint-style test data over factory gems
- you want automatic generation of unimportant attributes and associations in tests

## When to avoid
- starting a new project - the project is not under active development
- you want a maintained alternative like FactoryBot
- your app doesn't use ActiveRecord or Rails

## Facets
- artifact type: library
- maturity: maintenance
- function: testing, mocking, data-generation
- domain: testing, developer-tools, web-development
- platform: ruby, cli
- tags: fixtures, test-data, blueprints, activerecord, ruby-on-rails

## Member repositories
- notahat/machinist (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:37.994308+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-30T06:42:37.371150+00:00, confidence not recorded.
  - readme: https://github.com/notahat/machinist (fetched 2026-08-28T04:03:37.994308+00:00, sha 90571bcadac1)
- Data as of 2026-08-30T08:39:29.467469+00:00.
