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.