Metadata-Version: 2.4
Name: silicai
Version: 0.1.0
Summary: Structured electronic component descriptions for AI-assisted circuit design
Author-email: mageo services Sàrl <info@mageo.ch>
License: PolyForm-Noncommercial-1.0.0
Project-URL: Homepage, https://github.com/mageoch/silicai
Project-URL: Documentation, https://mageoch.github.io/silicai/
Project-URL: Repository, https://github.com/mageoch/silicai
Project-URL: Bug Tracker, https://github.com/mageoch/silicai/issues
Keywords: electronics,eda,kicad,schematic,ai,mcp
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyyaml
Requires-Dist: jsonschema
Requires-Dist: referencing
Requires-Dist: kiutils
Provides-Extra: docs
Requires-Dist: json-schema-for-humans; extra == "docs"
Requires-Dist: mkdocs; extra == "docs"
Requires-Dist: mkdocs-material<9.6,>=9.5; extra == "docs"
Provides-Extra: mcp
Requires-Dist: mcp>=1.0; extra == "mcp"
Dynamic: license-file

# SilicAI

Copyright 2026 mageo services Ltd — Licensed under the [PolyForm Noncommercial License 1.0.0](LICENSE). Commercial use requires a [separate license](COMMERCIAL_LICENSE.md).

Structured electronic component descriptions for AI-assisted circuit design.

## Concept

Electronic component information lives in PDF datasheets — unstructured, hard for AI to consume. SilicAI defines a YAML schema that captures everything needed to design circuits correctly:

- Pin directions and functions (primary + all alternate functions)
- Power rails with per-pin and bulk decoupling requirements
- Required external components (filters, pull-ups, decoupling)
- Standard net definitions and electrical characteristics

The goal is to give AI tools the structured context they need to generate correct, production-ready schematics.

## Structure

```
src/silicai/
  validate.py        Schema validation CLI
  generate.py        KiCad schematic generator
  mcp_server.py      MCP server for Claude Code integration
  schema/            JSON Schema definitions
    component.schema.json
    circuit.schema.json
    project.schema.json
    defs/            Shared schema definitions
  components/        Built-in component library (silicai-components submodule)
nets/                Standard net definitions (GND, VCC_3V3, ...)
tests/               Test suite
```

The component library is bundled as a git submodule ([mageoch/silicai-components](https://github.com/mageoch/silicai-components)) and loaded automatically — no extra configuration needed. Additional component libraries can be declared in a project's `pyproject.toml`:

```toml
[tool.silicai]
component_libraries = [
    { path = "path/to/extra-components" },
]
```

## Usage

```bash
# Clone with submodules
git clone --recurse-submodules git@github.com:mageoch/silicai.git

uv sync

# Validate a component or circuit file
silicai-validate path/to/component.yaml

# Generate a KiCad schematic from a circuit definition
silicai-generate path/to/circuit.yaml --output kicad/

# Run the MCP server
silicai-mcp --project-dir .
```

## MCP Server

SilicAI exposes a [Model Context Protocol](https://modelcontextprotocol.io) server that lets Claude Code read component definitions and generate schematics. Add to your project's `.mcp.json`:

```json
{
  "mcpServers": {
    "SilicAI": {
      "type": "stdio",
      "command": ".venv/bin/silicai-mcp",
      "args": ["--project-dir", "."]
    }
  }
}
```

## Documentation

Schema reference: [mageoch.github.io/silicai](https://mageoch.github.io/silicai/)

## Status

v0.1.0 — public beta. Core schema, validation, KiCad generation, and MCP server are functional. Schema and component format may evolve before a stable 1.0 release.
