## Getting Started

Posh TUI is a documentation viewer for Ruby developers. It works on macOS and Linux.

### Installation
Install with Homebrew:

```bash
brew install --cask skatkov/tap/poshtui
```

On Arch Linux, install the prebuilt package from the AUR:

```bash
yay -S poshtui-bin
```

Or download the executable manually from [GitHub Releases](https://github.com/skatkov/homebrew-tap/releases).

### Usage

Go into any Ruby project with a `Gemfile.lock` and run `posh sync`. This will download all documentation to your machine.

After that, just run `posh` inside a project and it will present a TUI interface.

It's also possible to clear all docsets from your machine by running `posh clear`.

### Selecting a Gemfile.lock

Posh needs a lockfile because it contains the exact Ruby and gem versions used by your project. By default, it finds the nearest `Gemfile`, searching from the current directory toward its parents, and uses its `Gemfile.lock`.

This means you can run Posh from a subdirectory of a Ruby project without passing the lockfile path manually.

Use `--lockfile` to bypass automatic detection and open a specific lockfile:

```bash
posh --lockfile=gemfiles/rails_8.gemfile.lock
posh sync --lockfile=gemfiles/rails_8.gemfile.lock
```

#### Missing lockfiles

If your project has a `Gemfile` but no `Gemfile.lock`, run `bundle install` in the project directory first. Posh cannot use `Gemfile` as a fallback because it contains version constraints rather than exact resolved versions.

In a monorepo, run Posh from the Ruby application directory. Posh searches parent directories but does not recursively scan unrelated applications.

## Contact
Please contact me at [docs@poshtui.com](mailto:docs@poshtui.com "docs@poshtui.com") for any questions, feedback, or just to chat.
