Skip to content

Standardize repository tooling, build configuration, and documentation #28

Description

@rent-a-developer

Description

Make the development and AI workflows consistent and easier to maintain. Preserve all public APIs, runtime behavior, package identities, and dependency floors.

  • Move the produced version into the root build props and every dependency version into central package management. Separate the shared, shipping, and test settings, and validate the package contents and API compatibility against the last published version.
  • Add dependency auditing so transitive advisories become visible.
  • Align the C# style, member ordering, and pinned tools. Use two spaces for all XML configuration.
  • Make every script check preserve the source and the Git index, so a check never rewrites the tree. Fixing stays an explicit action.
  • Keep the executed Native AOT and minimum-SDK consumer gates, and prove that they use the exact local package artifacts.
  • Align CI, quarterly Dependabot updates, issue forms, and pull request guidance.
  • Consolidate the AI instructions, the focused review agents, and hooks that format only the triggering edit. Align the commit, branch, and changelog rules.
  • Keep the README short and put the longer material in docs/guides/ and docs/reference/. Move the DocFX configuration to build/docfx and the generated output to artifacts. The community health files stay at the repository root and are published from there.
  • Apply the repository-wide formatting and ordering pass last, through the finished scripts.

Acceptance

  • Every phase of the implementation plan is complete and its evidence is recorded.
  • Build, test, packaging, native-consumer, and documentation checks pass. Unavailable checks are named explicitly.
  • Shipping C# changes are mechanical only. The compiled API and the package contracts are unchanged.
  • Hook scope, non-mutating checks, documentation links, tool-version agreement, and local-package provenance are verified by hand.

Notes

The branch is merged with a merge commit, never squashed, because .git-blame-ignore-revs records the mechanical commit IDs.

Activity

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

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions