A command-line wrapper for the Papyrus script compiler with an embedded compiler binary.
Scribe makes it easy to compile Papyrus scripts for Skyrim and other Creation Engine games without manual setup. The Papyrus compiler is bundled directly in the binary - no additional downloads required!
- Embedded Compiler: russo-2025's Papyrus compiler bundled directly in the binary
- Zero Configuration: Compiler extracts automatically on first use
- Batch Compilation: Compile all scripts with
scribe . - Project Configuration: TOML-based config with placeholder support
- Syntax Checking: Validate scripts without compilation using
--check - Recursive Discovery: Automatically finds all
.pscfiles in subdirectories
cargo install scribe-papyrus-
Initialize a new project:
scribe init
-
Edit
scribe.tomlwith your project paths:name = "My Awesome Mod" mods = "/path/to/mods/folder" game = "sse" scripts = "/path/to/Data/Scripts/Source" compiler = "/home/username/.scribe/bin/papyrus" # Default bundled compiler [dependencies] skse = "{mods}/skse/scripts/source" skyui = "{mods}/skyui/scripts/source" sourceDir = "./src/scripts/source" outputDir = "./src/scripts"
-
Compile your scripts:
# Compile all scripts in sourceDir scribe . # Compile a single file scribe src/MyScript.psc # Compile a specific directory scribe src/scripts/source/quests # Syntax check only scribe . --check
scribe init- Create a newscribe.tomlconfiguration filescribe <path>- Compile Papyrus script(s)<path>can be:.to compile all scripts insourceDir- A single
.pscfile - A directory to compile all
.pscfiles in it (recursively)
--check- Check syntax without generating.pexfiles--config <path>- Use a custom config file location
The scribe.toml file supports:
- Placeholders: Use
{mods},{scripts},{game},{name}in paths - Dependencies: Map dependency names to header directories
- Custom paths: Override source and output directories
# Initialize new project
scribe init
# Compile everything
scribe .
# Compile single file
scribe src/scripts/source/MyQuest.psc
# Check syntax only
scribe src/scripts/source/MyQuest.psc --check
# Compile from a subdirectory (searches for scribe.toml in parent dirs)
cd src/scripts
scribe source/MyQuest.psc- On first run, Scribe extracts the bundled Papyrus compiler to
~/.scribe/bin/papyrus - The compiler is cached and reused for all subsequent compilations
- Scribe finds your
scribe.tomlby searching upward from the current directory - It builds the appropriate compiler arguments and executes the compiler
- Compilation output is streamed directly to your terminal
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
- Papyrus compiler by russo-2025
- Scribe wrapper tool by [Your Name]