Skip to content

CLI Reference

sema [OPTIONS] [FILE] [-- SCRIPT_ARGS...]

Flags & Options

FlagDescription
-e, --eval <EXPR>Evaluate expression, print result if non-nil
-p, --print <EXPR>Evaluate expression, always print result
-l, --load <FILE>Load file(s) before executing (repeatable)
-q, --quietSuppress REPL banner
-i, --interactiveEnter REPL after running file or eval
--no-initSkip LLM auto-configuration
--no-llmDisable LLM features (same as --no-init)
--model <NAME>Set default LLM model
--provider <NAME>Set LLM provider
-V, --versionPrint version
-h, --helpPrint help

Subcommands

sema ast

Parse source into an AST tree.

sema ast [OPTIONS] [FILE]
FlagDescription
-e, --eval <EXPR>Parse expression instead of file
--jsonOutput AST as JSON

Examples

bash
# Parse a file into an AST tree
sema ast script.sema

# Parse an expression into JSON AST
sema ast -e '(+ 1 2)' --json

# Load a prelude before starting the REPL
sema -l prelude.sema

# Load helpers, then run a script
sema -l helpers.sema script.sema

# Run a script and drop into REPL to inspect state
sema -i script.sema

# Quick one-liner for shell pipelines
sema -p '(string/join (map str (range 10)) ",")'

# Run without LLM features (faster startup)
sema --no-llm script.sema

# Use a specific model
sema --model claude-haiku-4-5-20251001 -e '(llm/complete "Hello!")'

# Shebang support in scripts
#!/usr/bin/env sema

Environment Variables

VariableDescription
ANTHROPIC_API_KEYAnthropic API key (auto-detected)
OPENAI_API_KEYOpenAI API key (auto-detected)
GROQ_API_KEYGroq API key (auto-detected)
XAI_API_KEYxAI/Grok API key (auto-detected)
MISTRAL_API_KEYMistral API key (auto-detected)
MOONSHOT_API_KEYMoonshot API key (auto-detected)
GOOGLE_API_KEYGoogle Gemini API key (auto-detected)
OLLAMA_HOSTOllama server URL (default: http://localhost:11434)
JINA_API_KEYJina embeddings API key (auto-detected)
VOYAGE_API_KEYVoyage embeddings API key (auto-detected)
COHERE_API_KEYCohere embeddings API key (auto-detected)
SEMA_DEFAULT_MODELDefault model name
SEMA_LLM_PROVIDERPreferred provider

REPL Commands

CommandDescription
,quit / ,qExit the REPL
,help / ,hShow help
,envShow user-defined bindings