Faebryk

Model and traverse TypeGraph structures with Python-Zig bindings.

3.6k|225|Updated Dec 19, 2023
One-click install
npx skills add https://github.com/atopile/atopile --skill faebryk
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Faebryk
Source: https://github.com/atopile/atopile/tree/main/.claude/skills/faebryk
Command: npx skills add https://github.com/atopile/atopile --skill faebryk

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Faebryk provides a Python and Zig integration to model and traverse TypeGraph structures, exposing edge types and traversal semantics for FabLL-based tooling.

Core Features & Use Cases

  • TypeGraph modeling with GraphView integration
  • Edge types, traversal, and trait binding used by the Faebryk ecosystem
  • Python ↔ Zig bindings enabling tooling, compilation, and solver interactions

Quick Start

  • In Python, initialize the core components:
    • import faebryk.core.graph as graph
    • import faebryk.core.faebrykpy as fbrk
    • g = graph.GraphView.create()
    • tg = fbrk.TypeGraph.create(g=g)

Frequently Asked Questions about Faebryk

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I model and traverse a TypeGraph in Python using Faebryk?

To model a TypeGraph in Python, initialize a GraphView using `graph.GraphView.create()` and pass it to `fbrk.TypeGraph.create(g=g)` to expose edge types and traversal semantics for FabLL-based tooling.

What is edge traversal in a TypeGraph and when do I need it?

Edge traversal in a TypeGraph defines how relationships between typed nodes are navigated, used by Faebryk's compilers and solver integrations to evaluate graph traits and structural dependencies.

Can I use Zig implementations for Python graph bindings in Faebryk?

Yes, Faebryk exposes a Python-facing API via `faebryk.core.faebrykpy` backed by Zig implementations under `src/faebryk/core/zig`, enabling high-performance type-graph operations and edge trait binding.

How do I integrate Faebryk's TypeGraph with solver and compiler tooling?

You integrate the TypeGraph with solver and compiler tooling by utilizing the Python and Zig bindings to interact with the GraphView ecosystem, enabling type-graph operations and trait binding for compilation.

What are the limitations of using Faebryk for graph edge traversal?

Faebryk's graph edge traversal is specifically designed for the FabLL ecosystem and Faebryk's tooling, limiting its direct applicability to general-purpose graph tasks outside its TypeGraph and GraphView architecture.