Skip to content

Commands

Scimon is driven by a small set of subcommands. The general form is:

scimon <command> [arguments] [flags]

run

Execute a Scimon list — runs the downloads {} block, the commands {} block, and renders any readme. Accepts a local path or a remote URL.

scimon run scimon.mon
scimon run https://example.com/scimon.mon
scimon run demo-1.0.0.scpkg   # extract a package and run its main.mon

A .scpkg argument is treated as a package: it is extracted and its main.mon is executed (an error is reported if the bundle has no main.mon). See Basic usage and the language syntax.

check

Validate a list's syntax without downloading or running anything — a quick lint / dry-run. Accepts a local path or a remote URL.

scimon check scimon.mon

It reports the first syntax error (with line number and a hint) and exits with a non-zero status, or confirms the list is valid. The non-zero exit code makes it handy in CI or pre-commit hooks:

scimon check scimon.mon && scimon run scimon.mon

init

Scaffold a new Scimon package. init asks for the manifest fields and creates a new folder named after the package, containing package.yml, a main.mon entry list, a README.md, and a LICENSE (the chosen license's text, downloaded from SPDX). Existing files are left untouched.

scimon init

See Packages.

pack

Bundle the current package — its main.mon, manifest, license, README and every imported .mon list — into a single distributable .scpkg.

scimon pack

It reads main.mon from the current directory and writes <name>-<version>.scpkg (slugified), with name/version from package.yml. Run it with scimon run <name>-<version>.scpkg. See Packages.

info

Show a .scpkg bundle's metadata and contents without extracting it — the manifest fields, the entry list, and the packed files.

scimon info demo-1.0.0.scpkg

See Packages.

compile

Compile a file into a PDF. The format is picked from the extension: LaTeX (.tex) or Markdown (.md / .markdown). Accepts a local path or a URL, with an optional -o / --output.

scimon compile paper.tex
scimon compile notes.md
scimon compile notes.md -o build/notes.pdf
scimon compile https://example.com/readme.md

Markdown is rendered with the generic template (MathJax/Mermaid supported) and printed to PDF. See the Compiler page for the full feature list.

serve

Start a built-in static web server to browse, preview, and download the files you've generated.

scimon serve                 # serve the Scimon downloads folder on port 8080
scimon serve ./downloads     # serve a specific directory
scimon serve ./downloads -p 9000
Argument / flag Description
[path] Directory to serve. Defaults to the Scimon downloads folder.
-p, --port Port to listen on (default:8080).

The server binds to 127.0.0.1 (local only), shows a directory listing for folders, serves files with the right Content-Type (PDFs and images preview right in the browser), and blocks path traversal outside the served directory. Press Ctrl+C to stop it.

scrape

Discover downloadable documents on a page and fetch them.

scimon scrape https://example.com

See Scrape.

pull

Download a package's .scpkg from Monlib, run it, and then remove the downloaded archive — leaving only the extracted package.

scimon pull demo            # latest version
scimon pull demo@1.0.0      # a specific version

Without a version it fetches the latest non-yanked release; demo@1.0.0 pins an exact one. A private package can only be pulled by its owner. See Packages.

push

Publish a Scimon list. The package being published is described by a package.yml file next to the list. See Metadata.

scimon push scimon.mon

options

Manage configuration files (scimon.yml and .env).

Option Action
view-env Print the current environment variables.
open-env Open the.env file in your text editor.
open-settings Open thescimon.yml file in your text editor.
write-env Add a new environment variable interactively.
download-env (Re)download the default.env file.
download-settings (Re)download the defaultscimon.yml file.
scimon options open-settings
scimon options view-env

See Scimon.yml file and .env file.

auth

Authentication for Monlib.

scimon auth login
scimon auth logout

settings

Sync your settings file with Monlib.

scimon settings pull
scimon settings push

Global flags

These flags apply to every command:

Flag Description
--no-ignore Process every line, ignoring the!ignore directive.
--no-open-link Disable theopen variable (don't open URLs).
--no-readme Skip renderingreadme blocks.
--no-secure Disable secure mode for thecommands {} runner.
scimon run scimon.mon --no-ignore --no-readme