Skip to content

[RFC] README.rst generator #335

@sbidoul

Description

@sbidoul

This follows #295 and a discussion with @elicoidal while working on the mis builder documentation.

Currently the README.rst is created manually by module authors. It contains

  • a mix of hand-written information (description, usage, credits, etc),
  • boiler plate OCA text (eg reference to OCA maintainers, link to runbot, link to issue tracker),
  • some information that is redundant with the manifest (eg license badge)

The current situation makes it difficult to maintain consistency across OCA addons in the boilerplate text. It also makes it difficult to ensure consistency between the manifest and the README (eg for the license badge and the upcoming development status).

This is a proposal to let authors write the relevant text in small files and have the README.rst be generated nightly.

Proposal

Let authors create reStructuredText fragments in the addon root directory,:

  • introduction.rst
  • installation.rst (optional)
  • configuration.rst (optional)
  • usage.rst
  • developer.rst (optional, developer instructions)
  • roadmap.rst (optional, known issues, future ideas)
  • contributors.rst (optional)
  • credits.rst (optional, additional credits other than authors and contributors)
  • history.rst (optional, the changelog)

Each rst fragment should be composed of body text (paragraph, lists, tables, images) and must not contain any section title.

Create a new script oca-gen-addon-readme that generates README.rst for each addon in a repo where introduction.rst and usage.rst are present. The sections content is drawn from the rst files. Section titles are not generated if the corresponding rst file is absent. Title, license badge and development status badge are obtained from the addon manifest. If introduction.rst or usage.rst is missing, README.rst is left unchanged.

Update the nightly job that updates repos README.md to invoke oca-gen-addon-readme too.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions