$ npx os-alt slack
Prints the self-hostable open-source alternatives for a SaaS, with license, setup time, monthly cost, GitHub health and stars — straight in your shell.
Wraps the public osalt.dev API. No login. No telemetry of our own (the API is rate-limited but otherwise unauthenticated). Single dependency-free Node script.
You don't install it. Just run:
npx os-alt <saas-slug>Examples:
npx os-alt slack
npx os-alt datadog
npx os-alt notion
npx os-alt pagerdutyIf npm hasn't picked up the package yet, the GitHub-URL fallback always works:
npx github:SolvoHQ/os-alt-cli slacknpx os-alt --list # every indexed SaaS slug (currently ~100)
npx os-alt --help
npx os-alt --versionPrefix fallback is built in: npx os-alt slac resolves to slack. If the
prefix matches multiple SaaS, the CLI lists them and exits 2.
Slack Team chat
Slack is the default for persistent team chat. The self-hostable replacements …
anchor: $8.75/user/mo on Pro; message history capped on free tier
name license setup monthly cost health ★
Mattermost AGPL-3.0 (Team Ed… 15min docker-… $5 VPS handle… alive today 37k
Rocket.Chat MIT 15min docker-… $10 VPS — Mon… alive 1d 45k
Zulip Apache-2.0 30-60min (the… $10 VPS minim… alive today 25k
Mattermost: Slack → Workspace settings → Import/Export → Export …
Rocket.Chat: Admin → Import → Slack. Upload Slack export …
Zulip: Use the upstream `manage.py convert_slack_data` …
Full page → https://code-rho-dun.vercel.app/slack/
Migration → https://code-rho-dun.vercel.app/migrate-from-slack-to-mattermost/
Data: https://code-rho-dun.vercel.app/api/saas/slack.json
- Node 18+ (uses the built-in
fetch). - No transitive deps. The package is one file.
| var | default | meaning |
|---|---|---|
OSALT_API_BASE |
https://code-rho-dun.vercel.app |
API host (will become osalt.dev) |
OSALT_WEB_BASE |
same as OSALT_API_BASE |
base URL printed in the footer |
NO_COLOR=1 |
unset | disable ANSI colors |
The web is great for browsing. But when you're sketching infrastructure in
a terminal, opening a browser to compare three Slack alternatives is friction.
npx os-alt slack is two seconds of throughput.
The numbers (stars, last-commit age, archived flag) are computed at site build time against the GitHub API, so what the CLI prints is what the site shows — including the “alive / stale / dead” classification.
MIT — see LICENSE.
Bug reports and slug requests are welcome: https://github.com/SolvoHQ/os-alt-cli/issues.