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.

Ir a la instalación

Datos de origen

Repositorio
pymc-labs/pathmc
Última actividad en el origen
10 de junio de 2026 a las 09:00
Idioma detectado de SKILL.md
inglés
Estrellas
128
Forks
12

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
7 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
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)
Ver en GitHub