ZelC v1.2 Maple

The cybersecurity programming language for the agentic era.

Download ZelC

Write it. Run it. Prove it. One binary, zero dependencies. Security operations language with kinetic safety, evidence-as-a-primitive, and AI intent validation.

🍎
macOS (Apple Silicon)
aarch64-apple-darwin
MacBook Pro/Air M1-M4, Mac Mini, Mac Studio, iMac with Apple Silicon.
Download ↓
zelc-1.2-macos-arm64.tar.gz
🐧
Linux (x86_64)
x86_64-unknown-linux-gnu
Ubuntu, Debian, RHEL, Fedora, CentOS, Amazon Linux, and all x86_64 distributions.
Download ↓
zelc-1.2-linux-x86_64.tar.gz

Install in 30 Seconds

# One-line install (macOS / Linux) curl -sSL https://rocheston.com/zelc/zelc-releases/install | bash # Or manual install tar -xzf zelc-1.2-macos-arm64.tar.gz sudo mv zelc /usr/local/bin/zelc zelc --version ZelC 1.2 (Maple) - Rocheston Proprietary
💻
macOS 12+
Apple Silicon or Intel
🐧
Linux
glibc 2.17+ (any modern distro)
🐳
Docker
Any platform via container

🐳 Docker

# Pull and run docker pull rocheston/zelc:latest docker run --rm -v "$PWD":/playbooks rocheston/zelc run /playbooks/my_playbook.zelc # Launch the ZelC Playground (web IDE) docker run --rm -p 8080:8080 rocheston/zelc playground # Open http://localhost:8080 # Run the ZelC daemon (SOC event processor) docker run --rm -p 9090:9090 rocheston/zelc daemon # Docker Compose (full stack) docker-compose up -d

Commands & Switches

CommandDescription
zelcLaunch interactive REPL terminal
zelc run <file.zelc>Compile and execute a ZelC playbook
zelc run --dry-run <file>Execute with all actions in simulation mode
zelc run --json <file>Output results as structured JSON
zelc guard <file.zelc>Safety analysis: kinetic violations, taint tracking, type errors
zelc fmt <files...>Format ZelC source files (2-space indent, consistent style)
zelc fmt --check <files>Check formatting without modifying (exit 1 if changes needed)
zelc test <file.zelc>Run check blocks in simulation mode with mock adapters
zelc init <name>Create new ZelC project with zelc.toml, src/, tests/
zelc pkg install <name>Install package from Rocheston registry
zelc pkg listList installed packages
zelc doc gen --output <dir>Generate HTML documentation site
zelc doc gen --source <dir>Specify source directory for doc generation
zelc export evidence --format jsonExport evidence log from last run
zelc lspStart Language Server Protocol server (for VS Code)
zelc playgroundLaunch web-based ZelC Playground on port 8080
zelc daemonStart Zelfire SOC daemon (event processor)
zelc rosecoin-devStart local Rosecoin blockchain simulator
zelc --versionPrint version: ZelC 1.2 (Maple)
zelc --verbose <cmd>Print compilation stages during execution
zelc --no-color <cmd>Disable colored terminal output

REPL Commands

Run zelc with no arguments to launch the interactive terminal.

CommandDescription
:helpShow available REPL commands
:clearReset all state and variables
:evidenceShow current evidence log
:export jsonExport evidence to JSON
:load <file.zelc>Load and execute a playbook file
:ast <statement>Show the AST for a statement
:tokens <statement>Show the token stream
:quitExit the REPL
Ctrl+CCancel current input
Ctrl+DExit
TabTab completion for keywords
↑ / ↓Navigate command history
Ctrl+RReverse search through history

Quick Start

1

Create a Project

Initialize a new ZelC project with standard layout.

zelc init my-soc-playbooks cd my-soc-playbooks
2

Write a Playbook

Edit src/main.zelc with your security logic.

-- src/main.zelc check BruteForceShield keep threshold = 12 when bruteforce_login alert critical "🚨 Attack detected" do firewall block ip event.source_ip evidence record "Containment" details { ip: event.source_ip, action: "blocked" } end end end
3

Safety Check

Verify kinetic safety and taint tracking.

zelc guard src/main.zelc ✅ Playbook is safe Kinetic actions: 1 (all inside do blocks) Taint warnings: 0 Type errors: 0
4

Run It

Execute and see evidence generated automatically.

zelc run src/main.zelc 🚨 Alert: Attack detected 🛡️ firewall block ip 1.2.3.4 📝 Evidence: Containment [sha256:a3f2...] ✅ Check BruteForceShield passed

ZelC Syntax at a Glance

-- ZelC uses -- for comments (not // or /* */) -- File extension: .zelc -- Variables set count = 0 -- mutable variable keep MAX_RETRIES = 3 -- immutable constant change count = count + 1 -- mutate existing -- Conditional logic when risk_score > 90 alert critical message "High risk detected" otherwise alert low message "Normal operations" end -- Kinetic actions (MUST be inside do...end) do firewall block ip "1.2.3.4" for 2 hours edr isolate host "endpoint-07" iam revoke sessions user_id aws rotate keys end -- Evidence is first-class evidence record "Containment" details { host: "endpoint-07", action: "isolated" } -- Blockchain anchoring rosecoin anchor evidence_pack "latest" -- AI-powered analysis set analysis = aina explain event raw_logs set risk = aina risk_score user_activity -- Emoji Visual Mode (optional) 🛡️ do block ip event.source_ip 📝 evidence record "Blocked" details { ip: event.source_ip } ⛓️ rosecoin anchor evidence_pack "threat" end

SHA-256 Checksums

Verify your download integrity:

shasum -a 256 zelc-1.2-*.tar.gz
FileSHA-256
zelc-1.2-macos-arm64.tar.gz01a2981efdda72f3502efbb58203559cd6e2bc6cbd2a32e78beb3a40d866f551
zelc-1.2-linux-x86_64.tar.gz394161b2b7d8731d47b2283adfdacb96941db3541e40c69fb3b565f29c885b6a