SPDX-FileCopyrightText: 2026 Kerrick Long [email protected] SPDX-License-Identifier: CC-BY-SA-4.0 -->

ratatui_ruby-devtools


builds.sr.ht status 
License 
Gem Version 
Mailing List: Development

Introduction

ratatui_ruby-devtools provides shared development tooling for the RatatuiRuby ecosystem. It includes Rake tasks, linters, license enforcement, and build tooling used across all RatatuiRuby gems.

This is a non-runtime gem. It provides build tooling—not application features. Add it to your :development group only.

Installation

Add this line to your application's Gemfile:

group :development do
  gem "ratatui_ruby-devtools"
end

And then execute:

bundle install

Usage

In your Rakefile:

require "bundler/gem_tasks"
require "ratatui_ruby/devtools"

RatatuiRuby::Devtools.install!

task default: i[lint]

This imports all devtools rake tasks into your project.

Provided Rake Tasks

Linting

Task Description
rake lint Run all lint tasks
rake lint:fix Auto-fix all linting issues
rake rubocop Run RuboCop
rake rubycritic Run RubyCritic
rake doc:suggest Suggest documentation improvements

License Enforcement

Task Description
rake license:all Run all license tasks
rake license:headers:all Ensure all files have SPDX headers
rake license:new Apply license headers to changed files only
rake reuse:lint Check REUSE/SPDX compliance
rake reuse:fix Add missing SPDX headers

Version Bumping

Task Description
rake bump:major Bump major version
rake bump:minor Bump minor version
rake bump:patch Bump patch version
rake bump:exact[0.1.0] Set exact version

Executables

bin/agent_rake

An AI-friendly wrapper for bundle exec rake that captures all output and only shows failure summaries.

bin/agent_rake           # Run default task
bin/agent_rake test      # Run specific task

bin/consolidate_md

Merge multiple markdown files into one, adjusting heading levels.

bin/hbs

Handlebars templating utility.

Templates

Devtools includes templates for scaffolding new ecosystem gems:

Template Purpose
AGENTS.md.erb AI agent instructions
.pre-commit-config.yaml Pre-commit hooks
Rakefile.erb Standard Rakefile
sourcehut.rake.erb SourceHut CI task
build.yml.erb SourceHut build manifest
gemspec.erb Standard gemspec
bin/setup.erb Setup script
mise.toml.erb Toolchain versions
REUSE.toml.erb License annotations
.gitignore.erb Git ignores
.rubocop.yml.erb RuboCop config

Access templates via:

RatatuiRuby::Devtools.templates_path
# => "/path/to/devtools/templates"

Configuration

Tasks auto-discover gem configuration from your *.gemspec. Override if needed:

RatatuiRuby::Devtools.gem_name = "my_gem"
RatatuiRuby::Devtools.version_file = "lib/my_gem/version.rb"

Environment variables for REUSE tasks:

Variable Default
REUSE_COPYRIGHT Kerrick Long <[email protected]>
REUSE_CODE_LICENSE AGPL-3.0-or-later
REUSE_DOC_LICENSE CC-BY-SA-4.0

Contributing

Bug reports and pull requests are welcome on sourcehut at https://sr.ht/~kerrick/ratatui_ruby/. This project is intended to be a safe, productive collaboration, and contributors are expected to adhere to the Code of Conduct.

Want to help develop ratatui_ruby-devtools? Check out the contribution guide on the wiki.

ratatui_ruby-devtools is copyright 2026, Kerrick Long.

The gem is AGPL-3.0-or-later: you may use it freely, but you must share changes you make. Documentation is CC-BY-SA-4.0. Code snippets in documentation are MIT-0 (no attribution required).

This program was created with significant assistance from multiple LLMs. The process was human-controlled through creative prompts, with human contributions to each commit. See commit footers for model attribution. declare-ai.org