pscat
Render and debug PostScript to PNG, SVG or PDF, write handwritten notes, and make generative art
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
pscatDocumentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
pscat
pscat is a PostScript interpreter written in Rust. PostScript is a programming language for drawing pages; pscat runs your program and shows the picture as it is drawn, in a live window, or renders it to PNG, SVG or PDF. It also runs in a browser tab, and it ships with PostScript libraries for making art: generative patterns, paint and watercolor, printmaking, lettering, charts and more. It was built for fun, not as a Ghostscript replacement, though it aims for broad PostScript coverage over time.
pscatlabs.github.io/pscat has the docs, the full gallery, a specimen of every font, and a live playground that runs the interpreter in your browser, no install.
Install
cargo install pscat # pscat and pscat-mcp, from crates.io
pscat fonts install # optional: the full font catalog, as font packs
npm install pscat # from 0.6.2: the wasm renderer for browsers and Node
Or download a ready-built binary for macOS, Linux or Windows from the releases page (no Rust needed). Getting started has the details. Then:
pscat --png out.png some_file.ps
Quick start from a checkout
You need a stable Rust toolchain.
cargo run -- --page 500x500 examples/sierpinski.ps # watch it draw, live
cargo run -- --png out.png examples/sierpinski.ps # render to a PNG instead
cargo run -- -i # REPL + window: type PostScript, watch it draw
A taste of the REPL:
PS> 40 2 add =
42
PS> mark 1 2 3
PS<4> pstack
3
2
1
-mark-
To try it with nothing installed, open the
playground. New to PostScript? Start with
Learn PostScript. More sample programs live in examples/, and finished pieces in
gallery/.
Guides
Everything else is in docs/guides/:
- Getting started: build, install, command-line flags, output formats
- pscat in the browser and for AI agents
- Fonts and handwriting
- artkit: the generative-art toolkit, and style packs and page templates
- Painting and the landscape cookbook
- Printmaking and etching and dry media
- Lettering, headlines and apparel
- Charts and plots
For AI agents
pscat works well from a coding agent. The skills in plugin/skills/ (pscat,
psart, psviz) are plain Markdown any agent can read, and pscat-mcp is an
MCP server with six tools. In Claude Code, both come as one plugin:
/plugin install pscat --marketplace PSCatLabs/pscat
(after installing pscat; see plugin/README.md). In Codex:
codex plugin marketplace add PSCatLabs/pscat, then
codex plugin add pscat@pscat. See the
agents guide. Any other MCP client can run
pscat mcp (the same server as pscat-mcp), and pscat is listed in the
MCP Registry from 0.6.3:
- MCP Registry name:
mcp-name: io.github.PSCatLabs/pscat
Contributing
Start with CONTRIBUTING.md (including how contributions are
licensed), then AGENTS.md for conventions and SDLC.md
for how changes land. Report security problems as SECURITY.md
describes, and see docs/STABILITY.md for what stays
stable between releases. docs/dev/HANDOFF.md orients you in the code,
docs/dev/ARCHITECTURE.md explains the design, and
docs/dev/ has the contributor notes, such as how to
preview the website. docs/archive/ holds the project's history, including
the original stage-by-stage status log.
Why
I used to write raw PostScript by hand in college and send it straight to a LaserWriter. This is a from-scratch Rust interpreter built to relive that — watching a hand-written recursive PostScript program draw itself, live, without depending on a decades-old C codebase to do it.
Licence
pscat's code is dual-licensed under MIT or
Apache-2.0, at your option. The package also embeds font
data: the Liberation faces and the Courier Prime-derived typewriter outlines,
both under the SIL Open Font License 1.1. That's why
Cargo.toml says (MIT OR Apache-2.0) AND OFL-1.1. The OFL term covers only
the embedded font data, not pscat's code.
The fonts in fonts/catalog/ keep their own upstream licences. The original
gallery, example and shirt art is dedicated to the public domain under
CC0-1.0, with a few exceptions. CC0 grants no rights in the
pscat name or logo. THIRD_PARTY_NOTICES.md lists
what is under which terms.
SDLC
See SDLC.md for how this repo's development lifecycle
works (issue → branch → PR → review → merge → cleanup) and the
branch-protection/merge policy currently enforced on GitHub — generated
and kept in sync by the sdlcify skill.
Questions fréquentes
Qu'est-ce que pscat ?
Render and debug PostScript to PNG, SVG or PDF, write handwritten notes, and make generative art
Comment installer pscat ?
Suivez les étapes d'installation de sa documentation, affichée sur cette page et dans son dépôt.
Faut-il une clé API pour pscat ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
pscat est-il open source ?
Oui. Son code est sur GitHub sous licence Apache-2.0.
Qui maintient pscat ?
Il est publié par PSCatLabs. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.