Skip to main content

great-docs

Generate documentation sites for Python packages with Great Docs. Covers init, build, preview, configuration (great-docs.yml), API reference, CLI docs, user guides, theming, deployment, and the llms.txt agent-context files. Use when creating, configuring, building, or troubleshooting Python package documentation.

Zur Installation springen

Quellinformationen

Repository
pymc-labs/pathmc
Letzte Quellaktivität
10. Juni 2026 um 09:00
Erkannte Sprache von SKILL.md
Englisch
Sterne
128
Forks
12

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
7 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
great-docs
description
Generate documentation sites for Python packages with Great Docs. Covers init, build, preview, configuration (great-docs.yml), API reference, CLI docs, user guides, theming, deployment, and the llms.txt agent-context files. Use when creating, configuring, building, or troubleshooting Python package documentation.
license
MIT
compatibility
Requires Python >=3.11, Quarto CLI installed.
metadata
{"author":"rich-iannone","version":"2.0","tags":["documentation","python-packages","quarto","api-reference","static-site"]}
# Great Docs A docs generator for Python packages. Introspects your API, renders reference pages, and produces a Quarto-based static site with user guides, CLI docs, theming, and more. ## Quick start ```bash pip install great-docs # Quarto must also be installed: https://quarto.org/docs/get-started/ cd my-package/ # directory with pyproject.toml great-docs init # create great-docs.yml, discover API great-docs build # full build -> great-docs/_site/ great-docs preview # local server on port 3000 ``` ## Skill directory structure This skill ships with companion files for agent consumption: ``` skills/great-docs/ ├── SKILL.md ← This file ├── references/ │ ├── config-reference.md ← All great-docs.yml options │ ├── cli-reference.md ← CLI commands and arguments │ └── common-errors.md ← Error patterns and fixes ├── scripts/ │ ├── setup-env.sh ← Environment bootstrap script │ └── run-build.sh ← Build with validation └── assets/ └── config-template.yaml ← Starter great-docs.yml ``` ## When to use what | Need | Use | | ------------------------- | --------------------------------------- | | Start a new docs site | `great-docs init` | | Full build from scratch | `great-docs build` | | Rebuild after edits | `great-docs build --no-refresh` | | Live preview | `great-docs preview` | | See discoverable API | `great-docs scan --verbose` | | Change docstring parser | `parser: google` in great-docs.yml | | Add CLI reference | `cli: {enabled: true, module: pkg.cli}` | | Add a gradient navbar | `navbar_style: sky` | | Exclude internal symbols | `exclude: [_InternalClass]` | | Add user guide pages | Create `user_guide/05-topic.qmd` | | Add recipes | Create `recipes/07-topic.qmd` | | Set up GitHub Pages CI | `great-docs setup-github-pages` | | Use static analysis | `dynamic: false` (for tricky imports) | | Generate agent skill file | `skill: {enabled: true}` | ## Core concepts ### Configuration (`great-docs.yml`) Single YAML file at the project root controls everything. All keys are optional — sensible defaults are auto-detected from `pyproject.toml` and package structure. **Full config reference**: See [references/config-reference.md](references/config-reference.md) ### Build pipeline The `build` command runs 13 steps in order: 1. Prepare build directory (copy assets, JS, SCSS) 2. Copy user guide from `user_guide/` 3. Copy project `assets/` 4. Refresh API reference (introspect package) 5. Generate `llms.txt` and `llms-full.txt` 6. Generate `skill.md` (if enabled) 7. Generate source links JSON 8. Generate changelog (from GitHub Releases) 9. Generate CLI reference (if enabled) 10. Process user guide (frontmatter, sidebar) 11. Process custom sections 12. Render API reference (`.qmd` files) 13. Run `quarto render` -> `_site/` HTML output The `great-docs/` directory is **ephemeral** — regenerated on every build. Never edit files inside it directly. ### Two rendering modes - **Dynamic** (default): imports the package at runtime for full introspection. Requires `pip install -e .` first. - **Static** (`dynamic: false`): uses griffe for AST-based analysis. Use when the package has circular imports, lazy loading, or compiled extensions. Dynamic mode auto-falls-back to static if the import fails. ### Docstring directives Custom directives inside docstrings use `%` prefix: ```python def my_function(): """ Description. %seealso func_a, func_b: related functions, ClassC %nodoc """ ``` - `%seealso name1, name2: desc` — Cross-references in rendered docs - `%nodoc` — Exclude this item from documentation ## Workflows ### New documentation site ``` Task Progress: - [ ] Step 1: Install prerequisites - [ ] Step 2: Initialize configuration - [ ] Step 3: Customize config - [ ] Step 4: Build and preview - [ ] Step 5: Verify output ``` **Step 1**: Ensure `great-docs` and `quarto` are installed. The target package must be importable (`pip install -e .`). **Step 2**: Run `great-docs init` from the project root (where `pyproject.toml` lives). This creates `great-docs.yml`. **Step 3**: Edit `great-docs.yml` to customize. See [references/config-reference.md](references/config-reference.md) or [assets/config-template.yaml](assets/config-template.yaml) for all options. **Step 4**: Run `great-docs build` then `great-docs preview`. **Step 5**: Check the site at `http://localhost:3000`. If errors occur, see [references/common-errors.md](references/common-errors.md). ### Adding content **User guide page**: Create `user_guide/NN-title.qmd` with a 2-digit numeric prefix. Auto-discovered on next build. **Recipe**: Create `recipes/NN-title.qmd`. Same numeric prefix convention. **Custom section**: Add to `great-docs.yml`: ```yaml sections: - title: Examples dir: examples ``` ### Customizing appearance ```yaml # great-docs.yml navbar_style: sky # gradient: sky, peach, lilac, mint, etc. content_style: lilac # content area glow dark_mode_toggle: true # toggle switch in navbar logo: assets/logo.svg # or {light: ..., dark: ...} hero: true # landing page hero section announcement: content: "v2 is out!" type: info dismissable: true ``` ### Troubleshooting a build 1. Run `great-docs build` and read the error output 2. Check [references/common-errors.md](references/common-errors.md) for the error pattern 3. Fix the config or source file 4. Rebuild with `great-docs build --no-refresh` (faster, skips API rediscovery) 5. If the error persists, try `great-docs build` with full refresh ## Reference files ### Config reference (`references/config-reference.md`) Complete list of every `great-docs.yml` option with types, defaults, and examples. Organized by category: metadata, GitHub, navigation, theming, content, features, and advanced. ### CLI reference (`references/cli-reference.md`) All CLI commands with arguments and usage examples: | Command | Purpose | | -------------------- | --------------------------- | | `init` | Create config, discover API | | `build` | Full build pipeline | | `preview` | Local dev server | | `scan` | Preview discoverable API | | `config` | Generate template config | | `uninstall` | Remove config and build dir | | `setup-github-pages` | Create CI/CD workflow | ### Common errors (`references/common-errors.md`) Error patterns, causes, and fixes for the most frequent build failures — import errors, missing exports, config mismatches, Quarto issues, and more. ## Scripts ### `scripts/setup-env.sh` Bootstrap a development environment: ```bash #!/usr/bin/env bash set -euo pipefail python -m venv .venv source .venv/bin/activate pip install -e ".[dev]" pip install great-docs quarto --version || echo "ERROR: Quarto not installed" ``` ### `scripts/run-build.sh` Build with validation: ```bash #!/usr/bin/env bash set -euo pipefail great-docs build echo "Build complete. Site at great-docs/_site/" ls great-docs/_site/index.html && echo "OK: index.html exists" ``` ## Configuration template The `assets/config-template.yaml` provides a starter config with annotated options. Copy it as `great-docs.yml` and customize. ## Gotchas 1. **Run from project root.** All commands must run from the directory containing `great-docs.yml` (and `pyproject.toml`). 2. **`module` vs package name.** The `module` key is the Python importable name, not the PyPI name. For `py-shiny`, set `module: shiny`. 3. **Circular imports.** Set `dynamic: false` for packages with lazy loading or circular aliases. 4. **User guide ordering.** Files need numeric prefixes (`00-intro.qmd`, `01-install.qmd`) for deterministic order. 5. **Don't edit `great-docs/` directly.** It's regenerated on every build. Edit source files instead. 6. **Quarto required.** If `quarto` is not on `PATH`, the build fails at step 13. 7. **Package must be importable.** In dynamic mode, run `pip install -e .` before building. ## Capabilities and boundaries **What agents can configure:** - All `great-docs.yml` settings - User guide `.qmd` pages in `user_guide/` - Recipe `.qmd` pages in `recipes/` - Custom section `.qmd` pages - Logo, favicon, and other assets - Custom CSS/SCSS overrides - Docstring directives (`%seealso`, `%nodoc`) **Requires human setup:** - `pip install great-docs` and Quarto installation - `pip install -e .` for the target package - GitHub Pages or hosting deployment - Custom domain DNS - GitHub access tokens (for changelog) ## Related skills This is the general-purpose skill for Great Docs. For deeper guidance on specific tasks, use these companion skills: | Task | Skill | When to use | | --------------------------- | ------------------- | ------------------------------------------------------------- | | Write user guide pages | `write-user-guide` | Creating or editing `.qmd` pages in `user_guide/` | | Improve docstrings | `revise-docstrings` | Auditing or rewriting Python docstrings for the API reference | | Configure the site | `configure-site` | Customizing `great-docs.yml` theming, features, and layout | | Create or distribute skills | `author-skills` | Writing SKILL.md files, setting up multi-skill distribution | ## Resources - [Full documentation](https://posit-dev.github.io/great-docs/) - [llms.txt](llms.txt) — Indexed API reference for LLMs - [llms-full.txt](llms-full.txt) — Comprehensive documentation for LLMs - [Configuration guide](https://posit-dev.github.io/great-docs/user-guide/03-configuration.html) - [GitHub repository](https://github.com/posit-dev/great-docs)
Auf GitHub ansehen