An open API service indexing awesome lists of open source software.

https://github.com/sidbhatt11/ruby-workspace-manager

An Nx-like monorepo tool for Ruby
https://github.com/sidbhatt11/ruby-workspace-manager

monorepo ruby

Last synced: 4 months ago
JSON representation

An Nx-like monorepo tool for Ruby

Awesome Lists containing this project

README

          

[![CI](https://github.com/sidbhatt11/ruby-workspace-manager/actions/workflows/ci.yml/badge.svg)](https://github.com/sidbhatt11/ruby-workspace-manager/actions/workflows/ci.yml)
![Ruby](https://img.shields.io/badge/Ruby-%3E%3D%203.4-red)

# RWM — Ruby Workspace Manager

An Nx-like monorepo tool for Ruby. Convention-over-configuration, zero runtime dependencies, delegates to Rake.

## What it does

RWM manages Ruby monorepos with multiple apps and libraries. It builds a dependency graph from your Gemfiles, enforces structural conventions, runs tasks in parallel respecting dependency order, detects affected packages from git changes, and caches results so unchanged work is never repeated.

## Commands

| Command | Description |
|---------|-------------|
| `rwm init` | Initialize a workspace. |
| `rwm bootstrap` | Install deps, build graph, install hooks, run bootstrap tasks. |
| `rwm new ` | Scaffold a new package. |
| `rwm graph` | Rebuild the dependency graph. `--dot` / `--mermaid` for visualization. |
| `rwm run [pkg]` | Run a Rake task across packages. Packages without the task are skipped. |
| `rwm [pkg]` | Any unknown command is a task shortcut: `rwm test` = `rwm run test`. |
| `rwm run --affected` | Run only on packages affected by current changes. |
| `rwm check` | Validate conventions. |
| `rwm list` | List all packages. |
| `rwm info ` | Show package details. |
| `rwm affected` | Show affected packages. |
| `rwm cache clean [pkg]` | Clear cached task results. |

Shell completions for Bash and Zsh are included — see [GUIDE.md](GUIDE.md) for setup instructions.

See [GUIDE.md](GUIDE.md) for full usage documentation — dependencies, caching, affected detection, git hooks, design decisions, and more.

## License

MIT