Extension Center
Find extensions by tag or choose Official releases. Review the source and install an approved version.
Explore extensions
8 extensions
spel
Officialblockether · v0.1.21
Spel browser automation with verified installation, reserved sessions, CDP, JavaScript, snapshots and screenshots.
vis-decisions
Officialblockether · v0.6.1
Train, resume, validate and publish Laya, GLiNER, Decision 2.0 and D3 decision models in Vis.
vis-graphify
blockether · v0.15.3
Code knowledge graphs for Vis with graphify: search, change impact, exact references, safe renames and moves, domain flows, and a knowledge base server with ontology, documents and undoable edits.
vis-lang-clojure
Officialblockether · v1.17.3
Clojure tools for Vis: zprint and cljfmt formatting, clj-kondo lint, reader syntax checks, test runs and an nREPL.
vis-lang-interface
Officialblockether · v2.11.3
The shared contract for Vis language extensions.
vis-lang-python
Officialblockether · v1.14.0
Python tools for Vis: ruff formatting and lint, pytest runs and a managed project REPL.
vis-optmem
Officialblockether · v0.6.0
Permanent memory for Vis agents, based on OptMem by Victor Taelin.
vis-podcaster
blockether · v0.1.0
Two-host podcasts with Vis speech engines, ASR-verified takes and quality gates.
blockether/vis-graphify
Code knowledge graphs for Vis with graphify: build, search, explain, paths, hubs, change impact and domain flows, with full Clojure support.
Install
Only approved releases are listed. Each version keeps its reviewed commit. You are viewing a different version from the catalog default.
Approved releases (23)
- 0.15.3Oct 24, 20260a0f94a8bcdaRelease notes
- 0.13.0Oct 24, 202638868e6309c2Release notes
- 0.8.1Oct 23, 202642138d696004Release notes
- 0.7.0Oct 23, 2026929a55e0e1abRelease notes
- 0.5.4Oct 22, 2026167cad7aa0a8Release notes
- 0.5.3Oct 22, 2026c52df2c4cde9Release notes
- 0.5.2Oct 22, 202655a20b9c0221Release notes
- 0.5.1Oct 22, 20269b7d0db32074Release notes
- 0.5.0Oct 22, 2026fcd448a572acRelease notes
- 0.4.1Oct 22, 2026097ee3137cb2Release notes
- 0.4.0Oct 22, 2026dcd171e565e9Release notes
- 0.3.3Oct 22, 20268f0b248f1e1eRelease notes
- 0.3.2Oct 22, 202672df2b6f3000Release notes
- 0.3.1Oct 22, 2026e472b045a933Release notes
- 0.3.0Oct 22, 2026a8c87e0737f7Release notes
- 0.2.5Oct 22, 20266222939924c3Release notes
- 0.2.4Oct 22, 2026697886c6a0fbRelease notes
- 0.2.3Oct 22, 20265cf17b022f0eRelease notes
- 0.2.2Oct 14, 2026dcff80cc1017Release notes
- 0.2.1Oct 10, 20268589fb741156Release notes
- 0.2.0Oct 10, 202657a736494f07Release notes
- 0.1.1Oct 10, 2026ada92a67c207Release notes
- 0.1.0Oct 10, 2026e55784db3423Release notes
This command selects version 0.2.0 at its approved commit. It never follows a moving tag or branch.
Project: run from your project directory to install in .vis/extensions. This command does not add an extensions entry to vis.yml. Add --save to also record the installation. Save an installation in configuration to share the setup.
Review the source first. --trust allows extension code and build backends to run with your permissions.
vis-agent extension install \
'blockether/vis-graphify' \
--version '0.2.0' \
--project \
--trustThen start Vis or use /reload. Dependencies are prepared automatically.
Already installed? Check, update or roll back
vis-agent extension versions 'blockether/vis-graphify'
vis-agent extension update 'blockether/vis-graphify' --trust
vis-agent extension rollback 'blockether/vis-graphify' --trustUse the identifier shown above, not the Python package name. Add --project for a project installation. Update selects the latest approved stable version; rollback restores the previous pinned source. Choose a specific version and read the lifecycle contract.
Project details
- Version
- 0.2.0
- Extension
- blockether/vis-graphify
- Project folder
- Repository root
- License
- Apache-2.0
- GitHub stars
- 0
- Downloads
- 3
- Updated
- Oct 10, 2026
- GitHub owner
- Blockether
- Reviewed commit
- 57a736494f07
- Metadata checked
- Oct 10, 2026
Dependencies
Python >=3.11
- vis-agent>=0.2.26
- graphifyy @ git+https://github.com/Blockether/graphify@v0.9.84-blockether.4
README
vis-graphify
Code knowledge graphs for Vis, built with the
Blockether fork of graphify. The fork adds full Clojure
support over Blockether/tree-sitter-clojure:
namespaces, vars, :require aliases, cross-file calls, protocols, records and Clojure 1.12/1.13 syntax.
When to use
- You want to know who calls a function, across files: use
graphify.explain. - You plan a change and want to see what it can break: use
graphify.affected. - You want to see how two parts of the code connect: use
graphify.shortest_path. - You join an unknown codebase and want its central code first: use
graphify.hubs. - You want to see how commands, queries and events flow between your services, or find calls to
commands that no service registers: use
graphify.domain. See Domain flows.
The graph comes from tree-sitter syntax trees. A build makes no LLM call and sends no code anywhere.
Install
vis-agent extension install Blockether/vis-graphify --trust
Vis prepares a private environment with graphify and the Clojure grammar. Run /reload in a session.
Use
In a Vis session, ask for the graph work in chat, for example "who calls run-tests in this project?".
The agent uses these tools in its Python sandbox:
| Call | Result |
|---|---|
graphify.build(root=".") |
Creates or updates <root>/graphify-out/graph.json. Later builds re-extract only changed files. |
graphify.status(root=".") |
Node, edge and file counts, and the build time. |
graphify.search("gateway.*client") |
Nodes whose label, id or file matches the regex. |
graphify.explain("my.ns/run") |
The node, what it calls and what calls or contains it. |
graphify.shortest_path("a", "b") |
The shortest chain of edges between two nodes. |
graphify.hubs(limit=20) |
The most called nodes. |
graphify.affected("my.ns/run", depth=2) |
Callers, importers and users, with their files. |
graphify.query("how does a session start") |
graphify's own keyword and breadth-first walk, as text. |
graphify.domain(root=".") |
The domain model: services, commands, queries, events, links, schemas and findings. Writes DOMAIN.md. |
graphify.domain_plugins(root=".") |
The domain plugins that graphify can load for the project. |
You can name a node by its id, its label (run()), its bare name (run) or its Clojure name
(my.ns/run). If a name matches more than one node, the error lists the candidate ids.
Add graphify-out/ to your .gitignore.
Domain flows
graphify.domain() reads the framework registrations of your Clojure services and connects them.
The built-in edd-core plugin reads edd-core commands,
queries, events, effects and Malli schemas. The call writes these files to <root>/graphify-out/domain/:
DOMAIN.md: a summary, findings, Mermaid flowcharts for the system and each service, a sequence diagram for each entry point, and the schemas;domain.json: the full model;schemas/: one JSON Schema for each Malli schema.
The result lists the findings, errors first. For example, missing-command means that code calls a
command that the target service does not register. graphify.build() also adds the domain elements
to the graph, so graphify.explain("domain:command:orders-svc:place-order") shows the handler.
To read another framework, write a domain plugin: a Python file with a plugin object that has a
name and an extract(corpus, model) method. The
plugin guide
describes the contract. Make the plugin available in one of these ways:
- Put the file in
<root>/.graphify/plugins/. graphify finds it for that project. - Pass its path or name in
plugins, for examplegraphify.domain(plugins=["tools/jobs.py"]). - Add it to
src/vis_graphify/domain_plugins/in this repository. Every Vis user of the extension then gets it.
Development
uv sync
uvx ruff format --check . && uvx ruff check .
uv run --with pytest pytest tests -q
License
Apache-2.0. graphify is MIT-licensed; see NOTICE.
Community feedback
Votes and display names are not verified identities. One vote per network address; shared networks share a vote. Select your current choice again to clear it.
Loading feedback…