Skip to content

Standardize reusable repository documentation roles #143

Description

@brainboxemb

Problem

Maintained reusable repositories currently answer the same engineering questions
with different document layouts. SCAD libraries have progressed furthest, while
tooling and the general meta layer still contain useful but weakly categorized
documentation.

The shared model is driven by reader questions, not by repository type.

A maintained reusable repository should make it easy to answer:

  1. why does this repository exist;
  2. why would I use it;
  3. how is it put together;
  4. how is it tested and qualified;
  5. how do I develop and maintain it;
  6. how do I use it as a consumer;
  7. who are the typical users and use cases.

Numbered documentation families

A maintained documentation collection uses a local README.md as its
overview/index and then stable numbered families:

README.md

10-00-plan.md

20-00-manuals.md
20-01-development.md
20-02-user.md
20-xx-...md

30-00-specification.md

40-00-design.md
40-xx-...md

50-00-verification.md
50-xx-...md

Generated documentation may additionally publish:

99-00-book.md

Numbered source files use <family>-<order>-<name>.md: the first number identifies the family, the second number gives stable ordering inside that family, and the remaining name uses normal kebab-case.

Examples:

20-00-manuals.md
20-10-engineering-workflow.md
20-11-git-workflow.md
20-12-versioning-and-releases.md

40-00-design.md
40-01-project-families.md
40-02-repository-tooling.md
40-03-generated-output.md

Primary ownership:

  • README / overview — documentation landing page / reading order;
  • 10 plan — current work and roadmap;
  • 20 manuals — how contributors and consumers actually work;
  • 30 specification — purpose, target users/use cases, why to use it,
    non-goals and desired behavior;
  • 40 design — architecture and responsibility boundaries;
  • 50 verification — how behavior/released interfaces are qualified;
  • 99 book — generated combined reading artifact, never a maintained
    authority.

README convention

Every maintained documentation collection/navigation directory uses a local
README.md as its overview/index.

Do not keep a duplicate 00-00_readme.md. Its alphabetical position in
GitHub's file list is accepted because native GitHub README rendering and one
authority are more valuable than forcing the overview to sort first.

This applies to repository doc/ / docs/ sets and domain documentation
collections. It does not force README files into every source-adjacent detail
directory that is not itself a documentation navigation boundary.

Root repository README.md and AGENTS.md remain repository entrypoints.

Repository-type differences

The families are common; content emphasis differs.

Tools normally need more manual material around CLI/configuration, managed
launchers, reusable workflows/actions and release lifecycle.

Libraries normally emphasize public API usage, consumer semantics and code-near
or generated API reference.

SCAD adds visual/component-local documentation where useful.

Initial application

Dogfood the model in this order before Migration 011 publishes its tooling
baseline:

  1. brainboxemb.meta itself — reorganize the general documentation into
    numbered manual/design families and keep domain-specific material in
    domains/;
  2. tool.git-project;
  3. tool.scad-project.

Useful existing documents are classified and retained instead of mechanically
rewritten.

After this is proven, audit other maintained tooling repositories such as
tool.java-project separately rather than silently expanding Migration 011.

Current-generation maintained SCAD libraries then adopt the same numbered
families during their Migration-011 refresh.

Completed experiment/PoP repositories are not maintenance targets for this
documentation rollout.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions