npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@abix/zisk-dev-cli

v1.3.12

Published

A comprehensive CLI tool for ZisK zkVM development with full macOS support. Features project initialization, building, execution, proof generation, environment diagnostics, and project management. This is a personal tool for testing and learning - not an

Readme

ZisK Development CLI

A comprehensive command-line interface for ZisK zkVM development with full macOS support. This tool provides project initialization, building, execution, proof generation, and environment diagnostics for ZisK zero-knowledge virtual machine development.

Overview

The ZisK Development CLI is a personal development tool designed to streamline ZisK zkVM project workflows. It automates common development tasks including project setup, building, execution, proof generation, and verification while providing comprehensive error handling and environment diagnostics.

Note: This is a personal development tool for testing and learning purposes. It is not an official ZisK product.

Features

  • Project Management: Initialize new ZisK projects with proper structure
  • Build System: Compile ZisK programs with configurable profiles and targets
  • Execution Pipeline: Run programs with input processing and metrics
  • Proof Generation: Generate zero-knowledge proofs with concurrency control
  • Environment Diagnostics: Comprehensive system health checks and validation
  • Real-time Monitoring: Watch mode with automatic rebuilds and execution
  • Error Handling: Structured error reporting with recovery suggestions
  • Security: Input validation, path sanitization, and secure process management

Installation

npm install -g @abix/zisk-dev-cli

Prerequisites

  • Node.js 16.0.0 or higher
  • Rust toolchain with cargo-zisk installed
  • ZisK zkVM runtime environment

Quick Start

  1. Initialize a new project:

    zisk-dev init my-project
    cd my-project
  2. Run the complete pipeline (recommended):

    zisk-dev run --input data.json

    This command will: build → execute → generate proofs → verify

  3. Alternative: Step-by-step workflow:

    # Build the program
    zisk-dev build
       
    # Execute to generate witnesses
    zisk-dev execute --input data.json
       
    # Generate proofs from witnesses
    zisk-dev prove --input data.json

Workflow Overview

The ZisK CLI supports two main workflows:

Complete Pipeline (Recommended)

zisk-dev run --input data.json
  • Builds the program
  • Executes with input data
  • Generates witnesses
  • Creates zero-knowledge proofs
  • Verifies the proofs

Step-by-Step Workflow

# 1. Build
zisk-dev build

# 2. Execute (generates witnesses)
zisk-dev execute --input data.json

# 3. Generate proofs from witnesses
zisk-dev prove --input data.json

# 4. Verify proofs (optional)
zisk-dev verify --proof ./proofs/proof.json

Commands

Project Management

zisk-dev init <name>

Initialize a new ZisK project with proper structure and configuration.

Options:

  • --template <template>: Use specific project template
  • --features <features>: Enable specific Rust features

Example:

zisk-dev init my-zk-app --features "std,alloc"

zisk-dev status

Display current project status including build state, configuration, and environment health.

zisk-dev doctor

Run comprehensive environment diagnostics to identify configuration issues.

Build and Execution

zisk-dev build

Build the ZisK program with configurable profiles and targets.

Options:

  • --profile <profile>: Build profile (debug, release)
  • --target <target>: Target architecture
  • --features <features>: Enable specific features

Example:

zisk-dev build --profile release --target riscv64ima-zisk-zkvm-elf

zisk-dev run

Complete ZisK pipeline - Build, execute, generate proofs, and verify in one command.

Options:

  • --input <file>: Input file path
  • --inputs <pattern>: Input file pattern (glob)
  • --max-steps <number>: Maximum execution steps
  • --skip-prove: Skip proof generation
  • --skip-verify: Skip proof verification
  • --skip-setup: Skip ROM setup
  • --metrics: Show execution metrics
  • --stats: Show execution statistics

Example:

zisk-dev run --input data.json --max-steps 1000000 --metrics

zisk-dev execute

Execute the ZisK program with input processing without proof generation.

Options:

  • --input <file>: Input file path
  • --inputs <pattern>: Input file pattern (glob)
  • --parallel: Run inputs in parallel
  • --max-steps <number>: Maximum execution steps
  • --metrics: Show execution metrics
  • --stats: Show execution statistics

Example:

zisk-dev execute --input data.json --max-steps 1000000 --metrics

Proof Generation

zisk-dev prove

Generate zero-knowledge proofs from existing execution data (witnesses).

Note: This command requires that the program has already been executed to generate witness files. Use zisk-dev execute first, or use zisk-dev run for the complete pipeline.

Options:

  • --input <file>: Input file path
  • --inputs <pattern>: Input file pattern (glob)
  • --output <dir>: Output directory for proofs
  • --profile <profile>: Build profile to use
  • --verify: Verify generated proofs
  • --aggregate: Aggregate multiple proofs

Example:

# First execute to generate witnesses
zisk-dev execute --input data.json

# Then generate proofs from witnesses
zisk-dev prove --input data.json --output ./proofs --verify

zisk-dev verify

Verify generated proofs.

Options:

  • --proof <file>: Proof file to verify
  • --proofs <pattern>: Proof file pattern (glob)

Development Workflow

zisk-dev dev

Start development mode with automatic rebuilding and execution.

Options:

  • --watch: Watch for file changes
  • --rebuild: Rebuild on changes
  • --execute: Execute on changes

zisk-dev watch

Watch for file changes and trigger rebuilds or execution.

Options:

  • --patterns <patterns>: File patterns to watch
  • --debounce <ms>: Debounce time in milliseconds
  • --on-change <command>: Command to run on file change

Example:

zisk-dev watch --patterns "src/**/*.rs" --debounce 1000

Project Management

zisk-dev clean

Clean build artifacts and temporary files.

Options:

  • --all: Clean all generated files
  • --proofs: Clean proof files only
  • --build: Clean build artifacts only

zisk-dev reset

Reset project to clean state, removing all generated files.

zisk-dev config

Manage project configuration and environment variables.

Options:

  • --set <key=value>: Set configuration value
  • --get <key>: Get configuration value
  • --list: List all configuration values

Utilities

zisk-dev logs

View and manage log files.

Options:

  • --level <level>: Log level (error, warn, info, debug)
  • --follow: Follow log output
  • --clear: Clear log files

zisk-dev cache

Manage build and execution cache.

Options:

  • --clear: Clear all cache
  • --status: Show cache status
  • --size: Show cache size

zisk-dev analytics

Analyze project execution and proof generation statistics.

Options:

  • --proofs: Analyze proof generation
  • --execution: Analyze execution performance
  • --export <file>: Export analytics data

Configuration

The CLI uses a .env file for project-specific configuration. Key configuration options:

# Project settings
PROJECT_NAME=my-project
BUILD_PROFILE=release
BUILD_TARGET=riscv64ima-zisk-zkvm-elf

# Execution settings
EXECUTION_MAX_STEPS=1000000
INPUT_DEFAULT_FILE=input.bin

# Output settings
OUTPUT_DIRECTORY=./proofs

# Debug settings
ZISK_DEBUG=1  # Enable debug logging
ZISK_MAX_CONCURRENT=4  # Max concurrent operations

Environment Variables

  • ZISK_DEBUG: Enable debug logging and verbose output
  • ZISK_MAX_CONCURRENT: Maximum concurrent operations (default: CPU cores / 2)
  • RUST_LOG: Rust logging level
  • CARGO_TARGET_DIR: Cargo target directory

Security Features

  • Input Validation: All user inputs are validated and sanitized
  • Path Sanitization: Prevents directory traversal attacks
  • Process Management: Secure process execution with timeouts and limits
  • Log Redaction: Sensitive values are automatically redacted from logs
  • Concurrency Control: Prevents resource exhaustion through process limits
  • Environment Sanitization: Only safe environment variables are passed to child processes

Error Handling

The CLI provides comprehensive error handling with:

  • Structured error reporting with context
  • Recovery suggestions for common issues
  • Automatic cleanup of failed operations
  • Detailed logging for debugging

Platform Support

  • macOS: Full support including proof generation and verification
  • Linux: Full support for all features
  • Architectures: x64 and ARM64

Troubleshooting

Common Issues

  1. Build failures: Check Rust toolchain and cargo-zisk installation
  2. Execution errors: Verify input file format and program logic
  3. Proof generation issues: Ensure proper ROM setup and witness generation
  4. Permission errors: Check file permissions and directory access

Debug Mode

Enable debug mode for detailed logging:

export ZISK_DEBUG=1
zisk-dev <command>

Environment Diagnostics

Run comprehensive diagnostics:

zisk-dev doctor

Contributing

This is a personal development tool. For issues or suggestions, please open an issue on the GitHub repository.

License

MIT License - see LICENSE file for details.

Disclaimer

This tool is for educational and development purposes only. It is not affiliated with or endorsed by the official ZisK project. Use at your own risk.