con un clic
library
// How the Faebryk component library is structured, how `_F.py` is generated, and the conventions/invariants for adding new library modules. Use when adding or modifying library components, traits, or module definitions.
// How the Faebryk component library is structured, how `_F.py` is generated, and the conventions/invariants for adding new library modules. Use when adding or modifying library components, traits, or module definitions.
Core runtime behavior for the atopile sidebar agent: identity, persistence model, execution rules, and tool recipes.
Generate short live progress summaries for the atopile agent from recent tool events, preambles, checklist changes, and build state. Use for ephemeral UI activity text only, never for transcript replies or autonomous reasoning.
Authoritative ato authoring and review skill: language reference, stdlib, design patterns, and end-to-end board design workflow.
Spec-driven planning for complex design tasks: when to plan, how to write specs as .ato files, and how to verify against requirements.
Frontend standards for atopile extension webviews: architecture, contracts, design system, and testing workflow.
Reference for the `.ato` declarative DSL: type system, connection semantics, constraint model, and standard library. Use when authoring or reviewing `.ato` code.
| name | library |
| description | How the Faebryk component library is structured, how `_F.py` is generated, and the conventions/invariants for adding new library modules. Use when adding or modifying library components, traits, or module definitions. |
The library module (located in src/faebryk/library/) contains the collection of reusable components, traits, and interfaces that form the "standard library" of the hardware design language.
import faebryk.core.faebrykpy as fbrk
import faebryk.core.graph as graph
import faebryk.library._F as F
g = graph.GraphView.create()
tg = fbrk.TypeGraph.create(g=g)
resistor = F.Resistor.bind_typegraph(tg=tg).create_instance(g=g)
src/faebryk/library/_F.py
import faebryk.library._F as F pattern.tools/library/gen_F.py
src/faebryk/library/*.py, detects whether the file contains a same-named class, and writes _F.py.F.<Name> references to avoid import-order cycles.src/faebryk/library/ contains specific component definitions (e.g. Resistor.py, Capacitor.py, LED.py).can_bridge.py, is_power.py).faebryk.library._F (aliased as F).ato built-ins to these classes.can_bridge) and Components for physical things (what it is like Resistor)._F.py is a generated “barrel” module; importing it is intentionally convenient but can be heavyweight.MyComponent.py in src/faebryk/library/. Inherit from Node (or a more specific base)._F.py: run python tools/library/gen_F.py and commit the updated src/faebryk/library/_F.py.test/library/ (including test/library/nodes/).ato dev test --llm test/library/test_instance_library_modules.py -qis_atomic_part trait.F.Parameters to define physical properties like resistance, capacitance, etc.