Skip to content

Conversation

@spoorcc
Copy link
Contributor

@spoorcc spoorcc commented Jan 3, 2026

Summary by CodeRabbit

  • Documentation
    • Added a dedicated Installation guide (pip, branch, binaries), plus validation and uninstall instructions
    • Reworked Troubleshooting into a stepwise diagnostic flow with verbose-mode guidance and clearer reporting steps
    • Expanded intro and navigation (added Installation, removed Examples); removed example content and cleaned redundant master/header directives across docs
    • Added a "Real world projects" vendoring subsection
  • Chores
    • Updated changelog entry and enabled Sphinx issuetracker integration (docs extras updated)

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 3, 2026

📝 Walkthrough

Walkthrough

Restructures documentation: adds a dedicated installation doc, removes examples, updates index and several doc headers, expands troubleshooting into a three-step guide, renames vendoring and adds real-world links, simplifies README vendoring reference, and enables Sphinx issuetracker integration.

Changes

Cohort / File(s) Summary
Top-level & README
README.md, doc/index.rst
Simplified README vendoring reference; doc/index.rst updated to add installation to the toctree, remove examples, rewrite the "What is Dfetch?" intro, and adjust inline code formatting.
New installation doc
doc/installation.rst
Added new installation guide covering pip installs (PyPI and main branch), platform binaries (Linux/macOS/Windows), versioning, uninstall/validation commands, and an asciinema reference.
Examples removal
doc/examples.rst
Removed the examples file/content (deleted “Examples” section, example links, and explanatory text).
Troubleshooting
doc/troubleshooting.rst
Rewrote as a structured 3-step troubleshooting flow: check environment, use verbose mode, and reporting issues with commands and reporting guidance.
Vendoring & real-world links
doc/vendoring.rst
Renamed to "Vendoring" and added a "Real world projects using Dfetch" subsection with two example links and a short blurb.
Docs master directive removals
doc/contributing.rst, doc/getting_started.rst, doc/legal.rst, doc/manifest.rst, doc/manual.rst
Removed top-line ".. Dfetch documentation master file" directive from multiple docs (formatting/doc-generation cleanup).
Alternatives
doc/alternatives.rst
Expanded and rewrote alternatives overview; enlarged tools table and compatibility/coverage notes.
Changelog
CHANGELOG.rst
Adjusted issue reference: changed (#889) to (#888) in Release 0.11.0 (unreleased).
Sphinx integration & extras
doc/conf.py, pyproject.toml
Added sphinx_autoissues to Sphinx extensions and configured issuetracker (GitHub project); added sphinx-autoissues==0.0.1 to docs extras in pyproject.toml.

Sequence Diagram(s)

(omitted — documentation-only changes, no new multi-component control flow)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

documentation

Suggested reviewers

  • ben-edna

Poem

🐰 I nibbled through the docs with care,

Moved install steps to a brand new lair.
Examples folded, vendoring now sings,
Troubleshooting trimmed to three tidy things.
Hops of clarity — a tiny rabbit's cheer.

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title accurately reflects the main objective of the pull request, which involves substantial documentation reorganization and improvements across multiple documentation files.
✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
doc/troubleshooting.rst (1)

67-67: Fix incorrect GitHub repository path in security advisory URL.

The URL at line 67 uses an incorrect repository path. Based on the project's actual GitHub repository (dfetch-org/dfetch), the security advisory URL should use dfetch-org instead of dfetch.

🔎 Proposed fix for the security advisory URL
-.. _`GitHub Security Advisories`: https://github.com/dfetch/dfetch/security/advisories
+.. _`GitHub Security Advisories`: https://github.com/dfetch-org/dfetch/security/advisories
🧹 Nitpick comments (1)
doc/installation.rst (1)

7-64: Minor: Unclear placeholder format in binary distribution commands.

The commands use dfetch-<version>-nix.deb and similar placeholders. While the meaning is clear enough, consider adding a note explaining that users should replace <version> with their actual release version (e.g., dfetch-1.2.3-nix.deb), or provide explicit version examples to reduce ambiguity.

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 122022d and 826eb62.

📒 Files selected for processing (6)
  • README.md
  • doc/examples.rst
  • doc/index.rst
  • doc/installation.rst
  • doc/troubleshooting.rst
  • doc/vendoring.rst
💤 Files with no reviewable changes (1)
  • doc/examples.rst
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2026-01-02T22:46:45.589Z
Learnt from: spoorcc
Repo: dfetch-org/dfetch PR: 904
File: script/package.py:10-18
Timestamp: 2026-01-02T22:46:45.589Z
Learning: In dfetch's script/package.py, importing dfetch.__version__ directly is acceptable and intentional; if dfetch is not installed in the environment, the packaging job should fail explicitly rather than handling the import error gracefully.

Applied to files:

  • doc/troubleshooting.rst
  • doc/installation.rst
  • doc/index.rst
  • README.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (17)
  • GitHub Check: Publish Python distribution 📦 to TestPyPI
  • GitHub Check: build / build (windows-latest)
  • GitHub Check: build / build (macos-latest)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: run / run (windows-latest, 3.11)
  • GitHub Check: run / run (windows-latest, 3.13)
  • GitHub Check: run / run (macos-latest, 3.14)
  • GitHub Check: run / run (windows-latest, 3.12)
  • GitHub Check: run / run (macos-latest, 3.9)
  • GitHub Check: run / run (macos-latest, 3.12)
  • GitHub Check: run / run (windows-latest, 3.9)
  • GitHub Check: run / run (macos-latest, 3.10)
  • GitHub Check: run / run (windows-latest, 3.14)
  • GitHub Check: run / run (windows-latest, 3.10)
  • GitHub Check: run / test-cygwin
  • GitHub Check: DevContainer Build & Test
  • GitHub Check: test
🔇 Additional comments (7)
README.md (1)

30-30: Good documentation consolidation.

Removing the redundant standalone vendoring reference and retaining the inline link streamlines the documentation flow and aligns with the restructuring objectives.

doc/vendoring.rst (1)

325-334: Verify no unintended duplication in real-world projects sections.

The AI summary indicates that the "Real world projects using Dfetch" section appears twice, resulting in duplicates. However, the provided code shows it only once. Please verify that this section is not duplicated elsewhere in the file.

doc/troubleshooting.rst (2)

6-11: Excellent restructuring for clarity and user guidance.

The step-by-step diagnostic approach is well-organized and addresses the most common troubleshooting needs in a logical order. This significantly improves the user experience compared to unstructured guidance.


22-22: No action needed. The asciinema resource file asciicasts/environment.cast exists and is correctly referenced at the documented location in the repository.

doc/installation.rst (1)

1-75: Installation documentation is well-structured and comprehensive.

The new installation page clearly covers all installation methods (pip, binary distributions for all major platforms) and includes validation steps. The use of tabs for platform-specific instructions follows documentation best practices and improves readability.

doc/index.rst (2)

31-31: Installation entry in toctree correctly positioned.

Adding installation to the toctree before getting_started provides logical navigation flow—users can learn how to install before proceeding to basic usage. This aligns well with the new dedicated installation documentation.


56-57: No action needed—the external link is current and well-maintained.

The referenced article was updated January 2, 2024 and covers modern dependency management tools (Conan, vcpkg, CPM) and strategies, making it a valid and current reference for the documentation.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 826eb62 and 30769fc.

📒 Files selected for processing (3)
  • doc/installation.rst
  • doc/troubleshooting.rst
  • doc/vendoring.rst
🚧 Files skipped from review as they are similar to previous changes (2)
  • doc/troubleshooting.rst
  • doc/vendoring.rst
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2026-01-02T22:46:45.589Z
Learnt from: spoorcc
Repo: dfetch-org/dfetch PR: 904
File: script/package.py:10-18
Timestamp: 2026-01-02T22:46:45.589Z
Learning: In dfetch's script/package.py, importing dfetch.__version__ directly is acceptable and intentional; if dfetch is not installed in the environment, the packaging job should fail explicitly rather than handling the import error gracefully.

Applied to files:

  • doc/installation.rst
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (18)
  • GitHub Check: Publish Python distribution 📦 to TestPyPI
  • GitHub Check: build / build (ubuntu-latest)
  • GitHub Check: build / build (windows-latest)
  • GitHub Check: build / build (macos-latest)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: run / run (ubuntu-latest, 3.9)
  • GitHub Check: run / run (windows-latest, 3.12)
  • GitHub Check: run / run (ubuntu-latest, 3.12)
  • GitHub Check: run / run (windows-latest, 3.14)
  • GitHub Check: run / run (windows-latest, 3.9)
  • GitHub Check: run / run (macos-latest, 3.10)
  • GitHub Check: run / run (ubuntu-latest, 3.13)
  • GitHub Check: run / run (windows-latest, 3.11)
  • GitHub Check: run / run (windows-latest, 3.10)
  • GitHub Check: run / run (windows-latest, 3.13)
  • GitHub Check: run / test-cygwin
  • GitHub Check: test
  • GitHub Check: DevContainer Build & Test
🔇 Additional comments (4)
doc/installation.rst (4)

10-20: Clear and comprehensive pip installation guidance.

The section correctly covers both stable releases (from PyPI) and development releases (from git), providing users with straightforward options.


25-37: Well-documented version and platform naming scheme.

The explanation of version conventions (dev vs. release numbers) and platform codes (nix, osx, win) is clear and helpful for users navigating the releases page.


39-75: Good use of tabbed platform-specific instructions.

The sphinx-tabs layout provides a clean, user-friendly way to present Linux, macOS, and Windows installation steps separately. Each platform section is accurate and includes appropriate package managers and installation methods.


77-86: No issues found. The asciinema file exists at the correct path (doc/asciicasts/environment.cast), and the sphinxcontrib_asciinema extension is properly configured in doc/conf.py.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
doc/alternatives.rst (1)

21-21: Broken reference link: typo in CMake ExternalProject reference label.

Line 21 references CMake ExternalProject_, but the reference definition on line 71 uses CMAke ExternalProject (note the capital M and A). This mismatch will cause the link to fail during documentation rendering.

🔎 Proposed fix
-.. _`CMAke ExternalProject`: https://cmake.org/cmake/help/latest/module/ExternalProject.html
+.. _`CMake ExternalProject`: https://cmake.org/cmake/help/latest/module/ExternalProject.html

Also applies to: 71-71

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 30769fc and 45ef3a9.

📒 Files selected for processing (10)
  • doc/alternatives.rst
  • doc/contributing.rst
  • doc/getting_started.rst
  • doc/index.rst
  • doc/installation.rst
  • doc/legal.rst
  • doc/manifest.rst
  • doc/manual.rst
  • doc/troubleshooting.rst
  • doc/vendoring.rst
✅ Files skipped from review due to trivial changes (4)
  • doc/getting_started.rst
  • doc/manual.rst
  • doc/contributing.rst
  • doc/manifest.rst
🚧 Files skipped from review as they are similar to previous changes (4)
  • doc/index.rst
  • doc/troubleshooting.rst
  • doc/installation.rst
  • doc/vendoring.rst
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2026-01-02T22:46:45.589Z
Learnt from: spoorcc
Repo: dfetch-org/dfetch PR: 904
File: script/package.py:10-18
Timestamp: 2026-01-02T22:46:45.589Z
Learning: In dfetch's script/package.py, importing dfetch.__version__ directly is acceptable and intentional; if dfetch is not installed in the environment, the packaging job should fail explicitly rather than handling the import error gracefully.

Applied to files:

  • doc/legal.rst
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (14)
  • GitHub Check: build / build (windows-latest)
  • GitHub Check: build / build (macos-latest)
  • GitHub Check: build / build (ubuntu-latest)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: run / run (windows-latest, 3.14)
  • GitHub Check: run / run (windows-latest, 3.9)
  • GitHub Check: run / run (windows-latest, 3.13)
  • GitHub Check: run / run (windows-latest, 3.11)
  • GitHub Check: run / run (windows-latest, 3.10)
  • GitHub Check: run / run (windows-latest, 3.12)
  • GitHub Check: run / run (macos-latest, 3.12)
  • GitHub Check: run / test-cygwin
  • GitHub Check: test
  • GitHub Check: DevContainer Build & Test
🔇 Additional comments (2)
doc/alternatives.rst (1)

1-12: Content restructuring looks good.

The expanded introductory content on lines 8–12 clearly describes the different approaches alternatives take, and the note about compatibility provides helpful context for readers choosing among tools.

doc/legal.rst (1)

1-1: LGTM—straightforward documentation cleanup.

Removing the .. Dfetch documentation master file directive is a harmless documentation-only change aligned with the broader restructuring mentioned in this PR. RST files tolerate leading blank lines without issue, and all legal notices remain properly formatted with correct license texts and references intact.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 45ef3a9 and 6bfcd80.

📒 Files selected for processing (3)
  • CHANGELOG.rst
  • doc/conf.py
  • pyproject.toml
✅ Files skipped from review due to trivial changes (1)
  • CHANGELOG.rst
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (17)
  • GitHub Check: Publish Python distribution 📦 to TestPyPI
  • GitHub Check: build / build (windows-latest)
  • GitHub Check: build / build (macos-latest)
  • GitHub Check: build / build (ubuntu-latest)
  • GitHub Check: build / Build wheel 📦
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: run / run (windows-latest, 3.11)
  • GitHub Check: run / run (ubuntu-latest, 3.11)
  • GitHub Check: run / run (ubuntu-latest, 3.13)
  • GitHub Check: run / run (macos-latest, 3.10)
  • GitHub Check: run / run (windows-latest, 3.9)
  • GitHub Check: run / run (windows-latest, 3.14)
  • GitHub Check: run / run (windows-latest, 3.13)
  • GitHub Check: run / run (windows-latest, 3.10)
  • GitHub Check: run / run (windows-latest, 3.12)
  • GitHub Check: run / test-cygwin
  • GitHub Check: test
🔇 Additional comments (1)
doc/conf.py (1)

43-43: LGTM! Sphinx autoissues extension configured correctly.

The extension is properly added to the extensions list and configured for GitHub issue tracking. The configuration correctly points to the dfetch-org/dfetch repository.

Note: This depends on fixing the package name typo in pyproject.toml (Line 101) from sphix-autoissues to sphinx-autoissues.

Also applies to: 96-98

@spoorcc spoorcc changed the title Update docs Cleanup documentation and make it more readable Jan 3, 2026
@spoorcc spoorcc added the documentation Improvements or additions to documentation label Jan 3, 2026
@spoorcc spoorcc merged commit 771f715 into main Jan 3, 2026
39 checks passed
@spoorcc spoorcc deleted the doc-update branch January 3, 2026 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants