KiCAD Prism is an open-source, self-hosted collaboration and component-governance platform for teams using KiCad and Git.
KiCad remains the desktop editor. Git remains the source of truth. Prism adds browser review, visual comparison, generated assets, comments, and governed component libraries without requiring a proprietary ECAD cloud.
- Import KiCad projects from SSH or HTTPS Git remotes, including monorepos.
- Browse schematics, PCBs, 3D boards, BOMs, stackups, assembly views, history, and generated documentation.
- Cross-probe compatible schematic, PCB, and BOM identities.
- Compare commits with semantic schematic, PCB, BOM, and related change views.
- Create and resolve project or comparison discussions.
- Run supported KiCad jobset flows and browse outputs in the Assets portal.
- Govern component revisions through authoring, QA, approval, and release.
- Validate symbols and footprints with optional KLC release gates.
- Place released components from desktop KiCad through the Remote Symbol Provider.
- Self-host with PostgreSQL, OIDC SSO, roles, scoped service clients, and separate workers.
| Service | Purpose |
|---|---|
frontend |
React application and Nginx reverse proxy |
backend |
FastAPI, authentication, authorization, and APIs |
prism-worker |
project, comparison, visualization, and jobset work |
catalog-worker |
catalog import, validation, preview, and release work |
postgres |
workspace, comments, catalog, jobs, audit, and session data |
The API and both workers reuse one Prism backend image. Imported repositories
and generated assets live under data/projects; Git SSH state lives under
data/ssh. PostgreSQL and both directories are required for complete recovery.
See Architecture.
Normal users should open the latest stable GitHub Release and download its Linux AMD64 deployment archive and checksum.
Each generated bundle contains a pull-only Compose file and exact Prism image digests:
sha256sum -c kicad-prism-vX.Y.Z-linux-amd64.tar.gz.sha256
tar -xzf kicad-prism-vX.Y.Z-linux-amd64.tar.gz
cd kicad-prism-vX.Y.Z-linux-amd64
sha256sum -c SHA256SUMS
cp .env.example .env
# Configure authentication, domain, database password, and session secret.
docker compose pull
docker compose up -d --waitThe supported public deployment target is Linux AMD64. Native ARM64 release images are not currently published.
Follow Deployment for OIDC, TLS, storage, sizing, and production checks. If a historical release predates deployment bundles, build that stable tag from source as documented there.
For a first deployment from a source checkout, the guided installer can render the environment and proxy configuration for you instead of requiring every Compose setting to be assembled by hand. It supports Linux, macOS, WSL2, and Windows PowerShell, and requires Python 3.9 or newer plus Docker Compose v2.
From the repository root, run the launcher for your platform:
./deploy.sh.\deploy.ps1The installer asks which HTTPS/network scheme applies, collects the required
OIDC and deployment settings, runs preflight and network checks, and writes the
generated configuration under generated/. The output includes the environment
file, proxy configuration, Compose overlay, a redacted run record, and a
NEXT_STEPS.md checklist. Review the generated files before starting the
services, or let the installer start them after all checks pass:
./deploy.sh --startUseful first-run modes include:
./deploy.sh --dry-run # render without writing files
./deploy.sh --fresh # ignore existing generated config
./deploy.sh --answers answers.json --non-interactiveGenerated configuration contains deployment secrets and is excluded from Git;
back it up with the rest of the Prism deployment state. The installer is a
guided configuration layer, not a replacement for the Deployment
and Operations guides. For a stable release archive,
follow the pull-only bundle instructions above and use the installer only when
working from a source checkout that includes deploy.sh or deploy.ps1.
All feature development and source testing happen through dev:
git clone --branch dev https://github.com/krishna-swaroop/KiCAD-Prism.git
cd KiCAD-Prism
cp .env.example .env
docker compose up --build -dFor a private local evaluation, explicitly set AUTH_ENABLED=false. Never use
guest administrator mode on a shared or reachable host.
See Getting started and Contributing.
- Feature, fix, documentation, and refactor branches merge into protected
devthrough pull requests. devis the integration branch for the next release.- Tested release scope is merged from
devinto protectedmain. - A semantic-version tag on a quality-gated
maincommit builds, smoke-tests, and publishes the AMD64 images and deployment bundle. - Pull requests and ordinary branch pushes never publish container images.
See Release process.
- Documentation index
- Platform overview
- Getting started
- Deployment
- Configuration
- Authentication and access
- Project workflows
- Library Manager
- Remote Symbol Provider
- Team adoption
- Operations
- Release process
main contains stable release history. dev is heading toward the V3.0.0
alpha and may change between releases.
Current boundaries include:
- one role per user rather than composable workspace and catalog permissions;
- project-scoped standard comments;
- no mention notifications or Git-forge webhook/status integration;
- fixed workflow types rather than first-class arbitrary workflows;
- no real-time multi-user ECAD editing;
- no complete in-product approved/changes-requested project state.
See Platform overview before planning a team rollout.
Changes target protected dev through pull requests. The required quality gate
validates frontend, backend, semantic viewer, source Compose, and release
deployment configuration.
Prism builds on work from the KiCad ecosystem, including:
KiCAD Prism is licensed under the Apache License 2.0.
