CLI Guide

Complete reference for the Human compiler CLI — every command, flag, and REPL feature.

Quick start: Run human with no arguments to enter the interactive REPL, or human build app.human to compile a project.
$ human --help

human — compile structured English into full-stack applications

Usage:
  human <command> [arguments]

Commands:
  build <file>      Compile to IR and generate code
  check <file>      Validate a .human file
  init [name]       Create a new Human project
  run               Start the development server
  test              Run generated tests
  explain [topic]   Learn Human syntax by topic
  syntax [section]  Full syntax reference
  fix <file>        Find and auto-fix common issues
  doctor            Check environment health
  deploy [file]     Deploy the application
  eject [path]      Export as standalone code
  storybook         Launch Storybook dev server
  audit             Display security and quality report
  ask <desc>        Generate .human from description
  how <question>    Ask about Human language usage
  suggest <file>    Get improvement suggestions
  edit <file>       Open interactive TUI editor
  version           Print the compiler version
  help              Show this help message

Global flags:
  --no-color        Disable colored output

Installation

Install with Go (1.25+):

$ go install github.com/barun-bash/human/cmd/human@v0.4.2

Or build from source:

$ git clone https://github.com/barun-bash/human.git
$ cd human
$ make build
$ make install    # copies to /usr/local/bin

Verify the installation:

$ human version
human v0.4.2 (go1.25, darwin/arm64)

Project Commands

Core commands for building, validating, and running Human projects.

human build

human build <file.human> [flags]

Compile a .human file to full-stack application code. Output goes to .human/output/.

FlagDescription
--inspectParse and print the Intent IR as YAML to stdout (no code generation)
--watch, -wWatch for file changes and rebuild automatically
$ human build app.human

 Parsed app.human (0 errors, 0 warnings)
 Generated 69 files across 4 targets
 Quality: 14 tests, 0 security issues, 0 lint warnings
 Output: .human/output/

$ human build app.human --inspect
# prints IR as YAML — useful for debugging

human check

human check <file.human>

Validate syntax and semantics without generating code. Catches errors and warnings early.

$ human check app.human

 app.human is valid (0 errors, 2 warnings)
  W201: Missing "build with:" block — defaults will be used
  W301: Page "settings" has no navigation entry

human init

human init [name]

Create a new Human project with an interactive wizard. Scaffolds a starter .human file.

$ human init my-app

 Created my-app/app.human
  Next: human build my-app/app.human

human run

human run

Start the development server. Auto-detects the build output and runs start.sh or npm run dev.

human test

human test

Run the generated test suite. Executes npm test in the output directory.

Discovery & Reference

Learn the Human language from the command line.

human explain

human explain [topic]

Interactive syntax reference. Shows patterns and examples for any Human language topic.

$ human explain pages

Pages
Define the screens of your application.

Syntax:
  page <name>:
    path: "/..."
    layout: ...
    sections:
      ...

Example:
  page Dashboard:
    path: "/dashboard"
    layout: sidebar
    sections:
      - hero: "Welcome back, {user.name}"
      - stats grid showing active projects, completed tasks
      - recent activity feed

Topics include: pages, apis, data, auth, events, roles, deploy, build, theme, testing, realtime, and more. Run human explain without a topic to see the full list.

human syntax

human syntax [section] [flags]

Full syntax reference, organized by section. Use --search to find specific patterns.

FlagDescription
--search <term>Search syntax patterns by keyword
$ human syntax --search "authentication"
# shows all syntax related to authentication

Diagnostics

Find and fix problems in your code and environment.

human fix

human fix [--dry-run] <file.human>

Analyze a .human file for common issues and auto-fix them. Handles indentation, missing blocks, deprecated syntax, and more.

FlagDescription
--dry-runPreview fixes without applying them to the file
$ human fix app.human

Found 3 fixable issues:
  1. Missing "build with:" block → added with defaults
  2. Inconsistent indentation on line 14 → fixed
  3. Deprecated "database:" → replaced with "data models:"

 Applied 3 fixes to app.human

human doctor

human doctor

Check your environment health. Verifies required tools, project config, and .human files.

$ human doctor

 Human compiler v0.4.2
 Go 1.25
 Node.js 22.0.0
 Docker 27.0.0
 Python not found — needed for Python backend targets
 Terraform not found — needed for infrastructure targets

Environment: 4/6 checks passed
Run "human doctor" after installing missing tools.

Deployment

Deploy, export, and audit your generated application.

human deploy

human deploy [file] [flags]

Deploy the application. Supports Docker, AWS (Terraform), and GCP (Terraform). Auto-detects the .human file if only one exists.

FlagDescription
--dry-runShow deployment steps without executing
--env <name>, -e <name>Deploy with a specific environment

human eject

human eject [path]

Export the build output as standalone code. Copies to ./output/ by default, strips generated-by comments. No Human dependency required after ejecting.

$ human eject ./my-standalone-app

 Ejected to ./my-standalone-app
  The project is now fully standalone — no Human dependency.

human storybook

human storybook

Launch the Storybook dev server from the build output. Auto-detects the framework (React, Vue, Angular, or Svelte). Runs on port 6006.

human audit

human audit

Display the security and quality report from the last build. Shows the contents of security-report.md. To run the generated runtime security probes against a live instance, use ./security-tests.sh <BASE_URL>.

AI-Assisted Commands

These commands require an LLM provider (Anthropic, OpenAI, Ollama, Groq, OpenRouter, Gemini, or custom). Configure with human/connect in the REPL.

human ask

human ask "<description>"

Generate a .human file from a natural language description. Streams the response, validates the output, and shows token usage.

$ human ask "a task management app with kanban boards and team collaboration"

Generating .human file...

app "TaskFlow":
  description: "Kanban-style task management with real-time collaboration"
  ...

 Generated taskflow.human (validated)
  Tokens: 847 in / 1,203 out

human how

human how "<question>"

Ask about Human language usage. Get answers about syntax, patterns, and best practices.

$ human how "add drag and drop to a kanban board"

human suggest

human suggest <file.human>

Get AI-powered improvement suggestions for your .human file. Categorized by features, performance, security, and code quality.

Interactive REPL

Run human with no arguments to enter the interactive REPL. Provides tab completion, command history, and all CLI features in a persistent session.

$ human

  human_ v0.4.2

  Type /help for commands, /open to load a project.

human> /open examples/taskflow/app.human
 Loaded app.human (TaskFlow)

human> /build
 Built 69 files in 1.2s

human> /run
Starting dev server on :3000...
Features: 38 commands with tab completion · Command history with persistence across sessions · Auto-detect .human files in the current directory · 7 color themes · Background update checks

All REPL Commands

Project Management

CommandDescription
/open <file>Load a .human file
/new [name]Create a new Human project
/reviewOpen project file in $EDITOR
/examplesList available example projects

AI-Assisted Editing

CommandDescription
/ask <description>Generate a .human file from description
/edit [instruction] (/e)AI-assisted editing session — save, show, quit
/undoRevert the last /edit change
/suggest [apply <n|all>]AI improvement suggestions; optionally apply
/rewrite <approach>Regenerate file with a different approach
/add <description>Add a new section to the loaded project
/import figma <url>Import from Figma design

Build & Deploy

CommandDescription
/build (/b)Compile the loaded project
/checkValidate the loaded project
/runStart the development server
/test (/t)Run generated tests
/deploy [--dry-run]Deploy via Docker
/stopStop Docker containers
/statusShow project and Docker status
/auditDisplay security and quality report

Reference & Help

CommandDescription
/explain [topic]Learn Human syntax by topic
/syntax [section|--search <term>]Full syntax reference with search
/fix [--dry-run]Find and auto-fix common issues
/doctorCheck environment health

Configuration

CommandDescription
/connect [provider|status]Set up LLM provider
/disconnectRemove saved LLM provider
/model [name|list]Show or switch the LLM model
/mcp [list|add|remove|status]Manage MCP server connections
/theme [name|list]Show or change the color theme
/config [set <key> <value>]View or change settings
/instructions [edit|init]Manage project instructions (HUMAN.md)

Navigation & Utility

CommandDescription
/cd [path]Change working directory
/pwdPrint working directory
/history [clear|<n>]Show or clear command history; re-run by number
/clearClear the screen
/version (/v)Print the compiler version
/updateCheck for and install updates
/help (/?)Show help message
/quit (/exit, /q)Exit the REPL

Configuration

Project Config

Created automatically. Located at .human/config.json in your project directory.

{
  "llm": {
    "provider": "anthropic",
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 4096,
    "temperature": 0.0
  }
}

Global Config

User-wide settings at ~/.human/config.json. Stores LLM credentials (permissions: 0600) and MCP servers.

{
  "llm": {
    "provider": "anthropic",
    "model": "claude-sonnet-4-20250514",
    "api_key": "sk-ant-..."
  },
  "mcp": [
    {
      "name": "figma",
      "command": "npx",
      "args": ["@anthropic/mcp-server-figma"],
      "env": { "FIGMA_ACCESS_TOKEN": "..." }
    }
  ]
}

Settings

UI preferences at ~/.human/settings.json. Change via /config set <key> <value> in the REPL.

KeyValuesDefault
themedefault, dark, light, nord, solarized, monokai, gruvboxdefault
animateon / offon
plan_modealways / auto / offalways
auto_accepton / offoff

Project Instructions

Create a HUMAN.md file in your project root for per-project instructions. These are automatically included as context for AI commands.

$ human
human> /instructions init   # create template HUMAN.md
human> /instructions edit   # open in $EDITOR

Environment Variables

VariablePurpose
ANTHROPIC_API_KEYAnthropic API key
OPENAI_API_KEYOpenAI API key
GROQ_API_KEYGroq API key
OPENROUTER_API_KEYOpenRouter API key
GEMINI_API_KEYGoogle Gemini API key
CUSTOM_API_KEYCustom provider API key
FIGMA_ACCESS_TOKENFigma API token (for import)
EDITOR / VISUALPreferred text editor (for /review, /instructions edit)

LLM providers supported: Anthropic, OpenAI, Ollama (local), Groq, OpenRouter, Gemini, and Custom (any OpenAI-compatible endpoint).

Editor & Import

Built-in TUI editor and design import tools.

human edit

human edit <file.human>

Full TUI editor with syntax highlighting, real-time validation, and structural editing. Supports keyboard shortcuts, undo/redo, and inline diagnostics.

human import

human import figma <url>

Import Figma designs directly into .human files. Components are classified, data models inferred, and code generated. Also available via the REPL as /import figma <url>.

human import openapi <spec.json> [--name AppName] [--output file.human]

Import an OpenAPI/Swagger JSON specification and convert it into a .human file. Handles $ref resolution, Swagger 2.0 migration, and allOf merging. Auto-derives the app name from the spec title.

human design

human design <figma-url | image-path>

Import a Figma design or screenshot and generate .human code. Connects to the Figma REST API to extract nodes, classify components, and infer data models. Supports LLM vision for image-based import with asset caching.

human convert

human convert <description>

Convert natural language descriptions to .human files. Supports additional input formats including design files. Similar to human ask with extended format support.

Git Workflow

Built-in git workflow commands for feature branches and releases.

human feature

human feature <name>

Create a new feature branch from the current branch. Automatically prefixes the branch name with feature/.

human feature finish

Merge the current feature branch back into the base branch and clean up.

human release

human release <version>

Tag a release with the given version (e.g., v1.0.0). Creates a git tag on the current commit.

human release notes

Generate a changelog from commits since the last tagged release.

Coming Soon

These commands are planned for upcoming releases.

human describe <file.human> Coming Soon

Generate a natural language summary of what a .human file produces.