Repository files navigation
1. Languages & Build Tools
Primary Language: Kotlin (built with Gradle using Kotlin DSL).
Secondary Language: Python (restricted to small scripts or lightweight web services).
Fallback: Follow canonical language guidelines (e.g., Pkl formatter for Pkl). Match surrounding code style.
2. Code Quality & Formatting
Formatters: Kotlin must use ktfmt (GoogleStyle). Python must use black.
Enforcement: GitHub Actions CI pipelines must fail on unformatted code.
Documentation: Write self-documenting code. Use KDoc for Kotlin.
Requirement: Unit tests are mandatory for all components.
Enforcement: GitHub Actions CI pipelines will automatically execute tests on all pull requests. Builds will fail if tests do not pass.
4. Repository Structure & Execution
Required Files:
README.md: Must contain repository intent and comprehensive usage instructions.
ATTRIBUTIONS.md: Must list third-party libraries and author information.
Portability: Projects must be entirely self-contained.
Docker: Runnable projects must have a GitHub Actions CI pipeline that automatically produces a Docker image.
5. Git & Contribution Workflow
Versioning: All releases and tags must strictly adhere to Semantic Versioning (SemVer).
Commits: Strictly follow Conventional Commits. GitHub Actions CI linting will fail on invalid messages.
Branching: Main repositories are restricted to develop, main/master, and release branches.
Pull Requests (Stabilized Repos):
All contributions must be PRs originating from a fork and targeting the develop branch.
Use the mandatory PR template.
Code Review Requirements: Pull requests require at least one approval from an authorized reviewer before merging is permitted.
Issues: Report via GitHub issues strictly using the issue template.
Tooling: Python deployment scripts utilizing EnOSLib are absolutely required.
Reproducibility: Zero hidden information is permitted. Anyone must be able to reproduce the results exactly using the provided deployment files.
Policy: Discouraged. Only use AI tools if you possess a deep understanding of the generated output and assume complete responsibility for the code.
You can’t perform that action at this time.