Skip to content

Guidelines for the crate level documentation : fixing the inconsistencies #1944

Open
@tguichaoua

Description

@tguichaoua

The problem

There is not guidelines on how to make the docs for the internal crates.
#3492 is completed little by little by many people leading to a lot of inconsistency in the documentations.

Here's an example if you search for "prelude" on docs.rs :

image

If we look at the first sentence of the docs they generally mention Bevy, but sometimes it's called "the Bevy game engine" and other times "the game engine Bevy" or just "Bevy".

bevy_math

//! Provides math types and functionality for the Bevy game engine.

bevy_animation

//! Animation for the game engine Bevy

bevy_gizmos

//! This crate adds an immediate mode drawing api to Bevy for visual debugging.

bevy_app

//! This crate is about everything concerning the highest-level, application layer of a Bevy app.

bevy_winit didn't even mention Bevy (also, it's missing a full stop).

//! `bevy_winit` provides utilities to handle window creation and the eventloop through [`winit`]

bevy_time includes a README

#![doc = include_str!("../README.md")]

Also crate attributes are placed before the docs and sometime after.

#![allow(clippy::type_complexity)]
#![warn(missing_docs)]

Roadmap

  1. Have a discussion to establish rules for documentation and create a guidelines file in the .github/contributing directory.
  2. Open a PR to apply the rules on the existing docs.
  3. Use the guidelines for the future contributions to #3492.

Points to discuss

  • The docs on prelude modules
    • Always the same sentence (e.g. Commonly used items)?
    • Use the crate's name (e.g The Bevy Time prelude)? Should the crate's name be CamelCase or snake_case?
  • Crates attributes before or after the crate docs? (I open a discussion on the rust forum with a poll and another one on reddit)
  • Should Bevy be mentionned ? If yes, just Bevy, the Bevy game engine, the game engine Bevy or anything else ? Does it also include a link to the Bevy website?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions