Problem
We currently have three separate places defining standards, with overlap, gaps, and conflicts:
| Location |
What It Covers |
Gap |
azurelocal.github.io/standards/ (Docusaurus site) |
Documentation, scripting, provisioning, infrastructure, variable mgmt, solutions, naming conventions (v3.1) |
Written for TierPoint ProdTech context — needs adaptation for the AzureLocal org |
project_management/repo-standard.md |
Repo structure checklist: required files, labels, naming, release-please, workflows |
Good scaffold but no scripting, variable, or IaC depth |
azurelocal-sofs-fslogix/docs/standards/ |
Scripts, docs, variables, solutions, examples |
Repo-specific — duplicates and diverges from the site standards |
Specific Conflicts Discovered
- Naming:
repo-standard.md says Verb-Noun.ps1 for scripts; the SOFS standards add Ansible/CLI conventions not in repo-standard; the Docusaurus site has the most comprehensive naming doc (v3.1) covering files, directories, variables, VMware, networking, git — but it's not referenced by any other repo
- Documentation:
repo-standard.md says "MkDocs Material with golden config"; the Docusaurus site defines full documentation standards with frontmatter, badge library, admonitions, MDX reference — none of this is shared to MkDocs repos
- Fictional company: SOFS repo and Docusaurus site both use "Infinite Improbability Corp (IIC)" but
repo-standard.md doesn't mention it — some repos may still use contoso
- No enforcement mechanism: Standards exist in docs but nothing validates compliance across repos
Proposed Solution
1. Create a Single Standards Source of Truth
Use the Docusaurus site's standards/ section (already the most mature) as the authoritative org-wide reference. All repos link to it.
2. Adopt a Tiered Model
- Org-level standards (apply to ALL repos): naming conventions, required files, labels, commit messages, branch names, fictional company policy, documentation structure, variable naming rules
- Repo-level standards (solution-specific): solution-specific variable sections, tool-specific conventions
3. Consolidate from Three Sources
Use the Docusaurus site's standards/ as the base since it's the most comprehensive:
- Merge
repo-standard.md's repo checklist into the org standards
- Merge SOFS repo's standards into the org standards (remove duplication from SOFS repo, replace with links)
4. Add Enforcement
- CI workflow that validates repo structure against the standard (required files, labels)
- Linting for variable naming (
snake_case, max 50 chars)
- PR template checklist referencing the standards
5. Each Repo Points to Central Standards
Via a standards/ symlink, README reference, or CONTRIBUTING.md link.
Standards Categories to Unify
| Category |
Best Source Available |
Key Decisions |
| Repo Structure |
repo-standard.md |
Already good — add variable/config directory standard |
| Naming Conventions |
Docusaurus naming-conventions.mdx (v3.1) |
Most comprehensive — adopt as-is, adapt branding |
| Documentation |
Docusaurus documentation-standards.mdx |
Adapt for both Docusaurus and MkDocs repos |
| Scripting |
Docusaurus scripting-standards.mdx + SOFS scripts.md |
Merge — Docusaurus has more depth, SOFS has Ansible/CLI |
| Variables |
Docusaurus variable-management/ suite |
See companion issue on variable management |
| Solutions/IaC |
Docusaurus solution-development-standard.mdx + SOFS solutions.md |
Merge — multi-tool parity from Docusaurus, simplified patterns from SOFS |
| Examples |
SOFS examples.md |
Good template — adopt org-wide |
| Fictional Company |
Both already use IIC |
Formalize as mandatory org-wide policy |
Repos in Scope
azurelocal.github.io (community portal / central docs)
azurelocal-toolkit (platform toolkit)
azurelocal-sofs-fslogix (SOFS + FSLogix solution)
aurelocal-avd (Azure Virtual Desktop solution)
azurelocal-loadtools (load testing tools)
azurelocal-vm-conversion-toolkit (VM conversion)
Acceptance Criteria
Problem
We currently have three separate places defining standards, with overlap, gaps, and conflicts:
azurelocal.github.io/standards/(Docusaurus site)project_management/repo-standard.mdazurelocal-sofs-fslogix/docs/standards/Specific Conflicts Discovered
repo-standard.mdsaysVerb-Noun.ps1for scripts; the SOFS standards add Ansible/CLI conventions not in repo-standard; the Docusaurus site has the most comprehensive naming doc (v3.1) covering files, directories, variables, VMware, networking, git — but it's not referenced by any other reporepo-standard.mdsays "MkDocs Material with golden config"; the Docusaurus site defines full documentation standards with frontmatter, badge library, admonitions, MDX reference — none of this is shared to MkDocs reposrepo-standard.mddoesn't mention it — some repos may still usecontosoProposed Solution
1. Create a Single Standards Source of Truth
Use the Docusaurus site's
standards/section (already the most mature) as the authoritative org-wide reference. All repos link to it.2. Adopt a Tiered Model
3. Consolidate from Three Sources
Use the Docusaurus site's
standards/as the base since it's the most comprehensive:repo-standard.md's repo checklist into the org standards4. Add Enforcement
snake_case, max 50 chars)5. Each Repo Points to Central Standards
Via a
standards/symlink, README reference, or CONTRIBUTING.md link.Standards Categories to Unify
repo-standard.mdnaming-conventions.mdx(v3.1)documentation-standards.mdxscripting-standards.mdx+ SOFSscripts.mdvariable-management/suitesolution-development-standard.mdx+ SOFSsolutions.mdexamples.mdRepos in Scope
azurelocal.github.io(community portal / central docs)azurelocal-toolkit(platform toolkit)azurelocal-sofs-fslogix(SOFS + FSLogix solution)aurelocal-avd(Azure Virtual Desktop solution)azurelocal-loadtools(load testing tools)azurelocal-vm-conversion-toolkit(VM conversion)Acceptance Criteria
docs/standards/either removed or replaced with links to central