Skip to content

docs: migrate Transformations per docs revamp#9155

Merged
yjouffrault merged 3 commits intodemo/groups-diataxis-examplefrom
docs/migrate-transformations
May 7, 2026
Merged

docs: migrate Transformations per docs revamp#9155
yjouffrault merged 3 commits intodemo/groups-diataxis-examplefrom
docs/migrate-transformations

Conversation

@yjouffrault
Copy link
Copy Markdown
Contributor

Summary

Migrate the Transformations feature per the Infrahub docs revamp (Confluence recommendations).
Pattern: hub + 2 recipe-form how-tos + 2 academy tutorials extracted (matching the Generators PR precedent).

Content changes

  • Hub (transformations/index.mdx): topic content from topics/transformation.mdx, with cross-links updated and a "Learn by doing" section pointing to both new academy tutorials.
  • transformations/jinja2.mdx: NEW recipe-form how-to. Drafted from the Confluence proposal, with voice rules applied (no "this page covers...", no "canonical").
  • transformations/python.mdx: NEW recipe-form how-to. Same pattern.
  • academy/tutorials/transformations/build-a-jinja2-transformation.mdx: extracted from guides/jinja2-transform.mdx (the device-config running example). Tutorial framing added: consolidated "By the end of this tutorial..." opener and "What you learned" closer matching the established academy precedent.
  • academy/tutorials/transformations/build-a-python-transformation.mdx: extracted from guides/python-transform.mdx. Same framing.

Sidebar

  • Automation & Outputs > Transformations sub-cat re-pointed at transformations/index (hub).
  • Spokes use concise labels: Jinja2 and Python (page titles remain Write a Jinja2 Transformation / Write a Python Transformation).
  • Learn > Tutorials gains both new academy tutorial entries.

Out of scope

  • GraphQL fragments relocation (per the Confluence recommendation): guides/graphql-fragment.mdx will move to Development Resources → APIs & interfaces in a future migration. The new transformation how-tos cross-link to its current legacy path; entries are tracked in cross_links_to_update for the cleanup PR.
  • Cross-section content references in other features (resource-manager, groups, computed-attributes, webhooks, etc.) that point at legacy transformation paths — tracked in redirects-pending/transformations.yml > cross_links_to_update.
  • Two pre-existing markdownlint errors in unrelated legacy files (faq/faq.mdx, guides/modular-generator-best-practices.mdx).

Voice & tone

Applied the new voice rules from the migrate-feature-page skill:

  • No "this page covers..." (banned layout/medium descriptors)
  • No "canonical workflow" jargon
  • "this tutorial" / "this guide" preserved as legitimate genre markers
  • "Transformation" capitalized everywhere it appears as a branded term (in titles, link text, prose)
  • Five preserved-content "just" usages from the legacy guides rewritten on extraction

Verification

  • cd docs && npm run build succeeds (no broken links).
  • vale clean on all 5 new files.
  • markdownlint-cli2 clean on all 5 new files (only pre-existing legacy-file errors remain).
  • Pre-PR audit by Explore agent (Step 9 of migrate-feature-page skill).
  • AGENTS.md word check clean (no simply/easily/just/simple/easy in new content).

Test plan

  • Sidebar: Transformations sub-cat shows hub + 2 spokes (Jinja2, Python); Learn > Tutorials shows both new academy tutorials
  • Click Transformations category label — opens hub page (clickable category)
  • All 5 new pages render without 404s on cross-links
  • Legacy URLs (/topics/transformation, /guides/jinja2-transform, /guides/python-transform) still resolve (files left on disk during iteration)

🤖 Generated with Claude Code

Hub + 2 recipe-form how-tos + 2 tutorial extractions (matching Generators
PR precedent).

- transformations/index.mdx: hub from topics/transformation.mdx with
  cross-links updated and a Learn-by-doing section pointing to both new
  academy tutorials
- transformations/jinja2.mdx: NEW recipe-form how-to with placeholder-style
  examples
- transformations/python.mdx: NEW recipe-form how-to with placeholder-style
  examples
- academy/tutorials/transformations/build-a-jinja2-transformation.mdx:
  extracted from guides/jinja2-transform.mdx with consolidated tutorial
  framing
- academy/tutorials/transformations/build-a-python-transformation.mdx:
  extracted from guides/python-transform.mdx with consolidated tutorial
  framing
- sidebars.ts: re-point Transformations sub-cat at new paths with concise
  spoke labels (Jinja2 / Python); add academy tutorials
- redirects-pending/transformations.yml: 3 redirects + 23 cross-links to
  update at cleanup

Voice rules applied per the migrate-feature-page skill: no "this page",
no "canonical" jargon, "Transformation" capitalized as a branded term in
prose and link text. Five preserved-content "just" usages from the legacy
guides rewritten on extraction.

GraphQL fragments relocation deferred to a future Development Resources
migration per the Confluence recommendation.

Legacy files (topics/transformation.mdx, guides/jinja2-transform.mdx,
guides/python-transform.mdx) remain on disk during iteration; deleted in
the cleanup PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@yjouffrault yjouffrault requested review from a team as code owners May 6, 2026 14:49
@yjouffrault yjouffrault requested a review from wvandeun May 6, 2026 14:49
@yjouffrault yjouffrault requested a review from a team as a code owner May 6, 2026 14:49
@github-actions github-actions Bot added the type/documentation Improvements or additions to documentation label May 6, 2026
@wvandeun wvandeun force-pushed the docs/migrate-transformations branch from d91ce34 to d769201 Compare May 7, 2026 08:01
yjouffrault added a commit that referenced this pull request May 7, 2026
Hub + 2 spokes (no tutorial extraction — guides are short enough to reframe
in place per the Confluence recommendation).

- artifacts/index.mdx: hub from topics/artifact.mdx with cross-links updated
  and a new "How artifacts relate to other features" conceptual section
- artifacts/use.mdx: reframed from guides/artifact.mdx — "Step N:" prefixes
  dropped, Prerequisites condensed to a one-line assumption note,
  action-named section headers
- artifacts/content-composition.mdx: moved from
  guides/artifact-content-composition.mdx with cross-link updates only
- sidebars.ts: re-point Artifacts sub-cat at new paths
- redirects-pending/artifacts.yml: 3 redirects + 9 cross-links to update
  at cleanup

Skill update: add a "What needs reviewer attention" section to the PR
description template so future migration PRs tell the reviewer up front
which lines are net-new prose vs. preserved content with cross-link
updates.

Cross-links to Transformations use legacy paths (../topics/transformation,
../guides/jinja2-transform, ../guides/python-transform) until the open
Transformations PR (#9155) merges into base. They will resolve via that
PR's redirects once merged, then need rebase/cleanup at end of phase 2.

Legacy files (topics/artifact.mdx, guides/artifact.mdx,
guides/artifact-content-composition.mdx) remain on disk during iteration;
deleted in the cleanup PR.

Co-authored-by: Yvonne <yvonne@opsmill.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@yjouffrault yjouffrault merged commit 2d02f77 into demo/groups-diataxis-example May 7, 2026
8 of 9 checks passed
@yjouffrault yjouffrault deleted the docs/migrate-transformations branch May 7, 2026 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type/documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants