Skip to content
Skills Library
Programming · Writing

document-code

/document-code

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

Repository
syncpack ↗
Licence
MIT
Last repository change
09.08.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
4
Deprecation

No signals detected. Repository changed on 09.08.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

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

Original author description

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

How it works

  1. Quick Decision
  2. Workflow
  3. Source to Docs Mapping
  4. Local Development
  5. Site Overview
  6. Command Documentation
  7. Config Documentation
  8. Status Code Documentation
  9. FAQ Documentation
  10. Linking Between Pages
Original SKILL.md headings · 142 lines, 584 words
SKILL.md preview
---
name: document-code
description: Add and update the documentation website for Syncpack. Use when making user-facing changes to the codebase.
---

# Document Code

Guide for adding and updating Syncpack's documentation website.

## Quick Decision

What are you documenting?

| Adding/Updating...    | Location                                         |
| --------------------- | ------------------------------------------------ |
| Command docs          | `site/src/content/docs/command/[cmd].mdx`        |
| Config property       | `site/src/content/docs/config/[prop].mdx`        |
| Version group variant | `site/src/content/docs/version-groups/[var].mdx` |
| Semver group variant  | `site/src/content/docs/semver-groups/[var].mdx`  |
| Status code           | `site/src/content/docs/status/[code].mdx`        |
| FAQ                   | `site/src/faq/[id].mdx`                          |
| Shared option partial | `site/src/_partials/option/[opt].mdx`            |
| Reusable component    | `site/src/components/[name].astro`               |

## Workflow

1. **Read source** — `cli.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 locally** — `pnpm run dev` from `site/`
5. **Verify links** — Check all `(IDENTIFIER)` links resolve

## Source to Docs Mapping

| Source                  | Documentation                                         |
| ----------------------- | ----------------------------------------------------- |
| `src/cli.rs` Subcommand | `site/src/content/docs/command/*.mdx`                 |
| `src/rcfile.rs` Rcfile  | `site/src/content/docs/config/*.mdx`                  |
| `src/instance_state.rs` | `site/src/content/docs/status/*.mdx`                  |
| `src/specifier.rs`      | `site/src/content/docs/reference/specifier-types.mdx` |

## Local Development

```bash
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](https://starlight.astro.build/) on top of [Astro](https://astro.build/)
- 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`:

```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:

```mdx
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](https://github.com/vercel/satori).

## Troubleshooting

| Problem                       | Fix                                           |
| ----------------------------- | --------------------------------------------- |
| Link not working              | Check identifier in `globalReferenceLinks`    |
| Partial not rendering         | Verify import path uses `@partials/` alias    |
| OG image broken               | Check `og/[...path].png.ts` handles new route |
| Build fails                   | Run `pnpm run build` locally to see error     |
| Page not appearing in sidebar | Check 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

Versions

RepositoryScoreLicence
This page · JamieMason/syncpack100MIT
jjmartres/ai-coding-agents100MIT
codeaholicguy/ai-devkit90Apache-2.0
hoblin/claude-ruby-marketplace84MIT

Database snapshot: 13.11.2026 · package version 453265f51c46 (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100syncpack-configuration
    Use when setting up or configuring syncpack for a monorepo. Covers configuration files, workspace detection, and custom rule definitions for dependency version management.
  • 100monorepo-deps
    End-to-end syncpack + manypkg flow for an npm monorepo: check, fix, update, and maintain `.syncpackrc.json`. Trigger on /monorepo-deps, "update deps", "sync deps", "check deps", "fix syncpackrc", "create syncpackrc", or "my lock file is out of sync". Use syncpack-usage /…
  • 90add-feature
    Add new features to Syncpack including commands and validation logic. Use when implementing new CLI commands, adding InstanceState variants, or extending version group behaviour.
  • 95syncpack-version-groups
    Use when defining version policies, banning dependencies, pinning versions, or creating partitioned version groups in syncpack. Covers advanced version management patterns.
  • 100review-docs
    Review and improve Syncpack documentation for clarity, completeness, and consistency. Use when enhancing docs or validating before publication.
  • 100documentation
    Documentation standards and best practices for code changes. Use when writing or reviewing documentation, adding public APIs, making user-facing changes, or checking documentation quality. Triggers on: 'use documentation mode', 'document', 'documentation', 'docstring', 'add…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.