config-partials-generator

Generate MDX config reference partials from vCluster JSON schema. Use when automation is skipped for alpha releases or when manually refreshing config docs.

7 stars

Best use case

config-partials-generator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Generate MDX config reference partials from vCluster JSON schema. Use when automation is skipped for alpha releases or when manually refreshing config docs.

Teams using config-partials-generator should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/config-partials-generator/SKILL.md --create-dirs "https://raw.githubusercontent.com/loft-sh/vcluster-docs/main/.claude/skills/config-partials-generator/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/config-partials-generator/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How config-partials-generator Compares

Feature / Agentconfig-partials-generatorStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generate MDX config reference partials from vCluster JSON schema. Use when automation is skipped for alpha releases or when manually refreshing config docs.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Config Partials Generator Skill

## Overview

Generates MDX config reference partials from vCluster JSON schema. The CI automation (`sync-config-schema.yaml` in vcluster repo) skips alpha releases, so manual generation is needed during alpha/early development phases.

## When to Use This Skill

Trigger this skill when:
- User asks to "generate config partials", "update config reference", or "regenerate config docs"
- Linear issue mentions config generation or automation being down
- A new vCluster pre-release (alpha/beta) has schema changes not yet reflected in docs
- The `vcluster/_partials/config/` files are stale compared to the vcluster schema

## Prerequisites

- Local clone of `vcluster` repo (default: `~/loft/vcluster`, adjust if different)
- Go toolchain installed (for running the generator)

## Source Files

| File | Purpose |
|------|---------|
| `<VCLUSTER_REPO>/chart/values.schema.json` | vCluster JSON schema (source of truth) |
| `<VCLUSTER_REPO>/chart/values.yaml` | Default values |
| `<VCLUSTER_REPO>/.github/workflows/sync-config-schema.yaml` | CI automation (reference for manual steps) |
| `hack/vcluster/partials/main.go` | vCluster MDX partials generator |
| `hack/platform/partials/main.go` | Platform MDX partials generator |
| `configsrc/vcluster/` | Per-version schema source directories |
| `configsrc/platform/` | Platform schema source directory |

`<VCLUSTER_REPO>` defaults to `~/loft/vcluster`. Confirm path before starting.

## Automation Gap

The `sync-config-schema.yaml` workflow in the vcluster repo:
- Fires on `release` events
- **Skips** alpha and next releases (exits early)
- For **beta** releases: targets `configsrc/vcluster/main/` and `vcluster/_partials/config/`
- For **RC** releases: targets versioned folder (e.g., `configsrc/vcluster/0.33.0/`)
- For **stable** releases: triggers config sync in vcluster-config repo

Manual generation fills the gap for alpha releases.

## Workflow: Generate vCluster Partials

### Step 1: Update vcluster repo

```bash
cd <VCLUSTER_REPO>
git fetch --tags
git checkout main && git pull origin main
```

Verify the latest tag: `git tag --sort=-v:refname | head -5`

### Step 2: Copy schema files to configsrc

From the vcluster-docs repo root:

```bash
cp <VCLUSTER_REPO>/chart/values.yaml configsrc/vcluster/main/default_values.yaml
cp <VCLUSTER_REPO>/chart/values.schema.json configsrc/vcluster/main/vcluster.schema.json
```

For versioned docs (RC releases), replace `main` with `X.Y.0`:
```bash
mkdir -p configsrc/vcluster/X.Y.0/
cp <VCLUSTER_REPO>/chart/values.yaml configsrc/vcluster/X.Y.0/default_values.yaml
cp <VCLUSTER_REPO>/chart/values.schema.json configsrc/vcluster/X.Y.0/vcluster.schema.json
```

### Step 3: Vendor Go modules

From the vcluster-docs repo root:

```bash
go mod tidy && go mod vendor
```

### Step 4: Run the generator

For main/next docs:
```bash
go run hack/vcluster/partials/main.go configsrc/vcluster/main vcluster/_partials/config
```

For versioned docs:
```bash
go run hack/vcluster/partials/main.go configsrc/vcluster/X.Y.0 vcluster_versioned_docs/version-X.Y.0/_partials/config
```

### Step 5: Review output

```bash
git diff --stat vcluster/_partials/config/
```

Expected warnings (safe to ignore):
- `Skipping path "experimental/isolatedControlPlane"` — deprecated path
- `Skipping path "experimental/genericSync"` — deprecated path
- `Skipping path "controlPlane/distro/k3s"` — removed in v0.33+
- `Skipping path "controlPlane/distro/k0s"` — removed in v0.33+

### Step 6: Platform configsrc

Update the platform schema reference:

```bash
cp <VCLUSTER_REPO>/chart/values.schema.json configsrc/platform/main/vcluster.schema.json
```

**Platform partials generator:** Before running, check whether it preserves manual content:

```bash
gh pr view 1663 --json state --jq '.state'
```

<!-- TODO: Remove this guard once PR #1663 is merged -->
If `MERGED`, safe to run:
```bash
go run hack/platform/partials/main.go configsrc/platform/main/vcluster.schema.json
```

If `OPEN`, do NOT run — the generator overwrites manually-added sections in API reference docs.

### Step 7: Commit and open PR

```bash
git checkout -b chore/update-config-partials-vX.Y.Z
git add configsrc/ vcluster/_partials/config/
git commit -m "chore: generate vcluster config partials for X.Y alpha"
git push -u origin HEAD
gh pr create --title "chore: generate vcluster config partials for X.Y alpha" --body "..."
```

## Output Files

The generator produces/updates MDX files under `vcluster/_partials/config/`:
- `controlPlane.mdx` — control plane top-level config
- `controlPlane/distro.mdx` — distro configuration (k8s, k3s, k0s, eks)
- `controlPlane/backingStore.mdx` — etcd/database backing store
- `controlPlane/backingStore/database/embedded.mdx`
- `controlPlane/backingStore/database/external.mdx`
- And many more nested partials matching the schema structure

## Never Do

- Modify generated partials by hand — they get overwritten on next generation
- Run the platform generator without checking its manual-content-preservation status
- Modify files under `vcluster_versioned_docs/` unless explicitly targeting a released version

Related Skills

vcluster-docs-writer

7
from loft-sh/vcluster-docs

Write and edit vCluster Docusaurus documentation. Use this skill when working with .mdx or .md files in the vcluster-docs repository. Handles vale linting, partials discovery, link validation, versioned docs, and release processes.

vcluster-docs-releaser

7
from loft-sh/vcluster-docs

vCluster Documentation Release Skill

vcluster-docs-archiver

7
from loft-sh/vcluster-docs

Archive End-of-Life vCluster documentation versions. Use this skill when creating EOL documentation branches for vCluster or Platform versions. Handles branch creation, Docusaurus configuration, link fixing, Netlify deployment, and main branch updates.

platform-docs-releaser

7
from loft-sh/vcluster-docs

Platform Documentation Release Skill

k8s-compat-matrix

7
from loft-sh/vcluster-docs

Manages the Kubernetes compatibility matrix data and React component. Use when adding/removing K8s versions, updating conformance test results, or documenting known issues.

docusaurus-upgrader

7
from loft-sh/vcluster-docs

Upgrades Docusaurus to latest version in vCluster documentation. Use when upgrading Docusaurus packages from older to newer versions. Handles package updates, compatibility fixes, testing, and rollback procedures.

configure-ecc

144923
from affaan-m/everything-claude-code

Everything Claude Code のインタラクティブなインストーラー — スキルとルールの選択とインストールをユーザーレベルまたはプロジェクトレベルのディレクトリへガイドし、パスを検証し、必要に応じてインストールされたファイルを最適化します。

UtilitiesClaude

n8n-node-configuration

31392
from sickn33/antigravity-awesome-skills

Operation-aware node configuration guidance. Use when configuring nodes, understanding property dependencies, determining required fields, choosing between get_node detail levels, or learning common configuration patterns by node type.

Workflow AutomationClaude

mtls-configuration

31392
from sickn33/antigravity-awesome-skills

Configure mutual TLS (mTLS) for zero-trust service-to-service communication. Use when implementing zero-trust networking, certificate management, or securing internal service communication.

SecurityClaude

magic-ui-generator

31392
from sickn33/antigravity-awesome-skills

Utilizes Magic by 21st.dev to generate, compare, and integrate multiple production-ready UI component variations.

UI GenerationClaude

landing-page-generator

31392
from sickn33/antigravity-awesome-skills

Generates high-converting Next.js/React landing pages with Tailwind CSS. Uses PAS, AIDA, and BAB frameworks for optimized copy/components (Heroes, Features, Pricing). Focuses on Core Web Vitals/SEO.

Front-End DevelopmentClaudeCursorGemini

k8s-manifest-generator

31392
from sickn33/antigravity-awesome-skills

Step-by-step guidance for creating production-ready Kubernetes manifests including Deployments, Services, ConfigMaps, Secrets, and PersistentVolumeClaims.

DevOps ToolsClaude