macOS companion toolkit for power users
  • Shell 87.7%
  • Go 12.3%
Find a file
thousand flowers 7b6c1875b1
Clarify the rationale behind Raccoon's development (#19)
Revised the explanation of the tool's development and purpose for clarity.
2026-06-19 01:13:52 +02:00
.github docs: update README, add test suite, simplify build (#10) 2026-06-17 15:45:43 +02:00
bin v0.9.0 follow-up: disk mount points, TM phase, exclusions, ssh help (#16) 2026-06-18 16:51:37 +02:00
completions fix: shellcheck cleanup + sudo non-interactive guard 2026-06-08 14:46:13 +02:00
docs docs: update README, add test suite, simplify build (#10) 2026-06-17 15:45:43 +02:00
lib docs: update README, add test suite, simplify build (#10) 2026-06-17 15:45:43 +02:00
man/man1 docs: release 0.8.0, optimize for reddit, and fix build permissions 2026-06-13 16:55:41 +02:00
tests v0.9.0 follow-up: disk mount points, TM phase, exclusions, ssh help (#16) 2026-06-18 16:51:37 +02:00
ui v0.9.0 — External drives, network mounts, system memory, GPG export, upgrade hardening (#15) 2026-06-18 16:02:29 +02:00
.editorconfig fix: shellcheck cleanup + sudo non-interactive guard 2026-06-08 14:46:13 +02:00
.gitignore v0.9.0 — External drives, network mounts, system memory, GPG export, upgrade hardening (#15) 2026-06-18 16:02:29 +02:00
install fix install: replace git pull with fetch+reset for force-push safety 2026-06-08 15:12:16 +02:00
install.sh Merge branch 'v0.6.0-fix' 2026-06-09 21:11:31 +02:00
LICENSE fix: shellcheck cleanup + sudo non-interactive guard 2026-06-08 14:46:13 +02:00
rcc fix: shellcheck cleanup + sudo non-interactive guard 2026-06-08 14:46:13 +02:00
README.md Clarify the rationale behind Raccoon's development (#19) 2026-06-19 01:13:52 +02:00
REDDIT_POST.md docs: release 0.8.0, optimize for reddit, and fix build permissions 2026-06-13 16:55:41 +02:00

🦝 Raccoon

Raccoon Hero

macOS companion toolkit — system info, security audits, dev tools, all from one terminal.

CI License: MIT Go

Zero dependencies beyond macOS + git. 1500+ lines of shellcheck-clean Bash.


Install

curl -fsSL https://raw.githubusercontent.com/thousandflowers/Raccoon/main/install.sh | bash

Or via Homebrew:

brew install thousandflowers/raccoon/rcc

Run rcc to launch the interactive menu, or rcc <command> for direct access.

Update & uninstall

Update:

# Homebrew
brew upgrade rcc

# curl install — re-run the installer
curl -fsSL https://raw.githubusercontent.com/thousandflowers/Raccoon/main/install.sh | bash

Uninstall:

# Homebrew
brew uninstall rcc

# curl install
rm -rf ~/.raccoon && rm "$(which rcc)"

Why I built this

It started as a PR to Mole — a mo update command that updated brew, pip, npm, and gem in one shot because i always forgot to update something. The maintainer liked the code but declined it as out of scope for Mole.

So I took it further. I had a second script I'd run on my sisters' Macs whenever they asked me to check something: disk space, open ports, what was running at startup. I merged the two, kept adding commands, and Raccoon became the tool I reach for whenever I need to know what's going on with a Mac.


What you can do

🔒 Security audit

30+ checks across Core Security, Network, Auth, Persistence, Privacy, and more.

rcc audit                 # quick scan
rcc audit deep            # full scan (requires sudo)
rcc audit --fix           # auto-fix common issues
rcc audit --json          # machine-readable output
rcc audit --csv           # spreadsheet-ready
rcc audit --html          # save as HTML report
rcc audit --report out    # save report to file
rcc audit history         # view past audits
rcc audit --diff          # changes since last audit
rcc audit watch           # schedule weekly scan via LaunchAgent
rcc audit

🖥️ System information

rcc disk                  # internal, external & network drives, SMART
rcc network               # interfaces, WiFi, DNS, routing
rcc memory                # system stats + processes sorted by RAM
rcc ports                 # open ports & listening services
rcc battery               # health %, cycles, temperature
rcc backup                # Time Machine status

🛠️ Developer tools

rcc upgrade               # update brew, pip, npm, gem at once
rcc upgrade --dry-run     # preview upgrades without running them
rcc ssh                   # inspect keys, --export, --export-gpg
rcc git                   # status, branches, stash, cleanup
rcc docker                # images, containers, volumes
rcc xcode                 # simulators, derived data, SPM caches

🧹 Maintenance

rcc env                   # shell environment & PATH breakdown
rcc startup               # launch agents & login items
rcc trash                 # trash size & empty
rcc fonts                 # find duplicates & corrupted fonts
rcc history               # shell history analysis
rcc certs                 # SSL certificate expiry report

All commands

Command Description
audit Security audit (30+ checks)
audit deep Full audit with sudo
audit fix Auto-fix security issues
battery Health, cycles, temperature
backup Time Machine status
certs SSL certificate expiry
disk Internal, external & network drives, SMART
docker Images, containers, volumes
env Shell environment & PATH
fonts Font duplicates & issues
git Status, branches, stash
history Shell history analysis
memory System memory + process RSS
network Interfaces, WiFi, DNS
ports Open ports & listeners
ssh Key inspection, --export, --export-gpg
startup Launch agents & login items
trash Trash contents & size
upgrade Multipackage update
xcode Simulators, caches, SPM

Go TUI

Raccoon ships an optional terminal UI built with Bubble Tea:

┌──────────────────────────────────────────────┐
│ Raccoon                                      │
│ macOS companion toolkit                      │
│                                              │
│ upgrade    audit      network    disk        │
│ memory     ssh        git        ports       │
│ battery    backup     env        startup     │
│ trash      fonts      history    certs       │
│ docker     xcode                             │
│                                              │
│ ←→ Navigate · ↑↓ Rows · Enter Run · Q Quit   │
└──────────────────────────────────────────────┘

Compile with cd ui && ./build.sh. The binary lands in bin/rcc-ui and is auto-detected by rcc.


Shell completion

rcc completion bash    # print bash completions
rcc completion zsh     # print zsh completions

Pipe into your shell rc file to make it permanent:

rcc completion bash >> ~/.bashrc
rcc completion zsh  >> ~/.zshrc

Man page

man rcc

Covers every command, flag, and example.


Project structure

Raccoon/
├── rcc                  # Entry point + dispatcher
├── install.sh           # curl | bash installer
├── lib/core/            # Shared shell library
│   ├── common.sh
│   └── commands.sh
├── bin/                 # Command scripts (audit, disk, …)
├── ui/                  # Go Bubble Tea TUI
├── completions/         # bash + zsh autocompletions
├── man/man1/rcc.1      # Man page
├── tests/               # Bats test suite
└── docs/                # Images, GIFs, guides

Contributing

Bug reports and PRs welcome — use the templates.

brew install bats-core shellcheck
bats tests/              # run tests
shellcheck rcc bin/*.sh lib/core/*.sh   # lint

License

MIT — see LICENSE.