Skip to content

alltuner/vacant

Repository files navigation

vacant

Fast domain availability checker.
Asks authoritative TLD nameservers directly instead of WHOIS.

Sponsor

crates.io PyPI npm License Stars


Get Started

# Rust / CLI
brew install alltuner/tap/vacant
cargo install vacant

# Python
uv add vacant

# JavaScript / TypeScript
npm install @alltuner/vacant

Try it without installing

The CLI also runs straight from any package runner — no install, no global state:

uvx vacant example.com                    # PyPI wheel via uv
pipx run vacant example.com               # PyPI wheel via pipx
npx -y @alltuner/vacant example.com       # npm package via npx
bunx @alltuner/vacant example.com         # npm package via bun
pnpm dlx @alltuner/vacant example.com     # npm package via pnpm

All variants share the same Rust engine, so results and flags are identical. The native binary (brew / cargo) is fastest to start; the runner variants are perfect for one-shots and CI.

For agents

There's a ready-made agent skill at alltuner/skills so coding agents (Claude Code, etc.) can use vacant directly when checking domain availability:

npx skills add alltuner/skills --skill vacant

The skill wraps the CLI with usage hints, common patterns, exit-code semantics, and registry gotchas — see skills/vacant/SKILL.md.

Packages

This repo is a monorepo. The same engine ships in three forms:

Package Path Registry
vacant (Rust library + CLI) crates/vacant crates.io
vacant (Python wheel) python PyPI
@alltuner/vacant (npm package) js npm

See each package's README for usage. The Python wheel embeds the Rust engine via PyO3, the npm package embeds it via napi-rs, and all three share the on-disk SQLite cache with the CLI.

The PSL + RDAP-derived rules every package consumes live at rules/rules.toml — see the rules/ README for the source-of-truth and mirror policy.

Development

just                 # menu of all dev tasks
just build           # build the rust binary
just test            # run rust workspace tests
just py-develop      # build the python extension into a local venv
just py-check        # ruff + pytest
just js-develop      # build the napi-rs binding into js/
just js-check        # tsc + node:test smoke

License

MIT

Support the project

vacant is an open source project built by David Poblador i Garcia through All Tuner Labs.

If this project was useful to you, consider supporting its development.


Built by David Poblador i Garcia with the support of All Tuner Labs.
Made with ❤️ in Poblenou, Barcelona.

About

Fast domain availability checker. Asks authoritative TLD nameservers directly instead of WHOIS.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors