Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 13:27
· 887 commits to main since this release
babcad1

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 SHA256

Then make it executable and confirm the build:

chmod +x synth-linux-amd64
./synth-linux-amd64 --version

From source

Requires a current stable Rust toolchain.

cargo install --git https://github.com/absmach/synth --tag v0.1.0 synth-cli

Quick start

synth validate fixtures/designs/hello.synth
synth export-kicad fixtures/designs/hello.synth --out output/hello

synth 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 --stdio

The 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 - 52 - Generate copper with external engines behind an independent, fail-closed gate by @rodneyosodo in #91
  • SYN-77 - Fix qualification severity and pad-matching defects by @JeffMboya in #78
  • Chore: Release V0.1.0 by @rodneyosodo in #93

Full Changelog: v0.0.1...v0.1.0