Repository navigation
v0.1.1
Synth compiles text-based circuit designs (SynthSpec) into KiCad schematics, PCB layouts, and bills of materials. This release ships prebuilt CLI binaries for five platforms, each with a SHA-256 checksum.
Install
Download the binary for your platform and verify it against the matching .sha256 file before running:
| Platform | Asset |
|---|---|
| Linux x86-64 | synth-linux-amd64 |
| Linux arm64 | synth-linux-arm64 |
| macOS arm64 | synth-darwin-arm64 |
| macOS x86-64 | synth-darwin-amd64 |
| Windows x86-64 | synth-windows-amd64.exe |
# Linux
sha256sum -c synth-linux-amd64.sha256
# macOS
shasum -a 256 -c synth-darwin-arm64.sha256
# Windows (PowerShell)
certutil -hashfile synth-windows-amd64.exe SHA256Then make it executable and confirm the build:
chmod +x synth-linux-amd64
./synth-linux-amd64 --versionFrom source
Requires a current stable Rust toolchain.
cargo install --git https://github.com/absmach/synth --tag v0.1.1 synth-cliQuick start
synth validate fixtures/designs/hello.synth
synth export-kicad fixtures/designs/hello.synth --out output/hellosynth check DESIGN.synth --json is the deterministic, model-free gate for CI: it runs compiler validation and DRC and returns structured diagnostics with source locations. Add --fab to require a complete KiCad manufacturing export and receive SHA-256 hashes for the emitted files.
Agent integration
synth mcp --stdioThe MCP server exposes the SynthSpec language reference, registry search, validation, fixes, and every compiler stage with structured diagnostics, so agents can iterate on a design end to end.
Optional: KiCad integration
Electrical-rule checks, schematic rendering, and fabrication outputs shell out to kicad-cli. Install KiCad 10 to enable them. Without it, synth export-kicad still generates a project, but every native check reports unknown rather than passing, and any command that asked for verification (--validate-erc, --gerbers/--drill/--step, synth check --fab) fails closed. Set KICAD_CLI if the binary is not on PATH, and SYNTH_KICAD_CLI_TIMEOUT_SECS to change the per-run budget (default 300s).
Documentation
The auto-generated list of changes and contributors follows below.
What's Changed
- SYN-64 - Derive and check trace width and gap for differential-pair controlled impedance by @nyagamunene in #85
- build(deps): bump the cargo-dependency group across 1 directory with 12 updates by @dependabot[bot] in #94
- feat(export): add --allow-incomplete for explicit draft exports by @rodneyosodo in #99
Full Changelog: v0.1.0...v0.1.1