--- sidebar_position: 1 title: "Overview & Starting Work" --- # Overview & Starting Work > **Audience:** All developers on the team. This document describes the standard workflow to follow from the moment a task is assigned to the moment it is marked as complete. --- # Overview The team uses a **rebase-then-merge** workflow. Each task is developed in isolation on its own feature branch, rebased onto the latest `dev` before merging, and then both branches are pushed to remote together. This keeps the `dev` branch history clean and linear. --- # Workflow ## Step 1 — Read the Task - Open Gitea and navigate to the issue assigned to you. - Read the task carefully, including any comments or attachments. - Make sure you understand the requirements before starting. If anything is unclear, ask before writing any code. ## Step 2 — Start the Timer - Start your timer as soon as you begin working on the task. - The timer should reflect actual working time on the task, so start it now and not before you have read and understood it. ## Step 3 — Update Your Local `dev` Branch Before creating your feature branch, make sure your local `dev` is up to date: ```bash git checkout dev git pull ``` > Never branch off a stale `dev`. Always pull first to avoid basing your work on outdated code. ## Step 4 — Create the Feature Branch Create and immediately check out a new branch from `dev`, named after the task number: ```bash git checkout -b feature/ ``` For example, for task #42: ```bash git checkout -b feature/42 ``` > The branch name must follow this exact format — `feature/` followed by the task number. This links the branch clearly to the task on Gitea.