henryai
v0.4.7
Published
Henry CLI — AI-first self-hosted knowledge base
Maintainers
Readme
henryai
AI-first self-hosted knowledge base and startup OS. All content lives as markdown files on disk. Humans define intent. Agents do the work. The knowledge base is the shared memory between both.
Quick Start
mkdir my-startup && cd my-startup
npx henryai runThat's it — no global install needed. run bootstraps the directory, auto-downloads the app on first use, installs dependencies, and opens in your browser.
What You Get
- WYSIWYG markdown editor with AI editing panel (Claude)
- Agent dashboard — define personas, run tasks, view transcripts
- Scheduled jobs — cron-based automation with YAML configs
- Kanban task board
- Full terminal in the browser (xterm.js)
- Cmd+K search across all pages
- Git-backed version history with one-click restore
- Drag-and-drop page organization
- Henry registry — import pre-made templates for SaaS, agencies, e-commerce, and more
How It Works
~/.henry/ Global app cache (auto-managed)
app/v0.3.0/ Version-pinned Next.js install
~/my-startup/ Your Henry (this is your data)
.henry YAML manifest
.agents/ Agent personas
.jobs/ Scheduled jobs
index.md Entry page
... Your contentThe app lives in ~/.henry/ and is shared across all your Henry instances. Each Henry is a lightweight directory you can put anywhere — just a .henry manifest file, your agents, jobs, and content. No database.
Commands
All commands work via npx — no global install needed.
npx henryai create [name]
Create a new Henry directory.
npx henryai create my-startup # root Henry
cd my-startup
npx henryai create engineering # child Henry inside an existing onenpx henryai run
Start Henry serving the current directory.
npx henryai run
npx henryai run --no-open # don't open browser
npx henryai run --app-version 0.2.12 # use a specific app versionOn first run, downloads the app to ~/.henry/app/ and installs dependencies. If the current directory is not already a Henry, run bootstraps it in place by creating the .henry, .agents/, .jobs/, and .henry-state/ structure before starting the server.
Environment variables:
| Variable | Default | Description |
|---|---|---|
| HENRY_APP_PORT | 4000 | App server port |
| HENRY_DAEMON_PORT | 4100 | Daemon server port |
npx henryai import <template>
Import a pre-made Henry from the template registry.
npx henryai import saas-startup
npx henryai import career-ops
npx henryai import text-your-momnpx henryai list
List all Henry instances in the current directory.
npx henryai list Name Kind Path Agents Jobs
My Startup root . 3 2
Engineering child engineering 2 1npx henryai doctor
Run health checks on the environment.
npx henryai doctor
npx henryai doctor --fix # attempt auto-repairChecks Node.js version, Henry structure, app installation, dependencies, and port availability.
npx henryai update
Download a newer app version.
npx henryai updatenpx henryai uninstall (alias: remove)
Remove cached app versions from ~/.henry/. Prints a summary of what will be deleted and asks for confirmation. Your Henry directories and their data are never touched — those you'd delete manually.
npx henryai uninstall # remove cached app versions only
npx henryai uninstall --all # also remove global state and telemetry data
npx henryai uninstall --yes # skip the confirmation prompt
npx henryai remove # alias for uninstallWhat --all removes:
| Path | What's there |
|---|---|
| ~/.henry/ | cached app versions, global state, config.json |
| ~/Library/Application Support/henry-telemetry/ (macOS) | anonymous install_id, telemetry queue, session state |
| %APPDATA%\henry-telemetry\ (Windows) | same as above |
| $XDG_CONFIG_HOME/Henry/ (Linux, falls back to ~/.config/Henry/) | same as above |
To completely remove everything Henry has on your machine — including your Henry instances — run uninstall --all and then rm -rf your Henry directories manually.
Requirements
- Node.js >= 18 (20+ recommended)
- git (for importing templates and app download fallback)
License
MIT
