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 @@

Cot

[![Rust Build Status](https://github.com/cot-rs/cot/workflows/Rust%20CI/badge.svg)](https://github.com/cot-rs/cot/actions/workflows/rust.yml) +[![codecov](https://codecov.io/gh/cot-rs/cot/branch/master/graph/badge.svg)](https://codecov.io/gh/cot-rs/cot) [![crates.io](https://img.shields.io/crates/v/cot.svg)](https://crates.io/crates/cot) [![Guide](https://img.shields.io/website?url=https%3A%2F%2Fcot.rs%2Fguide%2Flatest%2F&label=guide&up_message=online)](https://cot.rs/guide/latest/) [![Documentation](https://docs.rs/cot/badge.svg)](https://docs.rs/cot) -[![codecov](https://codecov.io/gh/cot-rs/cot/branch/master/graph/badge.svg)](https://codecov.io/gh/cot-rs/cot) +
[![Discord chat](https://img.shields.io/discord/1330137289287925781?logo=Discord&logoColor=white)](https://discord.cot.rs) [![GitHub Sponsors](https://img.shields.io/github/sponsors/cot-rs?label=GitHub%20sponsors)](https://github.com/sponsors/cot-rs) [![Open Collective backers](https://img.shields.io/opencollective/backers/cot?label=Open%20Collective%20backers)](https://opencollective.com/cot) @@ -63,6 +64,8 @@ cargo run **We recommend you to read the [official guide](https://cot.rs/guide/latest/) to learn more about Cot and how to use it.** +Got interested or have questions? Join our [Discord server](https://discord.cot.rs/) — we'd love to hear from you! + ### cot-cli packages If you prefer to use your operating system's package manager to manage the `cot-cli` package, you can find it in the @@ -73,21 +76,9 @@ manager might not be the latest one, so we recommend just using the official pac ## Development -### Testing - -Tests that require using external databases are ignored by default. In order to run them, execute the following in the -root of the repository: - -```shell -docker compose up -d -cargo test --all-features -- --include-ignored -``` - -You can them execute the following command to stop the database: +If you want to contribute to Cot, please read the [contributing guide](https://cot.rs/guide/latest/contributing). It will guide you through the process of setting up your development environment and making contributions. -```shell -docker compose down -``` +Thanks in advance for your contributions — every contribution is appreciated! ## Star History @@ -99,6 +90,15 @@ docker compose down +## Sponsorship + +Cot is an independent, open-source project. If you find it useful, please consider sponsoring its development — your support helps us dedicate more time to building and maintaining the framework. + +- [GitHub Sponsors](https://github.com/sponsors/cot-rs) +- [Open Collective](https://opencollective.com/cot) + +A huge thank you to all our existing sponsors — your generosity makes this project possible! + ## Contributors