Installation¶
UCF-RS can be installed globally as an npm CLI tool, or run directly from source using Python's standard library.
Option 1: Via npm (Recommended)¶
Requires Node.js 22 or newer.
Install ucf-rs globally:
Or run it directly without installing via npx:
How the npm package works¶
The npm package bundles a thin, shell-injection-safe Node.js launcher (bin/ucf-rs.js)
and the standalone Python runtime script (scripts/ucf_rs.py). When invoked, the
launcher:
- Checks the
UCF_RS_PYTHONenvironment variable if specified. - Probes for a local Python runtime (
py -3orpythonon Windows;python3orpythonon Unix). - Verifies that the detected Python is version 3.10 or newer.
- Spawns the Python process using safe argument arrays (never passing commands through a shell interpreter).
- Passes the exact process exit code back to your terminal.
Option 2: From Source (Python Standard Library Only)¶
UCF-RS core has zero external runtime dependencies. It requires only Python 3.10 or newer.
# Clone the repository
git clone https://github.com/paragon-ux/UCF-RS.git
cd UCF-RS
# Verify the CLI runs
python scripts/ucf_rs.py --help
You can alias or wrap the script in your shell configuration:
Verifying the Installation¶
Run status on a clean directory to verify that the CLI reports an
uninitialized store with exit code 1 (EXIT_CHECK_FAILURE):
Output:
Exit code: 1.
Now proceed to the Quickstart to set up your first citation store.