Workflow onboarding
Steps to publish a new workflow repository through docs-portal.
Prerequisites
- Workflow repo under
ai-workflows/<name>-workflow docs/directory with workflow documentation- GitLab permissions to trigger
docs-portalpipelines
1. Prepare workflow repo docs
Author canonical documentation in the workflow repository docs/ tree.
Copy templates from docs-portal/templates/:
workflow-manifest.yaml→docs/workflow-manifest.yaml- Add
docs/portal-integration.mdanddocs/navigation-meta.md(seesuperbuild-workflow/docs/)
2. Define manifest contract
Edit docs/workflow-manifest.yaml:
| Field | Purpose |
|---|---|
workflow_id | Registry key (e.g. architecture) |
display_title | Human title |
exclude_from_sync | Metadata files kept out of portal mirror |
sidebar_order | Docusaurus sidebar slugs after portal intro |
3. Register in portal registry
Edit docs-portal/workflows/registry.yaml:
- Add workflow entry with
active: true - Set
gitlab_project,sync_ref,target_dir,sidebar_file,sidebar_id - Match
docusaurus_plugin_idandroute_base_pathtodocusaurus.config.ts
4. Register Docusaurus section
In docs-portal:
- Create
docs-<workflow>/intro.md(portal-owned landing) - Add docs plugin block and navbar item in
docusaurus.config.ts - Create
sidebars<Workflow>.ts(sync can populate slugs from manifest)
Or extend registry + run sync after manifest exists — sidebar is updated automatically.
5. Enable GitLab trigger path
In the workflow repo .gitlab-ci.yml (see templates/gitlab-ci-workflow-snippet.yml):
workflow-docs:contractondevelop+docs/**changestrigger:docs-portalwithstrategy: depend
Set WORKFLOW_SYNC_ID to match registry and manifest.
6. Run first sync
Local (cross-platform):
cd docs-portal
pip install -r requirements-sync.txt
python scripts/sync_workflow.py <workflow_id> --source ../<workflow_id>-workflow
python scripts/validate_workflow_import.py <workflow_id> --source ../<workflow_id>-workflow
npm run build
CI: push workflow docs/ change to develop and verify downstream portal pipeline.
7. Verify navigation and build
- Sidebar lists all synced slugs
npm run buildpasses (onBrokenLinks: throw)- Preview site section loads at
/\<workflow>/intro/
8. Publish
- Merge portal changes to
develop(preview Pages) - Fast-forward
masterwhen CI green (productionesys-ai.org)
Checklist
-
docs/workflow-manifest.yamlin workflow repo -
docs/portal-integration.mdanddocs/navigation-meta.md - Registry entry in
workflows/registry.yamlwithactive: true - Docusaurus plugin + navbar configured
- Portal
intro.mdcreated - Workflow
.gitlab-ci.ymltriggers portal - GitLab token/trigger access configured
- First sync + validate + build green