Provnai Ecosystem Automation Guide#
This document explains exactly how the provnaidev documentation portal stays synchronized across multiple independent repositories (vex, vex-sdk, vex-explorer, etc.) with zero manual intervention.
The Problem#
The VEX ecosystem is composed of several specialized repositories. Manually updating the documentation portal every time a new version of the SDK or Core is published is unsustainable and error-prone.
The Architecture: "Zero-Touch Sync"#
We utilize a Webhook-driven synchronization pipeline.
- The Origin: A developer pushes code or creates a new Release in an upstream repository (e.g.,
vex-sdk). - The Trigger: A GitHub Action in that upstream repository automatically fires an HTTP
POSTrequest to the Provnaidev Railway Webhook. - The Aggregator: Railway triggers a fresh Next.js build of the dev portal. The build phase runs
scripts/sync-docs.js. - Multi-Repo Cloning:
sync-docs.jsautomatically clones thevex,vex-sdk, andvex-explorerrepositories into the temporary.repos/build cache. - The Hub Generation: The script parses every
Cargo.tomlandpackage.jsonacross these clones, extracting versions and descriptions to dynamically generate the unifiedapi-reference.mdxHub. - Live: The new interactive documentation is deployed globally.
Setup Instructions for Upstream Repositories#
To link a new repository (like vex-sdk) to this automation pipeline, you only need to do two things:
1. Add the Railway Webhook Secret#
Go to your upstream repository on GitHub:
- Settings -> Secrets and variables -> Actions
- Click New repository secret
- Name:
RAILWAY_DOCS_WEBHOOK_URL - Value: (Retrieve this from your Railway
provnaidevproject -> Settings -> Deployments -> Webhook).
2. Add the GitHub Action#
Create this exact file in your upstream repository at .github/workflows/trigger-docs.yml:
Adding New Repositories to the Hub#
To make provnaidev aware of a new repository:
- Open
scripts/sync-docs.jsin theprovnaidevrepository. - Add the repository to the
ECOSYSTEM_REPOSarray at the top of the file:JAVASCRIPT - Commit and push. The pipeline will automatically handle the rest.