Publish your static site to Neocities from the terminal

Neocities Red is a fast, reliable Neocities CLI and Ruby client. Upload files in parallel, sync only what changed, and forget flaky API timeouts — built for Jekyll, Hugo, Eleventy and any other static site generator.

Install
gem install neocities-red

Built for real-world workflows

Everything the official CLI does — and everything it was missing.

Parallel uploads

Up to 5 concurrent workers push your site without waiting on each file.

Automatic retries

Transient Neocities API and SSL failures are retried so deploys don't flake out.

Smart diffing

Only upload files that actually changed — faster pushes, less API churn.

Recursive uploads

Upload whole directories in one command, matching your folder structure.

SSG-friendly

Works out of the box with Jekyll, Hugo, Eleventy, Astro and more.

.gitignore-aware push

Respects your ignore rules by default — no secrets or build cruft uploaded.

Incremental pull

Skips files unchanged since your last pull — backup your site in seconds.

Ruby client + CLI

A clean API client with namespaced services for scripting and automation.

From zero to deployed in three commands

Authenticate once, then push your whole site whenever you build it.

Quick start
gem install neocities-red

# first authenticated command prompts for your sitename and password
neocities-red push .

Read the full quick start

Every command you need

Push, pull, diff, upload and manage your site with an explicit, documented CLI.

Command overview

  • push — upload a whole directory (gitignore-aware)
  • upload — upload individual files or folders
  • pull — download your site (incremental)
  • diff — compare local files with the server
  • list — list remote files and metadata
  • delete — remove files from your site
  • info — site stats and info
  • purge — wipe a development site
  • logout — remove the stored API key

Built for humans

  • neocities-red help <command> — explicit per-command help
  • --dry-run — preview before you deploy
  • --optimized — skip files already on the server
  • --prune — delete remote files missing locally
  • -e/--exclude — exclude paths (repeatable)
  • Spinners, colored output, and a friendly pizza easter egg 🍕

Why Neocities Red?

A refactored and extended fork of the official neocities-ruby gem.

Faster, more reliable deploys

Parallel uploads, automatic retries on 429/5xx and SSL hiccups, and SHA1-based optimized uploads mean your site ships quickly — even on flaky connections.

Safer by default

push respects your .gitignore rules, so credentials and build artifacts never reach the server. diff lets you inspect changes before anything touches the remote.

Open and maintained

MIT-licensed, CI-tested on Ruby 3.4, 3.5 and 4.0 across Linux, macOS, Windows and FreeBSD — with an active changelog and a welcoming contributing guide.

Scriptable

Use the Ruby client directly, or drive the CLI in CI with --api-key or NEOCITIES_API_KEY.

Ready to deploy?

Install the gem, log in once, and push your static site to Neocities.

Install Neocities Red Star on GitHub