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