# charkost/prosopite

Rails N+1 queries auto-detection with zero false positives / false negatives

Repository: https://github.com/charkost/prosopite
Canonical: https://ross.abutalabs.com/products/prosopite
Language: Ruby
License: Apache-2.0
License Family: permissive
Topics: performance, rails
Last push: 2026-06-07T15:57:02+00:00

## Health v2 (maintenance only)
Score: 78/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 86, release rhythm 56, longevity 100
- inputs: {"age_days": 2023, "days_push": 87, "days_rel": 139, "gap_med": 99.5, "n_releases_24m": 5}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1906, forks 59 (observed 2026-08-28T04:05:51.975229+00:00)

## What it is
Prosopite is a Ruby gem that auto-detects N+1 queries in Rails applications with zero false positives or false negatives. It monitors SQL queries via Active Support instrumentation and detects repeated queries sharing the same call stack and query fingerprint.

## Use cases
- detect n+1 queries in rails app
- find slow activerecord queries in tests
- replace bullet gem for n+1 detection
- catch n+1 queries after record creation with factorybot
- raise exceptions on n+1 queries in ci
- detect n+1 queries with mongoid models calling activerecord

## When to choose
- you use Rails/ActiveRecord and want reliable N+1 detection without false positives
- Bullet misses N+1 cases like record creations, #becomes, or pluck on associations
- you want call stack traces pointing to the offending code

## When to avoid
- you are not using Rails or ActiveRecord/Mongoid
- you need general query performance profiling rather than N+1 detection

## Facets
- artifact type: library
- maturity: active
- function: monitoring, benchmarking, testing
- domain: performance, web-development, developer-tools
- platform: ruby
- tags: rails, n-plus-one-queries, activerecord, database-performance, gem, web-server

## Member repositories
- charkost/prosopite (main) score 78

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:51.975229+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-30T03:11:40.198285+00:00, confidence not recorded.
  - readme: https://github.com/charkost/prosopite (fetched 2026-08-28T04:05:51.975229+00:00, sha c730015d0df5)
- Data as of 2026-08-30T08:39:29.467469+00:00.
