Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ scripts/
validate.py structural checks (run in CI)
mcp_smoke.py starts galaxy-mcp over stdio and checks its tool list
cursor-deeplink.py generates / checks the "Add to Cursor" link in docs
export-hub.py renders docs/ as Galaxy Hub pages (content/tools/ai-agents/)
export-hub.py renders docs/ as Galaxy Hub pages (content/agents/plugins/)
.github/
ci-tools/ CI-only npm deps (Pi loader check); not part of the Pi package
workflows/validate.yml per-harness CI jobs (see Testing)
Expand Down Expand Up @@ -150,8 +150,8 @@ python3 scripts/validate.py # what CI runs

Only `plugins/galaxy-mcp/`, `docs/` and the hand-written manifest fields are
edited here; changes to skill content belong upstream. The Galaxy Hub pages
under `/tools/ai-agents/` are generated from `docs/` with
`scripts/export-hub.py <galaxy-hub>/content/tools/ai-agents`; rerun it and
under `/agents/plugins/` are generated from `docs/` with
`scripts/export-hub.py <galaxy-hub>/content/agents/plugins`; rerun it and
open a hub pull request after changing a guide. A GitHub Action runs
the sync every Monday and opens a pull request when anything changed.

Expand Down
39 changes: 12 additions & 27 deletions scripts/export-hub.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
#!/usr/bin/env python3
"""Export docs/ as the Galaxy Hub page /tools/ai-agents/ (galaxyproject/galaxy-hub).
"""Export docs/ as the Galaxy Hub page /agents/plugins/ (galaxyproject/galaxy-hub).

Usage: scripts/export-hub.py <hub-content-dir>/tools/ai-agents
Usage: scripts/export-hub.py <hub-content-dir>/agents/plugins

Writes ONE page, index.md, that combines:
- the landing template below (hero + animated shells via <AgentShells />),
- the landing template below (hero + animated shells via <AgentShells />,
then the sections in the hub's full-width ag-band wrappers),
- docs/galaxy-api-key.md as the "Get a Galaxy API key" section,
- every harness doc as a <HarnessGuide> panel inside <HarnessGuides>,
plus a redirect stub for each old per-harness URL (<slug>/index.md ->
/tools/ai-agents/#guide-<slug>) so existing links keep working.
- every harness doc as a <HarnessGuide> panel inside <HarnessGuides>.

The docs remain the source of truth; rerun after editing them. Links between
docs become in-page anchors, repo-relative links become GitHub URLs, each H1 is
Expand All @@ -29,7 +28,6 @@
ROOT = Path(__file__).resolve().parent.parent
DOCS = ROOT / "docs"
REPO_URL = "https://github.com/galaxyproject/agentic-plugins"
HUB_BASE = "/tools/ai-agents"

API_KEY_DOC = "galaxy-api-key.md"
API_KEY_ANCHOR = "#get-a-galaxy-api-key"
Expand All @@ -44,9 +42,6 @@
# ("cursor.md", "cursor", "Cursor"),
]

# Old per-page slugs that now redirect into the single page.
REDIRECTS = {"api-key": API_KEY_ANCHOR, **{gid: f"#guide-{gid}" for _, gid, _ in GUIDES}}

LANDING = f"""---
title: "Galaxy for AI Coding Agents"
tease: "Connect Claude Code, Codex, Antigravity or Pi to your Galaxy server with curated Galaxy skills, or add the Galaxy MCP server to Claude Desktop as a one-click bundle."
Expand All @@ -61,18 +56,7 @@

<AgentShells />

Galaxy for AI coding agents installs the galaxy-mcp server, the galaxy-skills
and galaxy-dev-skills sets and the Workflow Foundry skills into Claude Code,
Codex, Antigravity or Pi; Claude Desktop gets the galaxy-mcp server as a
one-click bundle. Everything comes from the
[galaxyproject/agentic-plugins]({REPO_URL})
repository, and everything you need is on this page: get an API key, then pick
your harness under [Set up your agent](#set-up-your-agent).

<div class="callout">
Looking for a complete AI research assistant built around Galaxy rather than a
plugin for the agent you already use? See <a href="/tools/orbit/">Orbit</a>.
</div>
<div class="ag-band ag-band--white">

## Before you start

Expand Down Expand Up @@ -104,6 +88,10 @@

</HarnessGuides>

</div>

<div class="ag-band">

## What the agent can do once connected

Ask in plain language; the agent picks the Galaxy tools:
Expand All @@ -123,6 +111,8 @@
- Skill content lives upstream in [galaxy-skills](https://github.com/galaxyproject/galaxy-skills)
and [foundry](https://github.com/galaxyproject/foundry); the plugins mirror
them weekly.

</div>
"""


Expand Down Expand Up @@ -170,11 +160,6 @@ def main() -> int:
out.mkdir(parents=True, exist_ok=True)
(out / "index.md").write_text(landing())
print(f"wrote {out / 'index.md'}")
for slug, anchor in REDIRECTS.items():
page = out / slug
page.mkdir(exist_ok=True)
(page / "index.md").write_text(f'---\nredirect: "{HUB_BASE}/{anchor}"\n---\n')
print(f"wrote {page / 'index.md'} -> {HUB_BASE}/{anchor}")
return 0


Expand Down
Loading