---
title: This Week in Open Source
teaser: Recent thoughtbot open source updates.
tags: news,open source,this week in open source
author: Sara Jackson
published_on: 2024-04-30
---

Your humble author knows these editions fly off the shelves like hot cakes.
So while you keep updating, I'll keep posting!
Enjoy these not-so-fresh-off-the-presses updates to thoughtbot open source
projects from February 2nd through February 16th.

We saw updates to the following projects
(with handy links to jump to their section):

- [Administrate](#administrate)
- [Appraisal](#appraisal)
- [Design Sprint Guide](#design-sprint-guide)
- [thoughtbot design system](#thoughtbot-design-system)
- [factory\_bot](#factory_bot)
- [Flightdeck](#flightdeck)
- [Form Props](#form-props)
- [Shoulda Matchers](#shoulda-matchers)
- [thoughtbot stylelint Config](#thoughtbot-stylelint-config)
- thoughtbot's documentation [templates](#templates)
- [Terraform Modules AWS IAM Identity Center Permission Sets](#terraform-modules-aws-iam-identity-center-permission-sets)

## [Administrate](https://github.com/thoughtbot/administrate)

[Administrate](https://github.com/thoughtbot/administrate) is a framework for
creating flexible, powerful admin dashboards in Rails.

[dependabot[bot]](https://github.com/apps/dependabot)
bumped the versions of `nokogiri`
([ea28c1a](https://github.com/thoughtbot/administrate/commit/ea28c1aa620d27022c7068064714eb2d2d82f029)),
`webmock`
([b0ff4df](https://github.com/thoughtbot/administrate/commit/b0ff4df97e2cb9389aaeedf11d704b82e3b4c9d2)),
`dotenv-rails`
([07d5486](https://github.com/thoughtbot/administrate/commit/07d5486923c5834c28c7ec8eba29db9bf6debbfa)),
`standard`
([682471a](https://github.com/thoughtbot/administrate/commit/682471af07f0456ae3f21f0b5d9abd2410617f2a)),
and `pg`
([9e364f5](https://github.com/thoughtbot/administrate/commit/9e364f56e691757273bd41fe79af41f79440c6ab)).

Sean Doyle ([seanpdoyle](https://github.com/seanpdoyle))
implemented the client-side with Stimulus
([9547d64](https://github.com/thoughtbot/administrate/commit/9547d64cf33d5dae6de13f2b9ad6e6e8d6a1068e)),
replaced `jquery-ujs` with `@hotwired/turbo`
([21602c3](https://github.com/thoughtbot/administrate/commit/21602c3fa8ed737aaa0c1903211f67c0d544d5c8)),
and replaced `link_to` calls with `button_to`
([074cb1a](https://github.com/thoughtbot/administrate/commit/074cb1a694ba28bf441b96433a6528f3a953e23e)).

Trevor ([trevorrjohn](https://github.com/trevorrjohn))
fixed a bug where the layout generator ignored namespace
([a742521](https://github.com/thoughtbot/administrate/commit/a742521d05186071180cd680ecf40fed25b139ed)).

Jason Gorst ([jasongorst](https://github.com/jasongorst))
fixed a hidden checkbox regression for `Field::Boolean`
([bd5bb08](https://github.com/thoughtbot/administrate/commit/bd5bb08a37992137c7e1c5c85308d773738ef8b2)).

Nick Charlton ([nickcharlton](https://github.com/nickcharlton))
switched to using @thoughtbot/stylelint-config for linting
([fad9c40](https://github.com/thoughtbot/administrate/commit/fad9c4000552dd178aec2dad8d012d7e02d782fa)),
added .node-version to test against Node v20.11.0
([cc9b13b](https://github.com/thoughtbot/administrate/commit/cc9b13b5ac8f105ac8adc8a698a61e58324f169c)),
added linting for Ruby with standardrb
([3ff3b7d](https://github.com/thoughtbot/administrate/commit/3ff3b7d7f5fd5c208e462a842be0cfd48c5a40ac)),
and released v1.0.0.beta1 🎉
([45c0884](https://github.com/thoughtbot/administrate/commit/45c08847b179853d7860233f5e76134f58c58392)).

Elias Rodrigues ([elias19r](https://github.com/elias19r)) and
Pablo Brasero ([pablobm](https://github.com/pablobm))
updated Administrate to bundle compiled assets in the Gem.
A great quality of life improvement for this gem, if this author can say so!
([2a1bf79](https://github.com/thoughtbot/administrate/commit/2a1bf79f3d43cb556232aab4d3d22aaefafa8b73)).

## [Appraisal](https://github.com/thoughtbot/appraisal)

[Appraisal](https://github.com/thoughtbot/appraisal) is a Ruby library for
testing your library against different versions of dependencies.

Sebastian Cohnen ([tisba](https://github.com/tisba))
added support for `ruby file:` Gemfile syntax
([08247f8](https://github.com/thoughtbot/appraisal/commit/08247f8d29e0f7219421f846d9ff65f149f81a8a)).

Yevhenii Ponomarenko ([yevhenii-ponomarenko](https://github.com/yevhenii-ponomarenko))
fixed `customize_gemfiles` for Ruby 3
([830d47e](https://github.com/thoughtbot/appraisal/commit/830d47eb8a4d8ca5b5714155811c64b410cf43fe))
and made tests more resilient in different git environments
([7d26791](https://github.com/thoughtbot/appraisal/commit/7d26791756ab627d7b3faca5f18d1229b1187be7)).

Joakim Antman ([anakinj](https://github.com/anakinj))
fixed the `remove_gem` example
([2b44b44](https://github.com/thoughtbot/appraisal/commit/2b44b44011a4aa72b8281a5d9b191e9456f7eba6)).

## [Design Sprint Guide](https://github.com/thoughtbot/design-sprint-guide)

The Design Sprint Guide is a static website built using Eleventy.

Danny Garcia ([garciadanny](https://github.com/garciadanny))
fixed a typo
([60e27a3](https://github.com/thoughtbot/design-sprint-guide/commit/60e27a3e5e0cb0c45ca0785e02da13f5c9522a97)).

## [thoughtbot design system](https://github.com/thoughtbot/design-system)

[thoughtbot design system](https://github.com/thoughtbot/design-system) (tbds)
is the design system for thoughtbot websites.

[dependabot[bot]](https://github.com/apps/dependabot)
bumped the version of `stylelint`
([b0378f3](https://github.com/thoughtbot/design-system/commit/b0378f3339f28da1c84a73b38927813377f5f2cb)).

## [factory\_bot](https://github.com/thoughtbot/factory_bot)

[factory\_bot](https://github.com/thoughtbot/factory_bot) is a library for
setting up Ruby objects as test data.

YuriBocharov ([elasticspoon](https://github.com/elasticspoon))
fixed broken links in ref/factory.md
([cf3f21f](https://github.com/thoughtbot/factory_bot/commit/cf3f21fcbbccbc40849c74a84eeb0bb0bd6c7606)).

## [Flightdeck](https://github.com/thoughtbot/flightdeck)

[Flightdeck](https://github.com/thoughtbot/flightdeck) provides Terraform
modules for rapidly building production-grade Kubernetes clusters following SRE
practices.

Akshith Yellapragada ([ayellapragada](https://github.com/ayellapragada))
added a link to the platform guide to README.md
([6b035e5](https://github.com/thoughtbot/flightdeck/commit/6b035e5820ab26068915461fdc36322660ca8b6d)).

## [Form Props](https://github.com/thoughtbot/form_props)

[Form Props](https://github.com/thoughtbot/form_props) is a Rails form builder
that outputs input attributes (in JSON) instead of tags. Now you can enjoy the
conveniences of Rails helpers in other view libraries like React and React Native.

Johny Ho ([jho406](https://github.com/jho406))
updated for consistent naming in the docs
([073af4e](https://github.com/thoughtbot/form_props/commit/073af4ed460028a9a9a4614634ad9dd255d2358d)).

## [Shoulda Matchers](https://github.com/thoughtbot/shoulda-matchers)

[Shoulda Matchers](https://github.com/thoughtbot/shoulda-matchers) provides
simple one-liner tests for common Rails functionality.

Matheus Sales ([matsales28](https://github.com/matsales28))
updated dependencies
([cbff141](https://github.com/thoughtbot/shoulda-matchers/commit/cbff1419c193ce2a06520d57fb888247568ebadf)).

Matheus Sales and
Stef Schenkelaars ([StefSchenkelaars](https://github.com/StefSchenkelaars))
ensured the uniqueness validation matcher works with STI
([5781741](https://github.com/thoughtbot/shoulda-matchers/commit/5781741482601323975f062038546bd236959a79)).

Eduardo Souza Costa Araújo ([EduardoSCosta](https://github.com/EduardoSCosta))
added `against` method in the allow value matcher
([4d84359](https://github.com/thoughtbot/shoulda-matchers/commit/4d84359e3194af1b4574bab34761b80d09092249)).

## [thoughtbot stylelint Config](https://github.com/thoughtbot/stylelint-config)

[thoughtbot stylelint Config](https://github.com/thoughtbot/stylelint-config) is
a shareable [stylelint](https://stylelint.io/) configuration that enforces
[thoughtbot's Sass guides](https://github.com/thoughtbot/guides/tree/main/sass).

Nick Charlton ([nickcharlton](https://github.com/nickcharlton))
allowed for `!default` annotations
([fb14d2c](https://github.com/thoughtbot/stylelint-config/commit/fb14d2cd1279325fadbf29f09bcf1169d249b1ef)),
added a script to automate building the CHANGELOG
([747e173](https://github.com/thoughtbot/stylelint-config/commit/747e173fe7cd29ef3aad6213901b4e2b8e13ae30)),
and released version 4.0.0 🎉
([6d3c2f7](https://github.com/thoughtbot/stylelint-config/commit/6d3c2f7aa317a5b9536672a23d3757fe3c137178)).

## [Templates](https://github.com/thoughtbot/templates)

thoughtbot's documentation [templates](https://github.com/thoughtbot/templates)
for open source projects.

Stefanni Brasil ([stefannibrasil](https://github.com/stefannibrasil))
and Akshith Yellapragada ([ayellapragada](https://github.com/ayellapragada))
worked together on adding a reusable GitHub workflow
to generate a section of the README in our OSS dynamically
([1555ffa](https://github.com/thoughtbot/templates/commit/1555ffa79f3a767a44a36fffe06a0c3a3cb75014)),
([04355c3](https://github.com/thoughtbot/templates/commit/04355c3283d04d073ca7620227f81c428b4010bc)).

✨[You can read more about reusable GitHub workflows and the dynamic README work in this blog post](https://thoughtbot.com/blog/automate-processes-with-reusable-github-workflows).

Stefanni also removed the README.template
([3c0a048](https://github.com/thoughtbot/templates/commit/3c0a04859e0784ed2c1f4034dd0535dc7e9a2461)).

## [Terraform Modules AWS IAM Identity Center Permission Sets](https://github.com/thoughtbot/terraform-aws-iam-permission-sets)

[Terraform Modules AWS IAM Identity Center Permission Sets](https://github.com/thoughtbot/terraform-aws-iam-permission-sets)
is a terraform module to provision and assign permission sets for an AWS landing zone.

Gavin Williams ([fatmcgav](https://github.com/fatmcgav))
added support for customer managed policy attachment
([91fe8a5](https://github.com/thoughtbot/terraform-aws-iam-permission-sets/commit/91fe8a5c66207caa336d814226419078d0d165d9))

---

✨Have you considered contributing to open source? There's a project out there
for you! Visit our [Open Source page](https://thoughtbot.com/open-source) to
learn more about our team's projects and contributions. While you're there,
consider contributing to one of our projects.
