Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

heyps

Execute Adobe Photoshop, Illustrator, and After Effects scripts from the terminal.

Wraps osascript and open -a to dispatch .jsx, .js, and .psjs files on macOS. Structured JSON output, batch execution, and TTY-aware formatting make it suitable for both interactive use and agent/CI pipelines.

Install

Requires Rust and macOS.

# From GitHub
cargo install --git https://github.com/oleksiiluchnikov/heyps.git

# Or clone and build
git clone https://github.com/oleksiiluchnikov/heyps.git
cd heyps
cargo install --path .

Usage

heyps [OPTIONS] <SCRIPT>...
heyps --stdin [OPTIONS]

Examples

# Run a Photoshop script (default app)
heyps render.jsx

# Target Illustrator
heyps -a ai logo.jsx

# Target After Effects, beta version
heyps -a ae -t beta comp.jsx

# Target a specific year
heyps -t 2024 render.jsx

# JSON output
heyps --json render.jsx

# Dry run (preview commands without executing)
heyps --dry-run render.jsx

# Batch execution
heyps script1.jsx script2.jsx script3.jsx

# Read paths from stdin (newline-delimited or JSON array)
echo '["a.jsx", "b.jsx"]' | heyps --stdin

# Stop at first failure in a batch
heyps --fail-fast script1.jsx script2.jsx

Options

Flag Short Default Description
<SCRIPT>... required Path(s) to script files (.psjs, .jsx, .js)
--app APP -a ps Target app: ps, ai, ae
--target TARGET -t latest Target version: latest, beta, or a year (e.g. 2024)
--json Output raw JSON
--output FORMAT auto Output format: json, compact, table
--dry-run Preview commands without executing
--debug Log child-process output to stderr
--quiet -q Suppress non-essential stderr output
--stdin Read script paths from stdin
--fail-fast Stop at first failure

Output

TTY auto-detection

When no explicit format flag is given:

  • Terminal (TTY): defaults to table format
  • Piped: defaults to json format

JSON output

Single script:

{"ok":true,"app":"ps","appPath":"/Applications/Adobe Photoshop 2025.app","script":"render.jsx","scriptType":"jsx","elapsedMs":1234}

Batch (multiple scripts) outputs a JSON array of the above objects.

Error output

Errors are written to stderr:

{"ok":false,"error":{"message":"Script file does not exist: foo.jsx"}}

Exit codes

Code Meaning
0 Success
1 Runtime error (execution failure)
2 Usage error (invalid args, missing file)
4 Partial failure (batch: some succeeded, some failed)

Supported apps

Abbreviation Application
ps Adobe Photoshop
ai Adobe Illustrator
ae Adobe After Effects

Supported script types

Extension Dispatch method
.psjs open -a (Photoshop only)
.jsx osascript (AppleScript do javascript)
.js osascript (AppleScript do javascript)

License

MIT

About

⚡ command-line tool to execute Adobe applications scripts from the terminal

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages