From 789e1a1176950b8021abb03dd6f45b8ae7b2479c Mon Sep 17 00:00:00 2001 From: Marcelo Date: Tue, 26 Nov 2024 22:33:28 -0300 Subject: [PATCH 1/2] feat: proposing guidelines and templates to contributing --- .github/ISSUE_TEMPLATE/issue_template_en.md | 31 ++++++++++ .github/ISSUE_TEMPLATE/issue_template_pt.md | 31 ++++++++++ .../pull_request_template_en.md | 16 +++++ .../pull_request_template_pt.md | 16 +++++ CONTRIBUTING.md | 61 +++++++++++++++++++ 5 files changed, 155 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/issue_template_en.md create mode 100644 .github/ISSUE_TEMPLATE/issue_template_pt.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/pull_request_template_en.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/pull_request_template_pt.md create mode 100644 CONTRIBUTING.md diff --git a/.github/ISSUE_TEMPLATE/issue_template_en.md b/.github/ISSUE_TEMPLATE/issue_template_en.md new file mode 100644 index 0000000..19c6c5b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue_template_en.md @@ -0,0 +1,31 @@ +# Issue Title + +## Description + +Please provide a clear and concise description of the issue. + +## Steps to Reproduce (for bugs) + +1. [ ] Step 1 +2. [ ] Step 2 +3. [ ] Step 3 + +## Expected Behavior + +Describe what you expected to happen. + +## Actual Behavior + +Describe what actually happened. + +## Additional Context + +Add any other relevant information or screenshots about the issue. + +## Environment Details + +- **Operating System**: (e.g., Ubuntu 20.04, macOS 13.0) +- **Rust Version**: (e.g., rustc 1.72.0) +- **Cargo Version**: (e.g., cargo 1.72.0) + +Thank you for helping us improve the project! diff --git a/.github/ISSUE_TEMPLATE/issue_template_pt.md b/.github/ISSUE_TEMPLATE/issue_template_pt.md new file mode 100644 index 0000000..896a7c8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue_template_pt.md @@ -0,0 +1,31 @@ +# Título da Issue + +## Descrição + +Por favor, forneça uma descrição clara e concisa do problema. + +## Passos para Reproduzir (para bugs) + +1. [ ] Passo 1 +2. [ ] Passo 2 +3. [ ] Passo 3 + +## Comportamento Esperado + +Descreva o que você esperava que acontecesse. + +## Comportamento Real + +Descreva o que realmente aconteceu. + +## Contexto Adicional + +Adicione qualquer outra informação relevante ou capturas de tela sobre o problema. + +## Detalhes do Ambiente + +- **Sistema Operacional**: (ex: Ubuntu 20.04, macOS 13.0) +- **Versão do Rust**: (ex: rustc 1.72.0) +- **Versão do Cargo**: (ex: cargo 1.72.0) + +Obrigado por nos ajudar a melhorar o projeto! diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template_en.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template_en.md new file mode 100644 index 0000000..bf332ce --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template_en.md @@ -0,0 +1,16 @@ +# Pull Request Title + +## Description + +Please include a summary of the changes and the related issue (if applicable). + +## Checklist + +- [ ] I have run `cargo fmt` to format the code. +- [ ] I have run `cargo test` and verified that all tests pass. +- [ ] I have added tests for the changes, if applicable. +- [ ] I have updated documentation, if applicable. + +## Verifying Conflicts with Main + +For detailed instructions, see [GitHub's guide on resolving merge conflicts](https://docs.github.com/en/get-started/using-git/resolving-merge-conflicts). \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template_pt.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template_pt.md new file mode 100644 index 0000000..b2d7136 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template_pt.md @@ -0,0 +1,16 @@ +# Título do Pull Request + +## Descrição + +Inclua um breve resumo das alterações e o problema relacionado (se aplicável). + +## Lista de Verificação + +- [ ] Executei o comando `cargo fmt` para formatar o código. +- [ ] Executei `cargo test` e verifiquei que todos os testes passaram. +- [ ] Adicionei testes para as alterações, se aplicável. +- [ ] Atualizei a documentação, se aplicável. + +## Verificando Conflitos com a Main + +Para instruções detalhadas, veja o [guia do GitHub sobre resolução de conflitos de mesclagem](https://docs.github.com/pt/get-started/using-git/resolving-merge-conflicts). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..8d8d5b1 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,61 @@ +# Contributing to the Project + +Thank you for considering contributing to this project! We welcome contributions from everyone. Please follow the guidelines below to help make the process smoother. + +## How to Contribute + +1. **Fork the repository**: Create your own copy of the repository by forking it to your GitHub account. +2. **Clone your fork**: Clone the forked repository to your local machine. + ```bash + git clone https://github.com/your-username/project-name.git + ``` +3. Create a branch: Create a new branch for your feature or bugfix. + ```bash + git checkout -b feature/your-feature + ``` +4. Make your changes: Work on your changes, ensuring that they are in line with the project's coding style. + +5. Add the changed files: Before committing, add the files you changed or created using: + ```bash + git add + ``` + Or to add all files: + ```bash + git add . + ``` +6. Run tests: Before submitting your pull request, ensure all tests pass. + ```bash + cargo test + ``` +7. Commit your changes: Commit your changes with a meaningful message. + ```bash + git commit -m "Describe your changes" + ``` +8. Push your changes: Push your branch to your fork on GitHub. + ```bash + git push origin feature/your-feature + ``` + +## Opening a Pull Request + +- **Ensure your branch is up to date with `main`**: Before opening a pull request, make sure your branch has no conflicts with `main`. You can do this by updating your branch with the latest changes from `main`. +- **Create a Pull Request**: After pushing your branch to your fork, open a pull request (PR) from your branch to the `main` branch of the original repository. +- **Review and Feedback**: Once your PR is submitted, the team will review your changes. You may be asked to make some improvements or fix issues before it is merged. + +### Best Practices for Opening a Pull Request + +- Always provide a clear and concise description of what the PR addresses. +- Make sure your code follows the project's style guidelines. +- Ensure the code is well-tested and all tests pass. +- Use meaningful commit messages that describe the changes being made. + +### Running `cargo fmt` and `cargo test` + +Before submitting a pull request, please make sure to run `cargo fmt` to format the code and `cargo test` to ensure that all tests pass. + + ```bash + cargo fmt + cargo test + ``` + +Thank you for helping us improve the project! \ No newline at end of file From e05212fd8a594ff3cf3abcc48353e4ef40140838 Mon Sep 17 00:00:00 2001 From: Marcelo Date: Thu, 5 Dec 2024 22:45:26 -0300 Subject: [PATCH 2/2] feat(contributing): improve contributing guidelines --- .github/ISSUE_TEMPLATE/issue_template_en.md | 42 ++++----- .github/ISSUE_TEMPLATE/issue_template_pt.md | 42 ++++----- .../pull_request_template_en.md | 41 +++++++-- .../pull_request_template_pt.md | 41 +++++++-- CONTRIBUTING.md | 61 ------------- CONTRIBUTING_en.md | 85 +++++++++++++++++++ CONTRIBUTING_pt.md | 85 +++++++++++++++++++ README.md | 49 +++++++++-- 8 files changed, 314 insertions(+), 132 deletions(-) delete mode 100644 CONTRIBUTING.md create mode 100644 CONTRIBUTING_en.md create mode 100644 CONTRIBUTING_pt.md diff --git a/.github/ISSUE_TEMPLATE/issue_template_en.md b/.github/ISSUE_TEMPLATE/issue_template_en.md index 19c6c5b..4a10c91 100644 --- a/.github/ISSUE_TEMPLATE/issue_template_en.md +++ b/.github/ISSUE_TEMPLATE/issue_template_en.md @@ -1,31 +1,25 @@ # Issue Title +[Replace with a clear, descriptive title] -## Description - -Please provide a clear and concise description of the issue. - -## Steps to Reproduce (for bugs) - -1. [ ] Step 1 -2. [ ] Step 2 -3. [ ] Step 3 - -## Expected Behavior +## Issue Type +- [ ] Bug Report +- [ ] Feature Request +- [ ] Documentation +- [ ] Other (please specify) -Describe what you expected to happen. - -## Actual Behavior - -Describe what actually happened. - -## Additional Context +## Description +Please provide a clear and detailed description of the issue or feature request. -Add any other relevant information or screenshots about the issue. +### For Bug Reports: +#### Steps to Reproduce +1. [First Step] +2. [Second Step] +3. [Additional Steps...] -## Environment Details +#### Expected Behavior +What did you expect to happen? -- **Operating System**: (e.g., Ubuntu 20.04, macOS 13.0) -- **Rust Version**: (e.g., rustc 1.72.0) -- **Cargo Version**: (e.g., cargo 1.72.0) +#### Actual Behavior +What actually happened? Include any error messages, stack traces, or screenshots. -Thank you for helping us improve the project! +#### Code Sample diff --git a/.github/ISSUE_TEMPLATE/issue_template_pt.md b/.github/ISSUE_TEMPLATE/issue_template_pt.md index 896a7c8..c0db5dc 100644 --- a/.github/ISSUE_TEMPLATE/issue_template_pt.md +++ b/.github/ISSUE_TEMPLATE/issue_template_pt.md @@ -1,31 +1,25 @@ # Título da Issue +[Substitua com um título claro e descritivo] -## Descrição - -Por favor, forneça uma descrição clara e concisa do problema. - -## Passos para Reproduzir (para bugs) - -1. [ ] Passo 1 -2. [ ] Passo 2 -3. [ ] Passo 3 - -## Comportamento Esperado +## Tipo de Issue +- [ ] Relatório de Bug +- [ ] Solicitação de Funcionalidade +- [ ] Documentação +- [ ] Outro (especifique) -Descreva o que você esperava que acontecesse. - -## Comportamento Real - -Descreva o que realmente aconteceu. - -## Contexto Adicional +## Descrição +Por favor, forneça uma descrição clara e detalhada da issue ou solicitação de funcionalidade. -Adicione qualquer outra informação relevante ou capturas de tela sobre o problema. +### Para Relatórios de Bug: +#### Passos para Reproduzir +1. [Primeiro Passo] +2. [Segundo Passo] +3. [Passos Adicionais...] -## Detalhes do Ambiente +#### Comportamento Esperado +O que você esperava que acontecesse? -- **Sistema Operacional**: (ex: Ubuntu 20.04, macOS 13.0) -- **Versão do Rust**: (ex: rustc 1.72.0) -- **Versão do Cargo**: (ex: cargo 1.72.0) +#### Comportamento Real +O que realmente aconteceu? Inclua mensagens de erro, stack traces ou screenshots. -Obrigado por nos ajudar a melhorar o projeto! +#### Amostra de Código diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template_en.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template_en.md index bf332ce..4ae1627 100644 --- a/.github/PULL_REQUEST_TEMPLATE/pull_request_template_en.md +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template_en.md @@ -1,16 +1,41 @@ # Pull Request Title +[Replace with a clear, descriptive title] ## Description +Please provide: +- A summary of the changes made +- The issue number(s) this PR addresses (if applicable) +- Any breaking changes or important notes for reviewers +- Screenshots/videos for UI changes (if applicable) -Please include a summary of the changes and the related issue (if applicable). +## Type of Change +- [ ] Bug fix +- [ ] New feature +- [ ] Documentation update +- [ ] Code refactoring +- [ ] Performance improvement +- [ ] Other (please describe) -## Checklist +## Testing +- [ ] I have run `cargo fmt` to format the code +- [ ] I have run `cargo test` and all tests pass +- [ ] I have added new tests for my changes +- [ ] I have manually tested the changes -- [ ] I have run `cargo fmt` to format the code. -- [ ] I have run `cargo test` and verified that all tests pass. -- [ ] I have added tests for the changes, if applicable. -- [ ] I have updated documentation, if applicable. +## Documentation +- [ ] I have updated relevant documentation +- [ ] I have updated comments in the code +- [ ] I have added/updated API documentation (if applicable) -## Verifying Conflicts with Main +## Additional Context +Add any other context about the PR here, such as: +- Alternative approaches considered +- Performance implications +- Migration notes for breaking changes -For detailed instructions, see [GitHub's guide on resolving merge conflicts](https://docs.github.com/en/get-started/using-git/resolving-merge-conflicts). \ No newline at end of file +## Checklist before merging +- [ ] All discussions have been resolved +- [ ] Required reviewers have approved +- [ ] CI checks are passing +- [ ] Documentation is up to date +- [ ] Branch is up to date with main \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template_pt.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template_pt.md index b2d7136..e913620 100644 --- a/.github/PULL_REQUEST_TEMPLATE/pull_request_template_pt.md +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template_pt.md @@ -1,16 +1,41 @@ # Título do Pull Request +[Substitua com um título claro e descritivo] ## Descrição +Por favor, forneça: +- Um resumo das alterações feitas +- O(s) número(s) da issue que este PR aborda (se aplicável) +- Quaisquer mudanças significativas ou notas importantes para os revisores +- Screenshots/vídeos para mudanças na interface (se aplicável) -Inclua um breve resumo das alterações e o problema relacionado (se aplicável). +## Tipo de Alteração +- [ ] Correção de bug +- [ ] Nova funcionalidade +- [ ] Atualização de documentação +- [ ] Refatoração de código +- [ ] Melhoria de performance +- [ ] Outro (por favor, descreva) -## Lista de Verificação +## Testes +- [ ] Executei `cargo fmt` para formatar o código +- [ ] Executei `cargo test` e todos os testes passaram +- [ ] Adicionei novos testes para minhas alterações +- [ ] Testei manualmente as alterações -- [ ] Executei o comando `cargo fmt` para formatar o código. -- [ ] Executei `cargo test` e verifiquei que todos os testes passaram. -- [ ] Adicionei testes para as alterações, se aplicável. -- [ ] Atualizei a documentação, se aplicável. +## Documentação +- [ ] Atualizei a documentação relevante +- [ ] Atualizei os comentários no código +- [ ] Adicionei/atualizei a documentação da API (se aplicável) -## Verificando Conflitos com a Main +## Contexto Adicional +Adicione qualquer outro contexto sobre o PR aqui, como: +- Abordagens alternativas consideradas +- Implicações de performance +- Notas de migração para mudanças significativas -Para instruções detalhadas, veja o [guia do GitHub sobre resolução de conflitos de mesclagem](https://docs.github.com/pt/get-started/using-git/resolving-merge-conflicts). +## Checklist antes de mesclar +- [ ] Todas as discussões foram resolvidas +- [ ] Revisores necessários aprovaram +- [ ] Verificações de CI estão passando +- [ ] Documentação está atualizada +- [ ] Branch está atualizada com main diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 8d8d5b1..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,61 +0,0 @@ -# Contributing to the Project - -Thank you for considering contributing to this project! We welcome contributions from everyone. Please follow the guidelines below to help make the process smoother. - -## How to Contribute - -1. **Fork the repository**: Create your own copy of the repository by forking it to your GitHub account. -2. **Clone your fork**: Clone the forked repository to your local machine. - ```bash - git clone https://github.com/your-username/project-name.git - ``` -3. Create a branch: Create a new branch for your feature or bugfix. - ```bash - git checkout -b feature/your-feature - ``` -4. Make your changes: Work on your changes, ensuring that they are in line with the project's coding style. - -5. Add the changed files: Before committing, add the files you changed or created using: - ```bash - git add - ``` - Or to add all files: - ```bash - git add . - ``` -6. Run tests: Before submitting your pull request, ensure all tests pass. - ```bash - cargo test - ``` -7. Commit your changes: Commit your changes with a meaningful message. - ```bash - git commit -m "Describe your changes" - ``` -8. Push your changes: Push your branch to your fork on GitHub. - ```bash - git push origin feature/your-feature - ``` - -## Opening a Pull Request - -- **Ensure your branch is up to date with `main`**: Before opening a pull request, make sure your branch has no conflicts with `main`. You can do this by updating your branch with the latest changes from `main`. -- **Create a Pull Request**: After pushing your branch to your fork, open a pull request (PR) from your branch to the `main` branch of the original repository. -- **Review and Feedback**: Once your PR is submitted, the team will review your changes. You may be asked to make some improvements or fix issues before it is merged. - -### Best Practices for Opening a Pull Request - -- Always provide a clear and concise description of what the PR addresses. -- Make sure your code follows the project's style guidelines. -- Ensure the code is well-tested and all tests pass. -- Use meaningful commit messages that describe the changes being made. - -### Running `cargo fmt` and `cargo test` - -Before submitting a pull request, please make sure to run `cargo fmt` to format the code and `cargo test` to ensure that all tests pass. - - ```bash - cargo fmt - cargo test - ``` - -Thank you for helping us improve the project! \ No newline at end of file diff --git a/CONTRIBUTING_en.md b/CONTRIBUTING_en.md new file mode 100644 index 0000000..644d27b --- /dev/null +++ b/CONTRIBUTING_en.md @@ -0,0 +1,85 @@ +# Contributing to the Project + +Thank you for considering contributing to this project! We welcome contributions from everyone. Please follow the guidelines below to help make the process smoother. + +## How to Contribute + +1. **Fork the repository**: Create your own copy of the repository by forking it to your GitHub account. +2. **Clone your fork**: Clone the forked repository to your local machine. + ```bash + git clone https://github.com/your-username/project-name.git + ``` +3. **Set up remotes**: Set up the original repository as the upstream remote. This is important because it allows you to keep your fork synchronized with the main repository. When other contributors make changes to the main repository, you'll be able to pull those changes into your fork to stay up-to-date. + ```bash + git remote add upstream git@github.com:UnBCIC-TP2/r-python.git + ``` + Verify your remotes are set up correctly: + ```bash + git remote -v + ``` + You should see your fork as `origin` and the main repo as `upstream`. + +4. **Create a branch**: Create a new branch for your feature or bugfix. + ```bash + git checkout -b feature/your-feature + ``` +5. **Make your changes**: Work on your changes, ensuring that they are in line with the project's coding style. + +6. **Add the changed files**: Before committing, add the files you changed or created using: + ```bash + git add + ``` + Or to add all files: + ```bash + git add . + ``` +7. **Run tests**: Before submitting your pull request, ensure all tests pass. + ```bash + cargo test + ``` +8. **Commit your changes**: Commit your changes with a meaningful message. + ```bash + git commit -m "Describe your changes" + ``` +9. **Keep your fork in sync**: Before pushing, sync your fork with the upstream repository. + ```bash + git fetch upstream + git checkout + git rebase upstream/main + ``` + If there are conflicts, resolve them before continuing. + +10. **Push your changes**: Push your branch to your fork on GitHub. + ```bash + git push origin feature/your-feature + ``` + Note: If you rebased your branch and the push is rejected, you may need to use `--force` with caution, but this should generally be avoided when possible. + +## Opening a Pull Request + +- **Ensure your branch is up to date with `main`**: Follow the sync steps above before opening a pull request. +- **Create a Pull Request**: After pushing your branch to your fork, open a pull request (PR) from your branch to the `main` branch of the original repository. +- **Review and Feedback**: Once your PR is submitted, the team will review your changes. You may be asked to make some improvements or fix issues before it is merged. + +### Best Practices for Opening a Pull Request + +- Always provide a clear and concise description of what the PR addresses. +- Make sure your code follows the project's style guidelines. +- Ensure the code is well-tested and all tests pass. +- Use meaningful commit messages that describe the changes being made. +- For significant changes to core functionality, include a detailed description explaining: + - The rationale behind the changes + - Any potential impacts on existing code + - Plans for handling deprecated code + - Performance considerations (e.g., memory usage, reference vs. clone decisions) + +### Running `cargo fmt` and `cargo test` + +Before submitting a pull request, please make sure to run `cargo fmt` to format the code and `cargo test` to ensure that all tests pass. + + ```bash + cargo fmt + cargo test + ``` + +Thank you for helping us improve the project! \ No newline at end of file diff --git a/CONTRIBUTING_pt.md b/CONTRIBUTING_pt.md new file mode 100644 index 0000000..ab10504 --- /dev/null +++ b/CONTRIBUTING_pt.md @@ -0,0 +1,85 @@ +# Contribuindo com o Projeto + +Obrigado por considerar contribuir com este projeto! Aceitamos contribuições de todos. Por favor, siga as diretrizes abaixo para tornar o processo mais suave. + +## Como Contribuir + +1. **Faça um fork do repositório**: Crie sua própria cópia do repositório fazendo um fork para sua conta do GitHub. +2. **Clone seu fork**: Clone o repositório bifurcado para sua máquina local. + ```bash + git clone https://github.com/seu-usuario/nome-do-projeto.git + ``` +3. **Configure os remotos**: Configure o repositório original como o remoto upstream. Isso é importante porque permite que você mantenha seu fork sincronizado com o repositório principal. Quando outros contribuidores fizerem alterações no repositório principal, você poderá puxar essas alterações para seu fork para manter-se atualizado. + ```bash + git remote add upstream git@github.com:UnBCIC-TP2/r-python.git + ``` + Verifique se seus remotos estão configurados corretamente: + ```bash + git remote -v + ``` + Você deve ver seu fork como `origin` e o repositório principal como `upstream`. + +4. **Crie uma branch**: Crie uma nova branch para sua funcionalidade ou correção de bug. + ```bash + git checkout -b feature/sua-funcionalidade + ``` +5. **Faça suas alterações**: Trabalhe em suas alterações, garantindo que estejam de acordo com o estilo de codificação do projeto. + +6. **Adicione os arquivos alterados**: Antes de fazer commit, adicione os arquivos que você alterou ou criou usando: + ```bash + git add + ``` + Ou para adicionar todos os arquivos: + ```bash + git add . + ``` +7. **Execute os testes**: Antes de enviar seu pull request, certifique-se de que todos os testes passam. + ```bash + cargo test + ``` +8. **Faça commit das alterações**: Faça commit de suas alterações com uma mensagem significativa. + ```bash + git commit -m "Descreva suas alterações" + ``` +9. **Mantenha seu fork sincronizado**: Antes de fazer push, sincronize seu fork com o repositório upstream. + ```bash + git fetch upstream + git checkout + git rebase upstream/main + ``` + Se houver conflitos, resolva-os antes de continuar. + +10. **Faça push das alterações**: Faça push da sua branch para seu fork no GitHub. + ```bash + git push origin feature/sua-funcionalidade + ``` + Nota: Se você fez rebase da sua branch e o push for rejeitado, você pode precisar usar `--force` com cautela, mas isso deve geralmente ser evitado quando possível. + +## Abrindo um Pull Request + +- **Certifique-se de que sua branch está atualizada com `main`**: Siga os passos de sincronização acima antes de abrir um pull request. +- **Crie um Pull Request**: Após fazer push da sua branch para seu fork, abra um pull request (PR) da sua branch para a branch `main` do repositório original. +- **Revisão e Feedback**: Uma vez que seu PR é enviado, a equipe revisará suas alterações. Você pode ser solicitado a fazer algumas melhorias ou corrigir problemas antes que seja mesclado. + +### Melhores Práticas para Abrir um Pull Request + +- Sempre forneça uma descrição clara e concisa do que o PR aborda. +- Certifique-se de que seu código segue as diretrizes de estilo do projeto. +- Garanta que o código está bem testado e todos os testes passam. +- Use mensagens de commit significativas que descrevem as alterações sendo feitas. +- Para mudanças significativas na funcionalidade principal, inclua uma descrição detalhada explicando: + - A lógica por trás das mudanças + - Quaisquer impactos potenciais no código existente + - Planos para lidar com código depreciado + - Considerações de desempenho (por exemplo, uso de memória, decisões de referência vs. clone) + +### Executando `cargo fmt` e `cargo test` + +Antes de enviar um pull request, certifique-se de executar `cargo fmt` para formatar o código e `cargo test` para garantir que todos os testes passem. + + ```bash + cargo fmt + cargo test + ``` + +Obrigado por nos ajudar a melhorar o projeto! \ No newline at end of file diff --git a/README.md b/README.md index 8db8cd6..211a29a 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,44 @@ -# RPython -Implementação em Rust de uma linguagem de programação com sintaxe semelhante ao python. -## Configuração do ambiente: -### Instalação do RUST em ambiente Linux/MacOS e WSL2 +# RPython 🚀 -```curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh ``` +[![Rust](https://img.shields.io/badge/rust-stable-orange.svg)](https://www.rust-lang.org/) +[![GitHub issues](https://img.shields.io/github/issues/UnBCIC-TP2/r-python)](https://github.com/UnBCIC-TP2/r-python/issues) +[![CI Status](https://img.shields.io/github/actions/workflow/status/UnBCIC-TP2/r-python/ci.yml?branch=main&label=ci-status&color=blue)](https://github.com/UnBCIC-TP2/r-python/actions) -## Sugestão de padronização de commits -Como proposto em sala, segue um repositório em português que detalha padrões de commits semânticos adotados no mercado: [Commit Semântico](https://github.com/iuricode/padroes-de-commits) + +Um compilador experimental implementado em Rust que interpreta uma linguagem com sintaxe similar ao Python. Este projeto foi desenvolvido como ferramenta de aprendizado para conceitos de técnicas de programação. + +## 📋 Sobre o Projeto + +RPython é um projeto educacional que visa: +- Implementar um compilador funcional em Rust +- Explorar conceitos fundamentais de técnicas de programação +- Criar uma linguagem com sintaxe amigável similar ao Python + +## 🤝 Contribuindo + +Adoraríamos contar com sua contribuição! Por favor, leia nossos guias de contribuição: +- [Guia de Contribuição em Português](CONTRIBUTING_pt.md) +- [Contributing Guidelines in English](CONTRIBUTING_en.md) + +## 🚀 Começando + +### Pré-requisitos + +- Rust (última versão estável) +- Cargo (gerenciador de pacotes do Rust) +- Git (para clonar o repositório) +- Editor de texto ou IDE de sua preferência + +### Configuração do Ambiente + +1. Primeiro, instale o Rust e Cargo usando rustup: + - Windows: + - Baixe e execute rustup-init.exe em https://rustup.rs + - Siga as instruções do instalador + - Linux/macOS: + - Abra o terminal e execute: + ```bash + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh + ``` + - Siga as instruções do instalador + - Reinicie seu terminal após a instalação