Skip to content

Backstage: catalog-info.yaml + TechDocs mirroring doc/ - #95

Merged
olafkfreund merged 1 commit into
mainfrom
backstage-techdocs
Jun 5, 2026
Merged

olafkfreund merged 1 commit into
mainfrom
backstage-techdocs

Conversation

@olafkfreund

@olafkfreund olafkfreund commented Jun 5, 2026 •

Copy link
Copy Markdown
Owner

What & why

The freundcloud Backstage bot had already done a minimal onboard of this repo (merged #93/#94 earlier today): a terse catalog-info.yaml, and a mkdocs.yml pointing at a single seeded docs/index.md. None of the real documentation (doc/onboarding.md, doc/starting.md, doc/development.md) was in TechDocs.

This PR (rebased on top of that onboard) makes TechDocs actually mirror the GitHub docs and adds a sync guarantee.

Changes

  • catalog-info.yaml — enriched: real description, tags, and a repo link; keeps the bot's provenance note. Validated against the live catalog via the Backstage MCP (isValid: true).
  • mkdocs.yml — switched docs_dir: docs → docs_dir: doc so TechDocs renders the existing doc/ guides directly (single source of truth; README's doc/ links stay valid), with an explicit nav and scripts/ excluded.
  • Removed the bot's redundant docs/index.md; the canonical landing page is now doc/index.md (mirrors the README overview).
  • .github/workflows/techdocs.yml — on changes to doc/**, mkdocs.yml, or catalog-info.yaml: validates the entity (RoadieHQ entity validator) and strict-builds TechDocs with the real techdocs-core plugin. The GitHub docs and the Backstage portal can't drift.
  • README.md — note the Backstage TechDocs/catalog integration.

How the sync works

Backstage's GitHub org provider auto-discovers this repo and rebuilds TechDocs on-demand from main on every view — no push step needed. This workflow guarantees that whatever lands on main is always valid Backstage format.

Verification

  • ✅ mkdocs build --strict (with techdocs-core) renders all 5 pages + 11 images; no "not in nav"/broken-link warnings.
  • ✅ CI TechDocs & Catalog job green (entity validated, strict build, artifact uploaded).

🤖 Generated with Claude Code

…ation

Annotate the repo for the freundcloud Backstage instance and publish the
existing GitHub docs as Backstage TechDocs without duplicating them.

- catalog-info.yaml — Component (service/production), owner olafkfreund,
  domain public, techdocs-ref dir:., project-slug, tags, repo link.
  Validated against the live catalog (isValid: true).
- mkdocs.yml — techdocs-core, docs_dir: doc so TechDocs renders the existing
  doc/ guides directly (single source of truth; README links unchanged).
- doc/index.md — TechDocs landing page mirroring the README overview.
- .github/workflows/techdocs.yml — on doc/catalog/mkdocs changes: validate
  catalog-info.yaml (RoadieHQ entity validator) and strict-build TechDocs with
  techdocs-core, so the GitHub docs and Backstage portal never drift.
- README — note the Backstage TechDocs/catalog integration.

Verified: mkdocs build --strict renders all 5 pages + 11 images clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@olafkfreund
olafkfreund force-pushed the backstage-techdocs branch from 449b514 to 41f6e14 Compare June 5, 2026 19:13
@olafkfreund
olafkfreund merged commit 59cf464 into main Jun 5, 2026
1 check passed
@olafkfreund
olafkfreund deleted the backstage-techdocs branch June 5, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant