Manage Your Website from the Command Line with geekcli
Install the free Real Geeks command line to write posts, build pages and update your website from a terminal or an AI coding agent.
Table of Contents
What This Does
geekcli is the Real Geeks command line: a free, open-source program that manages your Real Geeks website from a terminal window instead of the website admin. With it you can:
Write, schedule and publish blog posts, written in plain Markdown
Create and update pages, area pages and agent pages, including the property search each one shows
Edit your home page, navigation, sidebars and footers
Change site settings and your design (template and colors), with a preview first
Upload photos and files to your media library
Take screenshots of any page to check how a change looks, on desktop or phone
Undo a change to a page, post, footer or your home page
It is built as much for AI coding agents, such as Claude Code or Codex, as for people. An agent that can run commands can use geekcli to build pages, write posts and check its own work on your live site.
Need to Know
geekcli uses the Real Geeks Content API, which is in beta and switched on per website. Request access or ask Real Geeks support to turn it on.
Only the site owner can approve geekcli for a website, and access can be revoked at any time from Admin → API Keys.
Changes you make with geekcli are live on your website right away, just like changes in the admin. Blog posts are the exception: geekcli creates them as drafts until you publish.
Requirements to Use
A Mac, Linux or Windows computer and some comfort with typing commands into a terminal (Terminal on a Mac, PowerShell on Windows). If you would rather just ask in plain English, see Connect Your Website to an AI Assistant instead.
The Content API enabled on your website. If you are not sure, contact Real Geeks support.
You must be the site owner, or have the site owner approve geekcli for you. The approval happens inside your website's admin, behind your normal sign-in.
Install geekcli
Mac or Linux: open Terminal and paste:
curl -fsSL https://raw.githubusercontent.com/realgeeks/geekcli/main/install.sh | sh
Windows: open PowerShell and paste:
irm https://raw.githubusercontent.com/realgeeks/geekcli/main/install.ps1 | iex
The installer downloads the latest release for your computer, checks it has not been tampered with, and installs it. To confirm it worked, run:
geekcli --version
Run the same install command again at any time to update to the newest version. Release notes are on the geekcli releases page.
Connect It to Your Website
Run the login command with your website address:
geekcli auth login --site www.YOUR-SITE.comYour browser opens your own website's admin. Sign in the way you always do.
You land on an approval page showing the name of the key geekcli is asking for and what it will be allowed to change. Click Approve.
Back in the terminal, geekcli confirms the connection. Check it with:
geekcli me
This shows your website, what geekcli is allowed to do, and when the connection expires.
geekcli never sees your password. It stores its own key for your website on your computer, and that key works for six months; after that, run geekcli auth login again.
More than one website? Log in to each one. geekcli auth sites lists them, geekcli auth use www.OTHER-SITE.com switches the default, and any command takes --site to pick one for just that command.
Try It
A few everyday tasks. Every command explains itself with --help, for example geekcli posts create --help.
Write a blog post. Write the post in a text file (Markdown is fine; geekcli converts it), then:
geekcli posts create --title "Spring market update" --slug spring-market-update --content-file post.md --category market-updates --create-categories
The post is saved as a draft. Look it over in your admin, then publish it now or schedule it:
geekcli posts publish spring-market-updategeekcli posts publish spring-market-update --at 2026-11-01T09:00:00-05:00
Update a page. Only what you pass changes:
geekcli pages update /about/ --content-file about.mdgeekcli pages update /buying/ --meta-description "Everything you need to know about buying a home in Riverside."
Build a neighborhood (area) page. An area page's listings come from its property search, not from its name, so check the search first:
geekcli search fields (every search field your website accepts)geekcli search check subdivision=Downtown --count (does your MLS know this value, and how many listings match?)geekcli area-pages create --slug downtown --area-name Downtown --anchor-text "Downtown Homes" --search-criteria subdivision=Downtown --content-file downtown.md
Upload a photo and get back its address to use in posts and pages:
geekcli files upload hero.jpg --to images
See how a page looks after a change, on desktop or phone:
geekcli snapshot / --fullgeekcli snapshot /blog/spring-market-update/ --mobile --full
The geekcli guide covers every task, including navigation, sidebars, footers, featured pages, site settings and design. In the terminal, geekcli guide prints the same guide.
Using geekcli with an AI Coding Agent
AI coding agents such as Claude Code or Codex run commands on your computer, so they can use geekcli directly. geekcli ships with a manual written for agents, so you don't have to explain it.
Install geekcli and log in to your website yourself first (see above), so the agent never handles your sign-in.
Start your agent and tell it what you want, mentioning geekcli. For example:
“Use geekcli to write a draft blog post about this spring's market in Riverside, with a header image. Rungeekcli guidefirst.”The agent reads the guide, checks your website with
geekcli me, does the work, and can take screenshots to check the result.
Tip
Ask the agent to create blog posts as drafts and to show you a screenshot before changing anything visible on your home page or navigation. geekcli's guide already tells agents to work this way.
Staying Safe on a Live Website
Drafts first. New blog posts are drafts until you run
geekcli posts publish. Drafts and scheduled posts are not visible to visitors or search engines.Undo. Pages, area pages, agent pages, blog posts, footers and your home page keep a history.
geekcli pages revisions /buying/lists the versions andgeekcli pages revert /buying/ 318goes back to one (use the number from the list). The same works forposts,area-pages,agent-pages,footersandhome-page.Preview design changes.
geekcli design previewgives you a link that shows a new template or color scheme without saving it;geekcli design setmakes it live.Warnings. When something is saved but probably isn't what you meant, such as a city name your MLS doesn't recognize or page code your website can't use, geekcli prints a
warning:line explaining it, with suggestions where it can.History. Every change geekcli makes is recorded in your website's change history, labeled with the key that made it.
Managing and Removing Access
Each geekcli login is an API key listed under Admin → API Keys on your website. Revoke it there to cut off access immediately.
Keys expire after six months.
geekcli meshows when.To remove a website from geekcli on your computer, run
geekcli auth logout --site www.YOUR-SITE.com. To uninstall geekcli, delete thegeekcliprogram; its saved keys are in thegeekclifolder of your user configuration folder (~/.config/geekclion Mac and Linux).
Troubleshooting
“The content API is not enabled for this site” (api_disabled). The Content API is off for that website. Request access or contact Real Geeks support.
token_expired. The six-month key ran out. Run geekcli auth login --site www.YOUR-SITE.com again.
“command not found: geekcli”. Close and reopen your terminal so it picks up the new program. If it still isn't found, run the install command again: the line starting with Installed says where geekcli went, and if that folder isn't on your PATH, the next line shows the command to add it.
You aren't the site owner. Only the site owner can approve geekcli. Ask the owner to run the login, or to create a key under Admin → API Keys and give it to you. Then run geekcli auth login --site www.YOUR-SITE.com --api-key-stdin, paste the key, press Enter, and finish with Ctrl-D (on Windows, Ctrl-Z then Enter).
A character is rejected. Websites store text in a character set without emoji, arrows or Chinese, Japanese and Korean characters. Remove them or write them as HTML entities.
Something else? Add -v to any command to see exactly what it sent and received, and contact Real Geeks support with the output. Bugs in geekcli itself can be reported on GitHub.
Common Questions
Does geekcli cost anything?
No. geekcli is free and open source (MIT license). The source code is on GitHub.
What is the difference between geekcli and connecting an AI assistant?
Both use the same Content API and the same permissions. Connecting an AI assistant lets you manage your website by chatting in Claude or ChatGPT, with nothing to install. geekcli is a program on your computer, for people and AI coding agents who work in a terminal or want to script repeated tasks.
Can geekcli do everything the admin can?
It covers blog posts, pages, area and agent pages, the home page, navigation, sidebars, footers, featured pages, editable settings, design and files. Some areas, such as leads, the CRM and billing, are only in the admin and the CRM.
Can I use it on more than one website?
Yes. Log in to each website once; see Connect It to Your Website.
Where is the technical reference?
The Content API developer documentation describes every option in detail, and the geekcli guide shows the command for each.