ToolVault is a portable, self-contained service that delivers curated collections of analysis tools for scientists, analysts, and developers. It provides an interactive browser-based interface for discovering, running, and understanding tools — complete with git history, legacy version access, and spatial output visualisation.
- Curated Tool Collections – Tools packaged with all their dependencies in a zip bundle.
- Self-Describing – Each bundle contains metadata (
index.json) describing the tools, inputs, outputs, and history. - Interactive UI – Browse tools, configure inputs, run them, and view outputs directly in the browser.
- Version Awareness – Access and run specific historical versions of a tool.
- Spatial Rendering – LeafletJS visualisation for spatial outputs (e.g., GeoJSON FeatureCollections).
- Jupyter Integration – Embedded notebook server for viewing and running demo notebooks for each tool.
- Multiple Delivery Modes – Runs as a standalone Flask/FastAPI server or as a VS Code extension.
We are in the early UI mockup phase, focusing on:
- Building a bare static UI driven by
index.json. - Adding mock tool calls to simulate execution.
- Implementing the full browsing UI with output rendering (including LeafletJS).
-
Phase 1 – UI Mockup
- Bare static UI from
index.json(browse tools, view details, inputs/outputs, run button). - Mock tool calls with placeholder outputs.
- Full browsing UI with LeafletJS output rendering and git history view placeholder.
- Bare static UI from
-
Phase 2 – Indexer Development
- ToolVault indexer to scan a Git repo of tools, generate
index.jsonand metadata. - Bundle dependencies, notebooks, and metadata into a zip for offline use.
- ToolVault indexer to scan a Git repo of tools, generate
-
Phase 3 – Backend Service
- Flask/FastAPI service that loads bundles and exposes tools via a REST API.
- Embedded Jupyter server for running demo notebooks.
-
Phase 4 – VS Code Integration
- ToolVault available as a VS Code extension, integrated into the Debrief UI.
/client # SPA frontend
/server # Flask/FastAPI backend
/indexer # Bundle creation scripts
/docs # Documentation and design notes
/examples # Example tool bundles
README.md
TBD – likely permissive open source license to encourage adoption.