diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000..7a0fe2da --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,62 @@ +name: Bug report +description: Report a bug or unexpected behavior in Cot +type: bug +body: + - type: markdown + attributes: + value: | + Thank you for taking the time to report a bug! Please fill out the sections below to help us reproduce and fix it. + + If you're unsure whether this is a bug, consider opening a [discussion](https://github.com/cot-rs/cot/discussions/new/choose) or joining our [Discord server](https://discord.cot.rs/) first. + + - type: textarea + id: description + attributes: + label: Description + description: A clear and concise description of the bug — what happened and what you expected to happen instead. + placeholder: | + When I do X, Y happens. I expected Z to happen instead. + validations: + required: true + + - type: textarea + id: reproduction + attributes: + label: Steps to reproduce + description: | + Provide a [Minimal, Complete, and Verifiable example](https://stackoverflow.com/help/mcve) that demonstrates the bug. The easier it is to reproduce, the faster we can fix it. + placeholder: | + 1. Create a project with `cot new my-app` + 2. Add the following to `src/main.rs`: ... + 3. Run `cargo run` + 4. See error: ... + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What did you expect to happen? + validations: + required: true + + - type: textarea + id: environment + attributes: + label: Environment + description: Please fill in the details below. + value: | + **Cot version**: + **Rust environment**: + ``` + // Output of `rustc --version --verbose` + ``` + validations: + required: true + + - type: textarea + id: context + attributes: + label: Additional context + description: Any other information that might be relevant — logs, error messages, related issues, etc. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..55cc0397 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: Ask a question or share feedback + url: https://github.com/cot-rs/cot/discussions/new/choose + about: Use GitHub Discussions for questions, ideas, or general feedback. + - name: Chat with us on Discord + url: https://discord.cot.rs/ + about: Join our Discord server for real-time discussion and help. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000..a0242b8a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,46 @@ +name: Feature request +description: Propose a new feature or improvement for Cot +type: feature +body: + - type: markdown + attributes: + value: | + Thank you for helping shape Cot! Before opening a feature request, consider starting a [discussion](https://github.com/cot-rs/cot/discussions/new/choose) or joining our [Discord server](https://discord.cot.rs/) to get early feedback. + + - type: textarea + id: problem + attributes: + label: Problem statement + description: What problem are you trying to solve? Help us understand the motivation before jumping to solutions. + placeholder: | + Currently, I have to do X every time I want to Y, which is tedious because... + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed solution + description: Describe what you'd like Cot to support. Include API sketches or code examples if possible. + placeholder: | + Cot could provide a `#[derive(Foo)]` macro that automatically... + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: What other approaches did you consider, and why aren't they sufficient? + + - type: textarea + id: drawbacks + attributes: + label: Drawbacks + description: Are there any downsides or trade-offs to your proposed solution? + + - type: textarea + id: context + attributes: + label: Additional context + description: Any other relevant information, links to prior art, or related issues. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..44b8d822 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,28 @@ +## Related issue or discussion + + + +## Description + + + +## Type of change + +- [ ] Bug fix +- [ ] New feature +- [ ] Documentation +- [ ] Refactor / cleanup +- [ ] Performance improvement +- [ ] Other (describe above) + +## Checklist + +- [ ] I've read the [contributing guide](CONTRIBUTING.md) +- [ ] Tests pass locally (`just test-all`) +- [ ] Code passes clippy (`just clippy`) +- [ ] Code is properly formatted (`cargo fmt`) +- [ ] New tests added (regression test for bugs, coverage for new features) +- [ ] Documentation (both code and site) updated (if applicable) + + diff --git a/README.md b/README.md index a2caa691..faf03818 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,11 @@