This document outlines the standards and best practices for LizardByte repositories to ensure consistency, maintainability, and quality across all projects.
All repositories should follow a consistent structure:
repository-name/
├── .github/
│ ├── matchers/ # custom problem matchers
│ ├── workflows/
│ │ ├── _codeql.yml
│ │ └── _common-lint.yml
│ ├── dependabot.yml
│ └── semantic.yml
├── branding/ # project specific branding assets
├── docs/ # structure varies depending on the doc system used
├── src/ # main source code
├── tests/ # if there are tests
├── third-party/ # location of submodules if any
├── .gitignore
├── LICENSE
└── README.md or README.rst
Every repository must include:
- LICENSE: All projects must use an appropriate license
- README: Primary documentation in reStructuredText (.rst) or Markdown (.md) format
- .gitignore: Appropriate for the project's language and framework. See GitHub's collection for starter templates.
- .github/: Contains GitHub-specific configurations (workflows, issue templates, etc.)
- Be descriptive and concise
- Avoid abbreviations unless widely understood
- Use descriptive names with forward slashes for organization
- Format:
type/short-description - Types:
feat/,fix/,docs/,refactor/: see Convential Commits for a full list - Examples:
feat/user-authentication,fix/memory-leak,docs/api-reference
- Be consistent within each project
- Avoid spaces and special characters
For questions about these standards or exceptions, please open an issue in the .github repository or contact the maintainers.