Schemify Documentation
Schemify is an open-source schematic editor written in Zig, targeting mixed-signal IC design workflows where analog schematics coexist with digital RTL blocks.
What makes Schemify different?
| xschem | Schemify | |
|---|---|---|
| Core language | C + Tcl | Zig |
| Plugin languages | Tcl only | Zig, C, C++, Rust, Go, Python, WASM |
| Web deployment | Impossible | zig build -Dbackend=web |
| Build | 14+ apt packages | zig build |
| Simulator backends | ngspice | ngspice + Xyce |
| Undo model | Full snapshot copy | Command inverses (fast) |
| File format | .sch / .sym (X11 geometry) |
.chn (LLM-optimized, lossless) |
Schemify keeps xschem's design philosophy — keyboard-driven, hierarchy-first, SPICE-native — while replacing the 1988 deployment stack.
Quick Start
# Clone the repo
git clone https://github.com/UWASIC/Schemify.git
cd Schemify
# Enter Nix dev shell (provides Zig, Verilator, Yosys, ngspice)
nix develop
# Build and run
zig build run
# Run with a project directory
zig build run -- /path/to/my-project
No Nix? Install Zig 0.15.2 manually and run zig build run.
Documentation Sections
- Getting Started Getting Started/introduction) — What Schemify is, installation, configuration
- File Format File Format/overview) — The
.chnformat specification - Usage Usage/keyboard-shortcuts) — Keyboard shortcuts and editor usage
- Live Demo Usage/live-demo) — Browse example schematics in your browser
- GitHub Pages Usage/github-pages) — Publish your circuit as a live web viewer
- Developer Guide Developer Guide/architecture) — Architecture, conventions, contributing
- Plugin System Plugins/overview) — Building and deploying plugins
[!TIP] Already using xschem? See Schemify vs xschem Getting Started/schemify-vs-xschem) for a detailed comparison and migration guide.