personnel_matching_data_process_algo_v2 0.0.1b8
Behold My Awesome Project!
Requires Python: >=3.11

# personnel-matching-data-process-algo-v2

[![pipeline status](http://172.22.121.51:8929/personnel-matching/personnel-matching-data-process-algo-v2/badges/dev/pipeline.svg)](http://172.22.121.51:8929/personnel-matching/personnel-matching-data-process-algo-v2/-/commits/main)
[![coverage report](http://172.22.121.51:8929/personnel-matching/personnel-matching-data-process-algo-v2/badges/main/coverage.svg)](http://172.22.121.51:8929/personnel-matching/personnel-matching-data-process-algo-v2/-/commits/main)
[![Latest Release](http://172.22.121.51:8929/personnel-matching/personnel-matching-data-process-algo-v2/-/badges/release.svg?value_width=100)](http://172.22.121.51:8929/personnel-matching/personnel-matching-data-process-algo-v2/-/releases)

Behold My Awesome Project!

## Project Information

- **Version:** 0.0.0
- **License:** MIT
- **Author:** GZHU
- **Source Code:** [http://172.22.121.51:8929/personnel-matching/personnel-matching-data-process-algo-v2.git](http://172.22.121.51:8929/personnel-matching/personnel-matching-data-process-algo-v2.git)

## Contributing

Thank you for your interest in contributing to personnel-matching-data-process-algo-v2! Here's a quick guide to get you started:

### Getting Started

1. **Setup Your Environment**: Before you start making changes, set up your
   local development environment. Run:

```bash
pip install uv && uv sync --dev
```

2. **Test the Server**: Ensure the server runs correctly on your local machine:

```bash
poe server
```

3、**Making Changes**：

- **Start Coding**: Once you’ve confirmed everything is set up correctly, you
  can start coding. Make sure to work on a new branch created from the latest
  `main` or `dev` branch.
- **Validate Your Changes**: After making your changes, ensure all tests pass:

```bash
poe test-all
```

## How to Manage a Package with `uv`

To add a new package to the project, use the `uv add` command. This will update
the `pyproject.toml` file and install the new dependency.

### Adding a Regular Dependency

To add a package as a regular dependency, run `uv add` with the package name:

```bash
uv add requests
```

### Adding a Development Dependency

To add a package to a specific group like `dev`, use the `--group` flag:

```bash
uv add pytest –-group dev
```

### Remove a Dependency

To remove a package, use the `uv remove` command:

```bash
uv remove requests
```

## Help

Use `poe help` to get help.

```angular2html
USAGE
  poe [-h] [-v | -q] [-C PATH] [--ansi | --no-ansi] task [task arguments]
```

CONFIGURED TASKS

```bash
  server                Run the server
  style                 Auto-fix and format the code using ruff.
  lint                  Check for style and type violations using ruff and mypy.
  clean                 Remove all files generated by builds and tests.
  test                  Run tests quickly using the default Python environment.
  test-all              Run all tests.
  test-ci               Run ci tests.
  build                 Build source and wheel package
  tag                   Create a new version tag
  publish               Publish the package to PyPI
  release               Build source and wheel package
```

## About Branches

### Master (`master|main`)

- The `master` branch is the **stable version** of the project.
- It contains the official releases ready for production.
- The `master` or `main` branch is maintained by the administrator only.

### Development (`dev`)

- The `dev` branch is used for **development**.
- New features and fixes are developed and tested here.
- **Beta versions** are managed and released from the `dev` branch for testing
  before they go to `master`.

### Personal Development Branches

- Developers should create a personal branch using their name, e.g., `username`,
  or use a feature branch, e.g., `feat-xxxx`, for new features.
- Once development is completed, submit a **Pull Request (PR)** to the `dev`
  branch for review.

## Commit Message Guidelines

All commit messages must follow the format:

```
<tag>: <Message>
```

### Allowed Tags

The following tags are allowed in commit messages:

- `feat`: New features.
- `fix`: Bug fixes.
- `build`: Changes related to build or dependencies.
- `chore`: Routine tasks that don’t change the code (e.g., updating configs).
- `ci`: Continuous Integration updates.
- `docs`: Documentation changes.
- `perf`: Performance improvements.
- `style`: Code style changes (formatting, whitespace, etc.).
- `refactor`: Code refactoring without changing functionality.
- `test`: Adding or updating tests.
- `update`: Minor updates or improvements.

### Versioning Rules

- **Minor version bumps** occur for changes tagged with: `update`.
- **Patch version bumps** occur for changes tagged with: `feat`, `fix`, `perf`,
  `refactor`, `build`.

Ensure your commit messages are concise and meaningful, using the appropriate
tag from the list above.