Skip to content

Add the contributing section#24

Open
Arctis-Fireblight wants to merge 4 commits into
Redot-Engine:masterfrom
Arctis-Fireblight:contributing
Open

Add the contributing section#24
Arctis-Fireblight wants to merge 4 commits into
Redot-Engine:masterfrom
Arctis-Fireblight:contributing

Conversation

@Arctis-Fireblight

@Arctis-Fireblight Arctis-Fireblight commented Jun 28, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features
    • Added a new “Contributing” section to the versioned documentation experience.
  • Documentation
    • Added extensive new contributor guides, including best practices, style guidelines, platform build steps, debugging/profiling, sanitizers, IDE setup, testing, and core engine/reference primers.
  • Bug Fixes
    • Improved documentation parsing so section slugs are always stable and non-empty.
    • Refined display-name formatting for ranked documentation entries.
  • UI / Styling
    • Updated desktop sidebar width and adjusted navbar toggler and navigation indentation styling.

- Increased the size of the nav-bar to accomadate deeper nesting and longer names
- Fixed handling of index.md files
@Arctis-Fireblight Arctis-Fireblight self-assigned this Jun 28, 2026
@coderabbitai

coderabbitai Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Adds a Contributing docs section to versioning, adjusts sidebar layout CSS, and adds extensive new contributor documentation across workflows, build guides, IDE setup, core/module references, debugging, editor guidance, and documentation-writing topics.

Changes

Versioning and layout wiring

Layer / File(s) Summary
Section and provider updates
Redot-Documentation/Versioning/Section.cs, Redot-Documentation/Versioning/VersionProvider.cs
Section.LoadAndParse() defaults empty slugs from the section name, and VersionProvider adds, loads, and ranks ContributingSection.
Layout width and indentation
Redot-Documentation/Components/Layout/MainLayout.razor.css, Redot-Documentation/Components/Layout/NavMenu.razor.css
Desktop sidebar width changes to 350px; navbar toggler width changes to 5.5rem; nav indentation formulas are updated.

Contributing documentation content

Layer / File(s) Summary
Contributor workflow pages
docs/Contributing/how_to_contribute.md, docs/Contributing/Workflow/*
Adds onboarding, PR workflow, review, testing, triage, and bisecting pages for contributor workflows.
Development standards and API compatibility
docs/Contributing/Development/best_practices_for_engine_contributors.md, docs/Contributing/Development/code_style_guidelines.md, docs/Contributing/Development/cpp_usage_guidelines.md, docs/Contributing/Development/handling_compatibility_breakages.md
Adds contributor best practices, code-style rules, C++ usage constraints, and compatibility-breakage guidance.
Build and compile guides
docs/Contributing/Development/compiling/*
Adds source acquisition, buildsystem, size optimization, per-platform compiling, .NET, encryption key, and cross-compiling guides.
IDE setup pages
docs/Contributing/Development/configuring_an_ide/*
Adds setup guides for Android Studio, CLion, Code::Blocks, KDevelop, Qt Creator, Rider, Visual Studio, Visual Studio Code, and Xcode.
Core and modules reference pages
docs/Contributing/Development/core_and_modules/*, docs/Contributing/Development/file_formats/*
Adds Variant, core types, Object, custom modules, external libraries, servers, audio streams, resource loaders, platform ports, scripting, unit testing, 2D coordinates, renderer architecture, grammar, TSCN, and engine macros pages.
Debugging and editor development
docs/Contributing/Development/debugging/*, docs/Contributing/Development/editor/*
Adds profiling, sanitizers, Vulkan validation, macOS debugging, editor development, icon creation, and editor style guidance pages.
Documentation contribution guidelines
docs/Contributing/Documentation/*
Adds documentation writing, image guidelines, manual building, class reference, localization, and documentation-contribution workflow pages.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • Redot-Engine/Redot-Documentation#19: Related VersionProvider and slug/path mapping changes affect the same docs-versioning pipeline as this PR’s Section.LoadAndParse() and ContributingSection updates.

Suggested labels

enhancement

🐇 I hop through docs with a tidy thump,
Slugs and sections now line up plump.
Sidebars widen, guides unfold,
New paths for builders, bright and bold.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main change: it adds a large new Contributing documentation section and related supporting docs.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

Note

Due to the large number of review comments, Critical severity comments were prioritized as inline comments.


ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 383ab185-9a04-4e95-b6cb-cb60f1f067d6

📥 Commits

Reviewing files that changed from the base of the PR and between 1a1e9fd and 9fed8ba.

⛔ Files ignored due to path filters (92)
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/files/class_tree.zip is excluded by !**/*.zip
  • Redot-Documentation/wwwroot/img/Contributing/Development/Compiling/andtemplates.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/Compiling/encryption_key.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/Compiling/lintemplates.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/Debugging/cpp_profiler_hotspot_flame_graph.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/Debugging/cpp_profiler_hotspot_record.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/Debugging/cpp_profiler_hotspot_view_results.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/Debugging/cpp_profiler_hotspot_welcome.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/Debugging/cpp_profiler_time_profiler.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/Debugging/cpp_profiler_time_profiler_record.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/Debugging/cpp_profiler_time_profiler_result.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/Debugging/cpp_profiler_verysleepy_results_filtered.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/Debugging/cpp_profiler_verysleepy_select_process.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/Debugging/cpp_profiler_xcode_menu.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/best_practices1.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/best_practices2.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/best_practices3.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/best_practices4.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/best_practices5.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/best_practices6.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/best_practices7.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/best_practices8.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/android_studio_setup_project_1.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/clion-add-configuration.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/clion-add-custom-build-application.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/clion-build-run.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/clion-create-clean-tool.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/clion-external-tools.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/clion-preferences.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/clion-run-configuration.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/clion-select-tools.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/clion-target.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_block_use_tab_character.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_add_files_recursively.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_build_targets.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_compiler_and_configuration.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_file_new_project.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_new_empty_project.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_open_build_options.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_open_properties.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_project_properties.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_project_title_and_location.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_scons_clean.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_scons_minimum.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_scons_windows.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_select_files.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_update_editor_settings.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/code_blocks_wizard_welcome.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/kdevelop_addincludes.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/kdevelop_buildconfig.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/kdevelop_configlaunches.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/kdevelop_configlaunches2.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/kdevelop_custombuild.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/kdevelop_newproject.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/kdevelop_openconfig.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/qtcreator-apply-import-filter.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/qtcreator-edit-codestyle.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/qtcreator-edit-files-menu.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/qtcreator-new-project.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/qtcreator-options-cpp.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/qtcreator-project-name-includes.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/qtcreator-projects-build.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/qtcreator-run-command.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/qtcreator-set-project-path.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/qtcreator-set-scons-command.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/vs_1_install_cpp_package.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/vs_2_project_properties.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/vs_4_debugging_main.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/vscode_1_create_launch.json.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/vscode_2_launch.json.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/vscode_3_tasks.json.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/vscode_configure_task.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/vscode_create_tasksjson.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/vscode_create_tasksjson_others.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/core_and_modules/Node2D.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Development/core_and_modules/architecture_diagram.jpg is excluded by !**/*.jpg
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/editor-vocabulary-overview.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/l10n_01_language_list.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/l10n_02_new_translation.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/l10n_03_translation_overview.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/l10n_04_translation_interface.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/l10n_05_search_location.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/l10n_06_browse_by_location.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/l10n_07_download_po_file.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/l10n_08_edit_on_github.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/l10n_09_path_to_image.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Workflow/github_fork_button.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Workflow/github_fork_make_pr.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Workflow/github_fork_url.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Workflow/testing_pull_requests_access_fork.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Workflow/testing_pull_requests_fork_zip.png is excluded by !**/*.png
  • Redot-Documentation/wwwroot/img/Contributing/Workflow/testing_pull_requests_nightly_link.png is excluded by !**/*.png
📒 Files selected for processing (107)
  • Redot-Documentation/Components/Layout/MainLayout.razor.css
  • Redot-Documentation/Components/Layout/NavMenu.razor.css
  • Redot-Documentation/Versioning/Section.cs
  • Redot-Documentation/Versioning/VersionProvider.cs
  • Redot-Documentation/docs/Contributing/Development/best_practices_for_engine_contributors.md
  • Redot-Documentation/docs/Contributing/Development/code_style_guidelines.md
  • Redot-Documentation/docs/Contributing/Development/compiling/compiling_for_android.md
  • Redot-Documentation/docs/Contributing/Development/compiling/compiling_for_ios.md
  • Redot-Documentation/docs/Contributing/Development/compiling/compiling_for_linuxbsd.md
  • Redot-Documentation/docs/Contributing/Development/compiling/compiling_for_macos.md
  • Redot-Documentation/docs/Contributing/Development/compiling/compiling_for_web.md
  • Redot-Documentation/docs/Contributing/Development/compiling/compiling_for_windows.md
  • Redot-Documentation/docs/Contributing/Development/compiling/compiling_with_dotnet.md
  • Redot-Documentation/docs/Contributing/Development/compiling/compiling_with_script_encryption_key.md
  • Redot-Documentation/docs/Contributing/Development/compiling/cross-compiling_for_ios_on_linux.md
  • Redot-Documentation/docs/Contributing/Development/compiling/getting_source.md
  • Redot-Documentation/docs/Contributing/Development/compiling/introduction_to_the_buildsystem.md
  • Redot-Documentation/docs/Contributing/Development/compiling/optimizing_for_size.md
  • Redot-Documentation/docs/Contributing/Development/configuring_an_ide/android_studio.md
  • Redot-Documentation/docs/Contributing/Development/configuring_an_ide/clion.md
  • Redot-Documentation/docs/Contributing/Development/configuring_an_ide/code_blocks.md
  • Redot-Documentation/docs/Contributing/Development/configuring_an_ide/kdevelop.md
  • Redot-Documentation/docs/Contributing/Development/configuring_an_ide/qt_creator.md
  • Redot-Documentation/docs/Contributing/Development/configuring_an_ide/rider.md
  • Redot-Documentation/docs/Contributing/Development/configuring_an_ide/visual_studio.md
  • Redot-Documentation/docs/Contributing/Development/configuring_an_ide/visual_studio_code.md
  • Redot-Documentation/docs/Contributing/Development/configuring_an_ide/xcode.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/2d_coordinate_systems.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/binding_to_external_libraries.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/common_engine_methods_and_macros.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/core_types.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/custom_audiostreams.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/custom_godot_servers.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/custom_modules_in_cpp.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/custom_platform_ports.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/custom_resource_format_loaders.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/godot_architecture_diagram.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/inheritance_class_tree.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/internal_rendering_architecture.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/object_class.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/scripting_development.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/unit_testing.md
  • Redot-Documentation/docs/Contributing/Development/core_and_modules/variant_class.md
  • Redot-Documentation/docs/Contributing/Development/cpp_usage_guidelines.md
  • Redot-Documentation/docs/Contributing/Development/debugging/macos_debug.md
  • Redot-Documentation/docs/Contributing/Development/debugging/using_cpp_profilers.md
  • Redot-Documentation/docs/Contributing/Development/debugging/using_sanitizers.md
  • Redot-Documentation/docs/Contributing/Development/debugging/vulkan/vulkan_validation_layers.md
  • Redot-Documentation/docs/Contributing/Development/editor/creating_icons.md
  • Redot-Documentation/docs/Contributing/Development/editor/editor_style_guide.md
  • Redot-Documentation/docs/Contributing/Development/editor/introduction_to_editor_development.md
  • Redot-Documentation/docs/Contributing/Development/file_formats/gdscript_grammar.md
  • Redot-Documentation/docs/Contributing/Development/file_formats/tscn.md
  • Redot-Documentation/docs/Contributing/Development/handling_compatibility_breakages.md
  • Redot-Documentation/docs/Contributing/Documentation/building_the_manual.md
  • Redot-Documentation/docs/Contributing/Documentation/class_reference_primer.md
  • Redot-Documentation/docs/Contributing/Documentation/content_guidelines.md
  • Redot-Documentation/docs/Contributing/Documentation/contributing_to_the_documentation.md
  • Redot-Documentation/docs/Contributing/Documentation/docs_image_guidelines.md
  • Redot-Documentation/docs/Contributing/Documentation/docs_writing_guidelines.md
  • Redot-Documentation/docs/Contributing/Documentation/editor_and_docs_localization.md
  • Redot-Documentation/docs/Contributing/Documentation/updating_the_class_reference.md
  • Redot-Documentation/docs/Contributing/Workflow/bisecting_regressions.md
  • Redot-Documentation/docs/Contributing/Workflow/bug_triage_guidelines.md
  • Redot-Documentation/docs/Contributing/Workflow/first_steps.md
  • Redot-Documentation/docs/Contributing/Workflow/pr_review_guidelines.md
  • Redot-Documentation/docs/Contributing/Workflow/pr_workflow.md
  • Redot-Documentation/docs/Contributing/Workflow/testing_pull_requests.md
  • Redot-Documentation/docs/Contributing/how_to_contribute.md
  • Redot-Documentation/wwwroot/img/Contributing/Development/Compiling/wintemplates.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/android_studio_app_build_variant.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/android_studio_app_configurations_drop_down.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/android_studio_app_debug_type_setup.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/android_studio_editor_build_variant.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/android_studio_editor_configurations_drop_down.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/android_studio_editor_debug_type_setup.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/clion-create-build-tool.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/rider_attach_to_process.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/rider_attach_to_process_dialog.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/rider_configurations.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/rider_configurations_changed.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/rider_run_debug.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/vs_3_debug_command_line.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/vscode_edit_configurations.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/xcode_1_create_external_build_project.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/xcode_2_set_external_build_project_parameters.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/xcode_3_configure_scons.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/xcode_4_add_new_target.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/xcode_5_select_command_line_target.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/xcode_6_after_add_godot_source_to_project.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/xcode_7_setup_build_post_action.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/configuring_an_ide/xcode_8_setup_run_scheme.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/core_and_modules/Control.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/core_and_modules/Node2D.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/core_and_modules/Node3D.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/core_and_modules/Object.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/core_and_modules/RefCounted.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/core_and_modules/rendering_architecture_diagram.webp
  • Redot-Documentation/wwwroot/img/Contributing/Development/core_and_modules/transforms_overview.webp
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/crop_edit.webp
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/crop_pixels.webp
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/crop_tool.webp
  • Redot-Documentation/wwwroot/img/Contributing/Documentation/cropped_image.webp
  • Redot-Documentation/wwwroot/img/Contributing/Workflow/testing_pull_requests_access_checks.webp
  • Redot-Documentation/wwwroot/img/Contributing/Workflow/testing_pull_requests_checks_artifacts.webp
  • Redot-Documentation/wwwroot/img/Contributing/Workflow/testing_pull_requests_checks_artifacts_list.webp
  • Redot-Documentation/wwwroot/img/Contributing/Workflow/testing_pull_requests_command_line_checkout.webp

separation.
- Finally, third-party headers (either from ``thirdparty`` or from the system's
include paths) come next and should be included with the < and > symbols, e.g.
`[#include](png.h)`. The block of third-party headers should also be followed

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

Fix incorrect markdown link for #include <png.h>.

Line 156 shows [#include](png.h) which renders as a hyperlink instead of the intended include directive. This appears to be a conversion artifact where #include <png.h> was incorrectly transformed into a Markdown link.

-  `[`#include`](png.h)`. The block of third-party headers should also be followed
+  `#include <png.h>`. The block of third-party headers should also be followed

This occurs in the explanatory text about third-party header includes, so the angle brackets should be preserved as literal text or using &lt;/&gt; HTML entities.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
`[#include](png.h)`. The block of third-party headers should also be followed
`#include <png.h>`. The block of third-party headers should also be followed
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Redot-Documentation/docs/Contributing/Development/code_style_guidelines.md`
at line 156, The explanatory text in the third-party headers section has an
incorrect Markdown link for the `#include <png.h>` example, so update that text
to preserve the include directive as literal content instead of a hyperlink. Fix
the sentence in the Markdown content by using the proper `#include <png.h>` form
with escaped angle brackets or HTML entities, and make sure the surrounding
prose still reads naturally.

Source: Learnings

Comment on lines +242 to +250
```
cd platform/android/java
# On Windows
```

.\gradlew clean
# On Linux and macOS
./gradlew clean

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

Fix broken code block structure.

The code block starting at Line 242 is malformed. The Windows batch commands at Lines 247-250 appear outside the fenced block and the closing fence is missing or misplaced. Restructure as two separate fenced blocks or one properly fenced block with comments:

  • cd platform/android/java
    # On Windows
    .\gradlew clean
    # On Linux and macOS
    ./gradlew clean

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 markdownlint-cli2 (0.22.1)</summary>

[warning] 242-242: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

[warning] 248-248: Headings must start at the beginning of the line

(MD023, heading-start-left)

</details>

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
@Redot-Documentation/docs/Contributing/Development/compiling/compiling_for_android.md
around lines 242 - 250, The Android compiling section has a malformed fenced
code block, with the Windows and Linux/macOS commands sitting outside the
intended fence. Fix the Markdown in the documenting block by making the command
examples in the compiling_for_android content a properly closed fenced block, or
split them into separate fenced blocks if needed, so the shell commands under
the gradlew clean example are consistently enclosed and rendered correctly.


</details>

<!-- cr-indicator-types:potential_issue -->

<!-- cr-comment:v1:0e9c582d3c2199aa83a0c078 -->

<!-- This is an auto-generated comment by CodeRabbit -->

Comment on lines +1 to +8
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";

# Building the manual with Sphinx

This page explains how to build a local copy of the Redot manual using the
Sphinx docs engine. This allows you to have local HTML files and build the
documentation as a PDF, EPUB, or LaTeX file, for example.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🔴 Critical | 🏗️ Heavy lift

Remove Docusaurus imports and update title for current docs system.

The file title "Building the manual with Sphinx" and the Docusaurus Tabs/TabItem imports indicate this page describes a Sphinx-based build process. If the current Redot documentation uses a different build system (e.g., Blazor static site), this entire page needs rewriting. Remove the Docusaurus imports and verify/update the build instructions for the actual current system.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Redot-Documentation/docs/Contributing/Documentation/building_the_manual.md`
around lines 1 - 8, The page still references a Sphinx workflow and includes
Docusaurus-only imports, so update this document to match the current docs
stack. Remove the unnecessary Tabs/TabItem imports at the top of
building_the_manual.md, rename the heading from “Building the manual with
Sphinx” to the correct current system title, and rewrite the build steps to
describe the actual Redot documentation build process using the relevant docs
entry points or components instead of Sphinx-specific instructions.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Redot-Documentation/Versioning/IRanking.cs`:
- Around line 57-62: The display-name logic in `GetDisplayName()` is stripping
everything after the last dot, which breaks dotted section names coming from
`Section.LoadAndParse()` and `Section.Name`. Update this method to remove only
the `.md` suffix instead of using `LastIndexOf('.')`, so article names still
render cleanly while section names like `4.3` or `foo.bar` remain intact. Keep
the existing underscore-to-space replacement, and ensure the suffix handling is
limited to the file extension case only.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 237285cd-fa16-489e-9b3d-5a35e8338484

📥 Commits

Reviewing files that changed from the base of the PR and between 3373828 and 9f37425.

📒 Files selected for processing (1)
  • Redot-Documentation/Versioning/IRanking.cs

Comment on lines +57 to +62
string temp = Name.Replace('_', ' ');
int extensionLoc = temp.LastIndexOf('.');
if (extensionLoc > -1)
{
temp = temp.Substring(0, extensionLoc);
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Only strip the .md suffix here.

GetDisplayName() is used for sections too, and Section.LoadAndParse() builds Section.Name from directory names. With the current LastIndexOf('.') logic, any dotted section name gets truncated in the nav (4.34, foo.barfoo). Since the upstream caller already limits articles to *.md, this should remove only that suffix, not everything after the last dot.

Suggested fix
-        int extensionLoc = temp.LastIndexOf('.');
-        if (extensionLoc > -1)
-        {
-            temp = temp.Substring(0, extensionLoc);
-        }
+        if (temp.EndsWith(".md", StringComparison.OrdinalIgnoreCase))
+        {
+            temp = temp[..^3];
+        }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
string temp = Name.Replace('_', ' ');
int extensionLoc = temp.LastIndexOf('.');
if (extensionLoc > -1)
{
temp = temp.Substring(0, extensionLoc);
}
string temp = Name.Replace('_', ' ');
if (temp.EndsWith(".md", StringComparison.OrdinalIgnoreCase))
{
temp = temp[..^3];
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Redot-Documentation/Versioning/IRanking.cs` around lines 57 - 62, The
display-name logic in `GetDisplayName()` is stripping everything after the last
dot, which breaks dotted section names coming from `Section.LoadAndParse()` and
`Section.Name`. Update this method to remove only the `.md` suffix instead of
using `LastIndexOf('.')`, so article names still render cleanly while section
names like `4.3` or `foo.bar` remain intact. Keep the existing
underscore-to-space replacement, and ensure the suffix handling is limited to
the file extension case only.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant