Skip to main content

document-code

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

소스 정보

저장소
JamieMason/syncpack
최근 소스 활동
2026년 3월 21일 20:40
감지된 SKILL.md 언어
영어
스타
2,108
포크
76

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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
GitHub에서 보기