askill
document-code

document-codeSafety --Repository

Add and update the documentation website for Syncpack. Use when making user-facing changes to the codebase.

1.9k stars
38.2k downloads
Updated 2/7/2026

Package Files

Loading files...
SKILL.md

Document Code

Guide for adding and updating Syncpack's documentation website.

Quick Decision

What are you documenting?

Adding/Updating...Location
Command docssite/src/content/docs/command/[cmd].mdx
Config propertysite/src/content/docs/config/[prop].mdx
Version group variantsite/src/content/docs/version-groups/[var].mdx
Semver group variantsite/src/content/docs/semver-groups/[var].mdx
Status codesite/src/content/docs/status/[code].mdx
FAQsite/src/faq/[id].mdx
Shared option partialsite/src/_partials/option/[opt].mdx
Reusable componentsite/src/components/[name].astro

Workflow

  1. Read sourcecli.rs for commands, rcfile.rs for config, instance_state.rs for status codes
  2. Create/update MDX — Match existing structure exactly
  3. Add link identifier — Update globalReferenceLinks in astro.config.mjs
  4. Test locallypnpm run dev from site/
  5. Verify links — Check all (IDENTIFIER) links resolve

Source to Docs Mapping

SourceDocumentation
src/cli.rs Subcommandsite/src/content/docs/command/*.mdx
src/rcfile.rs Rcfilesite/src/content/docs/config/*.mdx
src/instance_state.rssite/src/content/docs/status/*.mdx
src/specifier.rssite/src/content/docs/reference/specifier-types.mdx

Local Development

cd site
pnpm run dev          # Start at http://localhost:4321/syncpack
pnpm run build        # Verify build succeeds

Site Overview

  • Source located at site/src/
  • Built with Starlight on top of Astro
  • Content at site/src/content/docs/**/*.mdx
  • Reusable partials at site/src/_partials/**/*.mdx
  • Reusable components at site/src/components/*.astro

Command Documentation

Each command has a corresponding file at site/src/content/docs/command/[command].mdx.

Required Structure (in order)

  1. Description of the command's purpose from end user perspective
  2. ## Examples — Single bash code block with commented examples
  3. ## Options — Start with <QuoteFilters /> callout, then ### for each option alphabetically (--help last)

Shared Option Partials

Many commands share options. Define reusable partials at site/src/_partials/option/*.mdx:

import ConfigOption from "@partials/option/config.mdx";

<ConfigOption command="update" />

Config Documentation

Each config property has a file at site/src/content/docs/config/[property].mdx.

Required Structure

  1. Description of the config's purpose from end user perspective
  2. ## Default Value — Code block showing default (when applicable)
  3. ## Examples — Code blocks with commented examples

Version Groups and Semver Groups

Each variant has its own page:

  • site/src/content/docs/version-groups/*.mdx
  • site/src/content/docs/semver-groups/*.mdx

Required Structure

  1. Description of the group's purpose from end user perspective
  2. ## Examples — Code block per example, capture novel use cases
  3. ## Configuration### for each config property

Status Code Documentation

Each status code has a file at site/src/content/docs/status/[code].mdx.

Reference page at site/src/content/docs/reference/status-codes.mdx explains the InstanceState enum and its nested enums (ValidInstance, InvalidInstance, SuspectInstance).

FAQ Documentation

  • Create FAQ files at site/src/faq/[id].mdx
  • Listed at /syncpack/faq via site/src/pages/faq.astro
  • Individual pages via site/src/pages/faq/[id].astro

Linking Between Pages

Use named identifiers in markdown links:

When using the [update](COMMAND_UPDATE) command

Define identifiers in globalReferenceLinks function in site/astro.config.mjs.

Open Graph Images

Generated by site/src/pages/og/[...path].png.ts using Satori.

Troubleshooting

ProblemFix
Link not workingCheck identifier in globalReferenceLinks
Partial not renderingVerify import path uses @partials/ alias
OG image brokenCheck og/[...path].png.ts handles new route
Build failsRun pnpm run build locally to see error
Page not appearing in sidebarCheck frontmatter and Starlight config

Checklist

Before submitting documentation:

  • Structure matches existing pages of same type
  • Link identifier added to astro.config.mjs
  • Local dev server renders correctly
  • Build succeeds (pnpm run build)
  • All internal links resolve

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

AI review pending.

Metadata

Licenseunknown
Version-
Updated2/7/2026
PublisherJamieMason

Tags

apici-cdgithubgithub-actionstesting