Skip to content

IA option: finalized Get Started on-ramp#3499

Closed
SharpRake wants to merge 17 commits into
chainguard-dev:mainfrom
SharpRake:ia-final
Closed

IA option: finalized Get Started on-ramp#3499
SharpRake wants to merge 17 commits into
chainguard-dev:mainfrom
SharpRake:ia-final

Conversation

@SharpRake

Copy link
Copy Markdown
Collaborator

Draft IA proposal for team review — a refinement of option 1 (#3478) into a finalized Get Started on-ramp. Placeholder pages use filler copy; sidebar labels ending in * mark docs that don't exist yet.

What changes

Builds on the balanced Get Started on-ramp from option 1, with these refinements:

  • Merge Key Concepts into "What is Chainguard?" — the concepts/terminology glossary is now a section within that page rather than a standalone doc.
  • Move the container quickstart into Containers Examples — the "Quickstart: Containers" page now lives inside the Containers Examples bucket alongside the language/service guides.
  • Reorder "Get Started with chainctl" — now sits below Libraries Examples.
  • Crosslink adjustments — dropped the "Authenticate to the registry" crosslink from Containers Examples; added a "Catalog Starter" crosslink to Self-serve.
  • Placeholder marking — not-yet-written placeholder docs carry a trailing * in their sidebar label so reviewers can tell them apart from shipped docs.

Resulting Get Started order

  1. What is Chainguard?* (includes Key concepts and terminology)
  2. Self-serve (+ Catalog Starter crosslink)
  3. Containers Examples (Quickstart: Containers* + language/service crosslinks)
  4. Libraries Examples
  5. Get Started with chainctl
  6. Migration Guides

Based against main for a full-diff comparison, consistent with the other IA option PRs (#3478, #3479, #3482).

🤖 Generated with Claude Code

SharpRake and others added 15 commits June 9, 2026 23:11
…m & Tools

Rework the docs left-nav IA: the single crowded "Product Docs" section
(14 buckets) becomes three top-level sections.

- content/get-started/ ("Get Started") — self-serve and migration
- content/chainguard/ ("Chainguard Products", URL unchanged) — Containers,
  Libraries, VMs, OS, Repository, Factory
- content/platform/ ("Platform & Tools") — Administration, Integrations,
  FIPS, API Reference, chainctl Usage, chainctl Reference

Also: drop "Chainguard" from each product bucket's sidebar label via
linktitle (full title kept for headings and SEO); tighten sidebar
spacing so leaf and expandable rows share one rhythm; repoint the
AutoDocs integration action and homepage links to the new paths; add
aliases on hand-authored moved pages.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Mark Drake <mark@chainguard.dev>
# Conflicts:
#	content/platform/administration/cloudevents/events-reference.md
Create a new "Console" bucket under Chainguard Products and move the
Console walkthrough and Notifications guides into it:

- content/chainguard/console/images-directory
- content/chainguard/console/use-chainguard-notifications

Both pages keep aliases to their old how-to-use URLs. Reweight
Repository and OS so the section order is Containers, Libraries, VMs,
Repository, Console, OS, Factory. Repoint inbound links across the docs
to the new /chainguard/console/ paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Mark Drake <mark@chainguard.dev>
Relocate getting-started-with-chainctl from Platform & Tools to a
top-level item in the Get Started bucket, ordered between Self-serve and
Migration. Keep its published /chainguard/chainctl-usage/ alias and
repoint inbound links to the new /get-started/ path.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Mark Drake <mark@chainguard.dev>
Signed-off-by: Mark Drake <mark@chainguard.dev>
…work

# Conflicts:
#	content/get-started/migration/migration-checklist.md
#	content/get-started/migration/migration-tips.md
#	content/platform/administration/cloudevents/events-reference.md
#	content/platform/chainctl/chainctl-docs/chainctl_iam_external-group-role-mappings.md
#	content/platform/chainctl/chainctl-docs/chainctl_iam_external-group-role-mappings_create.md
#	content/platform/chainctl/chainctl-docs/chainctl_iam_external-group-role-mappings_delete.md
#	content/platform/chainctl/chainctl-docs/chainctl_iam_external-group-role-mappings_list.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_packages.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_packages_blocked.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_policy-gate.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_policy-gate_binding.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_policy-gate_binding_create.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_policy-gate_binding_delete.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_policy-gate_binding_list.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_policy-gate_binding_update.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_policy-gate_create.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_policy-gate_delete.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_policy-gate_describe.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_policy-gate_disable.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_policy-gate_enable.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_policy-gate_list.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_policy-gate_update.md
…ions

Move the Chainguard Factory bucket from Chainguard Products into
Platform & Tools, adding aliases from the old /chainguard/factory/
URLs and repointing internal and inbound links to /platform/factory/.

Reweight both sections so their buckets render in alphabetical order:
Chainguard Products (Console, Containers, Libraries, OS, Repository,
VMs) and Platform & Tools (Administration, API Reference, chainctl
Reference, chainctl Usage, Chainguard Factory, FIPS, Integrations).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Mark Drake <mark@chainguard.dev>
Brings in Chainguard Agent Skills docs (chainguard-dev#3395), pnpm trustPolicy
limitation (chainguard-dev#3424), cosign fix (chainguard-dev#3423), and AutoDocs/API regen.

Conflict resolution (AutoDocs-generated chainctl reference): upstream
renamed `chainctl libraries policy-gate` to `chainctl libraries policy`
and added `chainctl actions catalog/list`. Accepted upstream's
regenerated, url-pinned files at our moved content/platform/ path and
dropped the superseded policy-gate files. No aliases (url-pinned).

Signed-off-by: Mark Drake <mark@chainguard.dev>
…urce

Move the Console bucket from Chainguard Products to Platform & Tools
(/chainguard/console/ -> /platform/console/), placed alphabetically at
weight 050; shift Factory, FIPS, and Integrations down to make room.
Repoint 13 inbound links across 11 files. Swap the top-level section
weights so Compliance sits above Open Source.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Mark Drake <mark@chainguard.dev>
…ducts

Set weight 010 so the bucket sorts first in the section, and normalize
the camelCase linkTitle key to linktitle to match the sibling buckets.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Mark Drake <mark@chainguard.dev>
# Conflicts:
#	content/platform/administration/custom-idps/idp-providers/okta/okta-1.png
#	content/platform/administration/custom-idps/idp-providers/okta/okta-2.png
#	content/platform/administration/custom-idps/idp-providers/okta/okta-3.png
#	content/platform/administration/custom-idps/idp-providers/okta/okta-4-5.png
#	content/platform/administration/custom-idps/idp-providers/okta/okta-6.png
#	content/platform/chainctl/chainctl-docs/chainctl_images_helm_refs.md
Render a `crosslinks` list of {title, url} pairs from a section or
subsection _index.md as pointer entries in the sidebar, with an
external-link icon and working active-state. Cross-links are pointers,
not copies: one canonical page, one URL.

First use: a new get-started/containers-examples subsection pointing at
the nginx, PostgreSQL, Python, and Go getting-started guides, plus a
cross-link from Compliance to Selecting a Base Image.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Mark Drake <mark@chainguard.dev>
…base

# Conflicts:
#	.github/actions/integrate-platform-docs/action.yaml
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_artifacts.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_artifacts_count.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_artifacts_list.md
#	content/platform/chainctl/chainctl-docs/chainctl_libraries_artifacts_versions.md
#	content/platform/integrations/kiro.md
Implements the suggestions from get-started-balanced-docs.md as a
reviewable scaffold. Net-new docs use Lorem ipsum placeholders; on-ramp
docs that map to published content are wired as sidebar cross-links.

Net-new (placeholder):
- What is Chainguard? — conceptual front door for both pillars
- Key concepts and terminology — one glossary spanning containers + libraries
- Quickstart: pull and run your first container — stack-agnostic hello-world
- _index.md rewritten as a "pick your path" router

Cross-links to published content:
- Containers Examples: + "Authenticate to the registry"
- New Libraries Examples subsection: quickstart, access, network
  requirements, how-libraries-help-developers

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Mark Drake <mark@chainguard.dev>
Refine the balanced Get Started on-ramp for the final IA:

- Merge Key Concepts into "What is Chainguard?" as a section; drop the
  standalone key-concepts placeholder page.
- Move the container quickstart into the Containers Examples bucket.
- Order "Get Started with chainctl" below Libraries Examples.
- Drop the "Authenticate to the registry" crosslink from Containers
  Examples; add a "Catalog Starter" crosslink to Self-serve.
- Mark not-yet-written placeholder docs with a trailing asterisk in
  their sidebar labels.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Mark Drake <mark@chainguard.dev>
@netlify

netlify Bot commented Jul 1, 2026

Copy link
Copy Markdown

Deploy Preview for ornate-narwhal-088216 ready!

Name Link
🔨 Latest commit 36d0dab
🔍 Latest deploy log https://app.netlify.com/projects/ornate-narwhal-088216/deploys/6a46c2072e50ec0008a51a6e
😎 Deploy Preview https://deploy-preview-3499--ornate-narwhal-088216.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

SharpRake and others added 2 commits July 2, 2026 12:53
Replace the connect/network-requirements/why-secure crosslinks with a
JavaScript migration walkthrough, leaving the quickstart in place.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Mark Drake <mark@chainguard.dev>
Relocate the Policies page from Platform & Tools > Administration to the
Containers Staying Secure subsection and rename it "Container Pull
Policies" to signal its scope. Keep the shipped alias and repoint the
inbound link from the Repository overview.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Mark Drake <mark@chainguard.dev>
matthewhelmke pushed a commit that referenced this pull request Jul 7, 2026
## Type of change
<!-- Please be sure to add the appropriate label to your PR. -->
*IA Restructuring*

This PR supersedes a number of draft PRs, and constitutes the final IA
structure as iterated on by the Docs team.

The goal is to make Chainguard-specific content more discoverable and
improve user experience.

In addition to reorganizing the left-hand navigation menu, this PR makes
some CSS tweaks to make the menu easier to parse, and adds functionality
for crosslinking in the menu, meaning that we can add pointers to docs
that live in other places. Refer to the Getting Started section for
examples.

### What should this PR do?
<!-- Does this PR resolve an issue? Please include a reference to it.
-->
resolves chainguard-dev/internal#5763

### Why are we making this change?
<!-- What larger problem does this PR address? -->
The navigation menu is currently very difficult to scan, as different
products and resources are jumbled together. This effort aims to make
the menu more organized and hopefully make it easier to find important
info.

### What are the acceptance criteria? 
<!-- What should be happening for this PR to be accepted? Please list
criteria. -->
<!-- Do any stakeholders need to be tagged in this review? If so, please
add them. -->
The IA aligns with the final iteration in this pr:
#3499

Note that this is a fresh PR as that last iteration combines many
commits, this flattens out all the changes into a single commit (barring
any further changes).

### How should this PR be tested?

Any documentation published to Chainguard Academy is reviewed carefully
for accuracy. GUI procedures, API commands, and CLI code snippets in a
draft are run and tested thoroughly — by both the author and the
reviewer — to confirm they work exactly as written. This helps ensure
that readers can follow along and get the same results. See the [`edu`
repo's README](https://github.com/chainguard-dev/edu#testing).

<!-- What should your reviewer do to test this PR? Please list any steps
that are additional to or different from the standard. If you outline
steps in the console, include the console release version in this PR
message. -->

Review the [preview link]() and ensure everything looks all right.

Signed-off-by: Mark Drake <mark@chainguard.dev>
@SharpRake SharpRake closed this Jul 8, 2026
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