Repository navigation
The graph
scripts/graphify_export.py turns the library into a graphify
graph at graphify-out/graph.json (git-ignored). The repository's .mcp.json serves it to
Claude Code as the akashic-graph MCP server, so questions about the library's contents (what
a board is based on, which boards copy a pedal, which boards use a part) can be answered from
the graph instead of by reading the database or the JSON export.
The graph is a read-only view. data/library.sqlite stays the source of truth: fix data there
(through the scraper and Fixing a parse), then rebuild the graph.
| Node | Id | Label | Attributes |
|---|---|---|---|
| board | board:<circuit id> |
<Vendor> <name> |
akashic_id, vendor, based_on, effect, price, status (in stock, out of stock, or delisted with the date), url, controls, description
|
| vendor | vendor:<vendor id> |
the vendor's name |
id, url, license_note
|
| original | original:<key> |
the most common spelling |
boards, spellings (up to five) |
| part | part:<category>:<value> |
the normalized value |
category (IC, transistor or diode) |
| Edge | From | To |
|---|---|---|
sold_by |
board | vendor |
based_on |
board | original |
uses_part |
board | part |
Originals merge spelling variants of the same name: case, punctuation, a leading "the", and aliases such as Electro-Harmonix / EHX and Pro Co / ProCo. Parts are the ICs, transistors and diodes from the parsed parts lists, by normalized value; resistors, capacitors and pots are left out. Like the export, the graph holds only metadata, part values and links, never documents or schematics.
graphify is installed as a uv tool (uv tool install graphifyy). Run the script with
graphify's own interpreter, which has networkx and graphify:
~/.local/share/uv/tools/graphifyy/bin/python scripts/graphify_export.pyIt reads the database read-only, takes a few seconds, and prints the node counts by type, the
edge count and the number of communities. Rebuild after a scrape. scripts/refresh.sh
rebuilds it every week whether or not the site deploys, and logs "graphify not installed" when
the interpreter is missing.
In Claude Code, with the akashic-graph server running (graphify-mcp graphify-out/graph.json):
-
get_nodeon a board returns its facts inattributes. -
get_neighborson an original lists every board based on it; on a part, every board using it. -
query_graphis a fuzzy keyword search; keeptoken_budgetsmall.
From a shell, at the repository root (the commands read graphify-out/graph.json by default):
graphify explain "Aion FX Aerolith" # a node and its connections
graphify query "boards based on the Klon" --budget 800
graphify path "ProCo RAT" "LM308" --undirected # edges point from boards, so search both ways