Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Code of Conduct

## Our Pledge

We as contributors and maintainers pledge to make participation in this project and
our community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity and
orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment include:

- Being respectful, constructive, and empathetic
- Giving and gracefully accepting actionable feedback
- Focusing on what is best for the community and project
- Showing courtesy and professionalism in public and private interactions

Examples of unacceptable behavior include:

- The use of sexualized language or imagery, and sexual attention or advances
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information without explicit permission
- Other conduct that could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Project maintainers are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior they deem inappropriate, threatening, offensive, or
harmful.

## Scope

This Code of Conduct applies in all project spaces and whenever an individual is
officially representing the project in public spaces.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the maintainers by opening a private security report as described in
[`SECURITY.md`](./SECURITY.md) or by contacting the repository owner through
GitHub.
Comment on lines +48 to +50
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Code of Conduct’s enforcement section instructs reporting CoC incidents via a “private security report” and links to SECURITY.md, but SECURITY.md is specifically about vulnerability reporting. This is inconsistent and may misroute CoC complaints; suggest providing a separate reporting path for CoC issues (e.g., direct contact method) and reserving SECURITY.md for security vulnerabilities.

Suggested change
reported to the maintainers by opening a private security report as described in
[`SECURITY.md`](./SECURITY.md) or by contacting the repository owner through
GitHub.
reported to the maintainers by contacting the repository owner through GitHub.

Copilot uses AI. Check for mistakes.

All complaints will be reviewed and investigated promptly and fairly.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
<https://www.contributor-covenant.org/version/2/1/code_of_conduct/>.

[homepage]: https://www.contributor-covenant.org
55 changes: 55 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Contributing to climate

Thanks for your interest in contributing.

## Before you start

- Search existing issues and pull requests to avoid duplicate work.
- For larger changes, open an issue first to discuss approach and scope.

## Required workflow for feature work

For feature changes, follow this sequence:

1. **Design first**
- Describe problem, goals, non-goals, API/CLI UX, and edge cases.
- Add or update design docs in `docs/`.
2. **Document behavior**
- Update user-facing docs (`README.md`, `docs/index.md`) when commands or capabilities change.
3. **Write tests**
- Add targeted unit tests for new logic before/with implementation.
4. **Implement code**
- Keep changes focused and consistent with project style.
5. **Update skills**
- Update `skills/climate.md` and `skills/climate-generator/SKILL.md` when command set or workflows change.
6. **Validate locally**
- Run:

```bash
go build ./...
go test ./...
```

7. **Validate CI health**
- Ensure PR checks are green before merge.

## Pull request expectations

- Keep PRs small and clearly scoped.
- Explain what changed and why.
- Include tests for behavior changes.
- Update docs and skills files when required.
- Ensure CI is green.

## Commit style

Use clear, imperative commit messages (for example: `Add security policy`).

## Reporting bugs and requesting features

Use the issue templates to provide all required context.

## Code of Conduct

By participating, you agree to abide by the
[Code of Conduct](./CODE_OF_CONDUCT.md).
56 changes: 56 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Bug report
description: Report a reproducible problem in climate
title: "bug: "
labels:
- bug
body:
- type: markdown
attributes:
value: |
Thanks for reporting a bug. Please provide enough detail to reproduce it.
- type: textarea
id: summary
attributes:
label: Summary
description: What happened?
placeholder: A clear and concise description of the bug.
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to reproduce
description: Exact steps, commands, and inputs.
placeholder: |
1. Run ...
2. Generate ...
3. Observe ...
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual behavior
validations:
required: true
- type: input
id: version
attributes:
label: climate version
placeholder: e.g. climate version output
- type: textarea
id: environment
attributes:
label: Environment
description: OS, architecture, Go version (if building from source), etc.
- type: textarea
id: logs
attributes:
label: Relevant logs/output
render: shell
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Security vulnerability report
url: https://github.com/disk0Dancer/climate/security/advisories/new
about: Please report vulnerabilities privately.
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Feature request
description: Suggest an enhancement for climate
title: "feat: "
labels:
- enhancement
body:
- type: markdown
attributes:
value: |
Thanks for the suggestion. Share the problem first, then your proposed solution.
- type: textarea
id: problem
attributes:
label: Problem statement
description: What problem are you trying to solve?
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed solution
description: What would you like to happen?
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Any alternatives or workarounds you've tried.
- type: textarea
id: context
attributes:
label: Additional context
description: Links, examples, or related issues.
24 changes: 24 additions & 0 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Security Policy

## Supported versions

Only the latest release is actively supported with security fixes.

## Reporting a vulnerability

Please do **not** report security vulnerabilities in public issues.

Instead, use GitHub's private vulnerability reporting for this repository:

- Go to the repository's **Security** tab
- Select **Report a vulnerability**

If private reporting is unavailable, contact the repository owner directly on
GitHub and include:

- A clear description of the issue
- Reproduction steps or proof of concept
- Potential impact
- Any suggested remediation

We will acknowledge reports as quickly as possible and work on a fix.
18 changes: 18 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## Summary

Describe the change and why it is needed.

## Changes

-
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR template includes an empty bullet under the "## Changes" section (- with no text). This renders as a blank list item and can confuse authors; consider removing the empty bullet or replacing it with an explicit placeholder instruction (e.g., “- <change 1>”).

Suggested change
-
- <change 1>

Copilot uses AI. Check for mistakes.

## Required workflow checklist

- [ ] Design doc added/updated (`docs/`) when applicable
- [ ] README/docs updated (`README.md`, `docs/index.md`) when behavior/UX changed
- [ ] Skills updated (`skills/climate.md`, `skills/climate-generator/SKILL.md`) when commands/workflows changed
- [ ] Tests added/updated
- [ ] Implementation kept focused and scoped
- [ ] `go build ./...` passes
- [ ] `go test ./...` passes
- [ ] CI checks are green
Loading