When contributing to this repository, please first discuss the change you wish to make via a GitHub issue, email, or Discord with the owners of this repository before making a change.
Please note we have a Code of Conduct, please follow it in all your interactions with the project.
- Search existing issues for duplicates before creating a new one.
- Keep individual issues for each suggestion, bug, or feature.
- Titles should use a scoped prefix for visibility, for example
[config] Harden profile merge orderor[generate] Port idempotent stack generation. - Use labels for taxonomy such as
feature,bug,refactor, ordocsrather than encoding taxonomy into the title itself.
- Make individual pull requests for each issue, and link the issue in the PR description.
- PR titles follow the format
<type>(<scope>): <brief summary>and stay aligned with the branch intent. - Do not stage files excluded by
.gitignore. - Commits should reference relevant issues or other PRs.
- Automated pull requests should follow the same branch naming conventions as contributor PRs.
Exhaustive unit tests are mandatory for all PRs, demonstrating the cases guarded against and extent of coverage.
<type>/<issue-number>-<short-description>
When no issue number exists yet, use <type>/<short-description> temporarily and link the branch to the issue as soon as it is created.
Supported types:
feat-- A new featurefix-- A bug fixchore-- Routine tasks, dependencies, and maintenancedocs-- Documentation only changesrefactor-- Code change that neither fixes a bug nor adds a featuretest-- Adding missing or correcting existing testsbuild-- Changes that affect the build system or toolingdependencies-- Updating external dependencies (distinct from build-system changes)ci-- Changes to CI configuration or automation scriptsrevert-- Reverting a previous commit
Examples:
feat/1208-implement-override-mergingfix/1177-template-drift-in-config-initdocs/1234-update-contributing-guidelinesci/update-deno-version
<type>(<scope>): <brief summary>
Scope should be a module area such as config, generate, render, cli, docker, secrets, or project.
Examples:
feat(config): add profile overlay discoveryfix(render): handle nested $VAR without braceschore(project): pin Deno version in CIdocs(contributing): clarify PR title format
Use the same format <type>(<scope>): <brief summary> and keep the title consistent with the branch intent.
- Run
deno task check(fmt, lint, type-check) and fix any issues. - Run
deno task testand confirm all tests pass (existing and new). - Run
deno task coverageand verify coverage targets are met (minimum 80% line coverage forsrc/). - Verify that no secrets, credentials, or local paths were committed.
See CODE_OF_CONDUCT.md for our community standards and enforcement policies.
Thank you for your contribution!