Source for the official drt website — landing page + docs, deployed to GitHub Pages.
Tool: drt-hub/drt · Package:
drt-core· Install:pip install drt-core
The site is a view of drt-hub/drt, never a hand-maintained copy:
- Connector matrix is generated from drt's own CLI (
drt destinations|sources --format json) →data/. - Docs are pulled from drt's
docs/+README.md→synced-docs/. - Version badge is read live from PyPI (
drt-core).
These generated inputs are refreshed by .github/workflows/sync-from-drt.yml (weekly + on-demand + on a drt-updated dispatch from the drt repo). The sync opens a PR — nothing deploys until a maintainer reviews and merges it.
drt repo changes ──► sync-from-drt.yml ──► PR to drt-web ──► maintainer merges ──► deploy.yml ──► GitHub Pages
Muawiya design PR ──────────────────────► PR to drt-web ──► maintainer merges ──► deploy.yml ──► GitHub Pages
Every change — design or content — arrives as a PR a maintainer approves; merging to main auto-deploys. Approval == merge == deploy.
| Path | What |
|---|---|
.github/workflows/deploy.yml |
Build (Docusaurus if package.json present, else the static placeholder) → publish to GitHub Pages |
.github/workflows/sync-from-drt.yml |
Regenerate connector matrix + docs from drt → open a PR if changed |
.github/workflows/check-generated-docs.yml |
Regenerate synced-docs/cli/ and data/*.json from the pinned drt-core and fail if the committed copies moved |
.github/dependabot.yml |
Weekly npm + GitHub Actions update PRs (@docusaurus/* and react grouped; the pins below are deliberately excluded) |
scripts/sync-from-drt.sh |
The generator (CLI JSON + a shallow clone of drt's docs/) |
scripts/gen-cli-reference.py |
Builds synced-docs/cli/ by walking the installed drt CLI's command tree |
scripts/requirements-cli-docs.txt |
Pinned renderers (click, typer) shared by the generator and its drift check |
data/ |
Generated: destinations.json, sources.json, version.txt (do not edit by hand) |
synced-docs/ |
Generated: drt's docs/ + README.md, plus cli/ from gen-cli-reference.py (do not edit by hand) |
index.html |
No longer served — deploy.yml only falls back to this if package.json is ever absent (a real Docusaurus build failure aborts the workflow instead); kept in sync by hand regardless |
✅ Live. The Docusaurus app (landing src/pages/ + docs theme) is deployed — deploy.yml detects package.json and builds it automatically. index.html is no longer served; the workflow only falls back to it when package.json is absent (a real Docusaurus build failure aborts the workflow rather than falling back to it), so it stays in the repo mainly for a hypothetical future reset and is kept in sync by hand for that reason.
- Hosting: GitHub Pages →
https://drt-hub.github.io/drt-web/(custom domaindrthub.devcan be attached later — then set DocusaurusbaseUrlfrom/drt-web/to/).
Open a PR adding the Docusaurus app at the repo root (package.json, docusaurus.config.js, src/pages/, docs/). Consume the generated inputs:
- connector matrix → read
data/destinations.json/data/sources.json - docs → source from
synced-docs/ - version badge →
data/version.txt
Use baseUrl: '/drt-web/'. deploy.yml builds to ./build (Docusaurus default).