> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.clubedge.live/llms.txt
> Use this file to discover all available pages before exploring further.

# Development

> Learn how we develop, test, review, and ship changes across Clubedge projects

<Info>
  **Before contributing**:

  * Make sure you understand the project's README and contribution guidelines
  * Follow the repository's branch and commit conventions
  * Run the required checks before opening a pull request
  * Keep changes focused and easy to review
</Info>

Follow the Clubedge development workflow when making changes to an existing project.

<Steps>
  <Step title="Create a feature branch">
    Keep your work isolated from the main branch.

    Create a branch using the naming convention defined by the repository. For example:

    ```bash theme={null}
    git checkout -b feat/flag-targeting
    ```

    Common branch types may include:

    ```text theme={null}
    feat/     New functionality
    fix/      Bug fixes
    docs/     Documentation
    refactor/ Code restructuring
    chore/    Maintenance
    ```

    <Tip>
      Always check the repository's contribution guidelines for the exact branch naming convention before creating your branch.
    </Tip>
  </Step>

  <Step title="Develop and validate your changes">
    Make the smallest focused change that solves the problem.

    While developing, keep the project's existing architecture, conventions, and patterns in mind.

    Before committing, run the checks defined by the repository:

    ```bash theme={null}
    pnpm lint
    pnpm test
    ```

    Depending on the project, additional checks may include:

    ```bash theme={null}
    pnpm typecheck
    pnpm build
    ```

    Do not wait for CI to discover problems that can be caught locally.
  </Step>
</Steps>

## Branching

Keep branches focused on a single task or issue.

A good branch should be:

* Small enough to review comfortably
* Related to one issue or objective
* Based on the current main branch
* Easy to remove after the pull request is merged

Avoid mixing unrelated changes into the same branch.

For example, a feature branch should not also contain unrelated dependency updates, formatting changes, or refactoring unless they are required for the feature.

## Commits

Write commits that describe the change being introduced.

For example:

```bash theme={null}
git commit -m "feat(targeting): add tenant targeting rules"
```
