
Symptom (relevant portions):
```
$ brew cask doctor
==> Homebrew-Cask Version
Homebrew-Cask 1.6.7-56-g9ebcef7
Homebrew/homebrew-cask (git revision fc24e; last commit 2018-06-09)
==> macOS
10.13.5
==> SIP
Enabled
...
==> Homebrew-Cask Install Location
<NONE>
==> Homebrew-Cask Staging Location
~/homebrew/Caskroom
...
==> Environment Variables
HOMEBREW_CASK_OPTS="--appdir=~/Applications"
LC_ALL="en_US.UTF-8"
PATH="/usr/bin:/bin:/usr/sbin:/sbin:~/homebrew/Library/Homebrew/shims/scm"
SHELL="/bin/bash"
Cask's Doctor Checkup: failed
- The staging path ~/homebrew/Caskroom does not exist.
Error: There are some problems with your setup.
```
Analysis:
* The source code is
[this](9ebcef785e/Library/Homebrew/cask/lib/hbc/cli/doctor.rb (L63-L66)
).
* The issue is reproducible in `brew irb`:
```
$ ls -dl ~/homebrew/Caskroom
drwxrwxr-x 10 luca admin 340 9 Jun 16:22 /Users/luca/homebrew/Caskroom
$ ( cd ~ && pwd; )
/Users/luca
$ ls -dl /Users/luca/homebrew/Caskroom
drwxrwxr-x 10 luca admin 340 9 Jun 16:22 /Users/luca/homebrew/Caskroom
$ brew irb
==> Interactive Homebrew Shell
Example commands available with: brew irb --examples
irb(main):001:0> Pathname.new("~/homebrew/Caskroom").exist?
=> false
irb(main):002:0> Pathname.new("/Users/luca/homebrew/Caskroom").exist?
=> true
```
Homebrew's Formula API
This is the (partially) documented public API for Homebrew.
The main class you should look at is the {Formula} class (and classes linked from there). That's the class that's used to create Homebrew formulae (i.e. package descriptions). Assume anything else you stumble upon is private.
You may also find the Formula Cookbook and Ruby Style Guide helpful in creating formulae.
Good luck!