This project follows Git Flow — all development happens on feature or bugfix branches created offDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/WorkTeam01/team-practice/llms.txt
Use this file to discover all available pages before exploring further.
dev, and main only receives stable merged releases. No contributor pushes directly to main; every change enters the codebase through a Pull Request that targets dev and passes code review.
Branch types
Each branch prefix signals the nature of the work it contains. Choose the prefix that matches what you are implementing.| Branch Prefix | Purpose |
|---|---|
feature/ | New functionality being added to the calculator |
bugfix/ | Correcting a bug or unexpected behaviour |
hotfix/ | Urgent correction applied directly against a production issue in main |
release/ | Preparing and stabilising a new version for release |
Branch naming
Branch names should be lowercase, hyphen-separated, and descriptive enough that teammates understand the work at a glance.Step-by-step workflow
Create or claim an issue on GitHub
Before writing any code, open or assign yourself an issue that describes the work. This keeps the team aligned and avoids duplicated effort. Reference the issue number later with
Closes #<number> in your PR description.Create your feature branch
Branch off
dev using the appropriate prefix and a short descriptive name.Make changes and commit using Conventional Commits format
Every commit must follow the
<type>: <short imperative description> format. See the Commit Conventions page for full details on types and examples.Run tests before pushing
All tests must pass locally before you push. The CI pipeline will also run them, but catching failures early saves review time.
Open a Pull Request targeting dev
On GitHub, open a Pull Request from your branch into
dev. Select the appropriate PR template (feature, bugfix, or release) — see the Pull Request templates section below. Fill in every section of the template, including the related issue reference (Closes #<number>).Branch protection
Pull Requests must target
dev as the base branch — not main. The only exception is hotfix/ branches, which address urgent production issues and merge directly into main. All other branch types (feature/, bugfix/, release/) always target dev. Merges from release/ branches into main are handled by maintainers as part of the release process.Pull Request templates
The repository provides three PR templates that appear automatically when you open a Pull Request, depending on the branch type:feature.md— used forfeature/branches. Covers description, related issue, implementation details, a Python code snippet for the new function, test results checklist, and a documentation checklist.bugfix.md— used forbugfix/branches. Covers the bug description, root-cause analysis, reproduction steps, fix verification commands, and a regression-test checklist.release.md— used forrelease/branches targetingmain. Covers the list of included features and fixes, full test results, documentation checklist, and a pre/post-merge release checklist. This template requires approval from all team members before merging.
Reporting issues
GitHub Issues use structured templates so that reports contain all the information maintainers need. Choose the template that best matches your situation:| Template | When to use |
|---|---|
| reporte-error | A bug or unexpected behaviour in the calculator — include reproduction steps, expected output, and actual output. |
| funcion-calculadora | Proposing a brand-new mathematical function to add to calculator.py — include function name, purpose, and the implementation/test tasks. |
| mejora-funcion | Improving or extending a function that already exists — describe what changes and why. |
| sugerencia-general | Open-ended ideas about project organisation, tooling, or team processes that do not map to a specific code change. |
| pruebas-unitarias | Adding or improving test coverage for an existing function in test_calculator.py. |
| documentacion | Updating or correcting documentation in README.md, docstrings, or other project files. |
| gui_issue | Work related to the tkinter GUI — new visual features, layout changes, or keyboard-shortcut improvements. |
