# Developer Notice Welcome to my project! This is primarily a personal project, and while I'm happy to have others take an interest, it's important to follow the guidelines below to ensure consistency and maintainability. (This is mostly for my reference) ## Conventional Commits I use [Conventional Commits](https://www.conventionalcommits.org/) for all commit messages. This means that every commit should follow this format: ``` (): ``` - **Type:** The type of change you're committing. Common types include `feat` (new feature), `fix` (bug fix), `docs` (documentation only changes), `style` (code style, formatting, etc.), `refactor` (refactoring code), `test` (adding or updating tests), and `chore` (other changes that don't modify src or test files). - **Scope:** An optional field that describes the part of the codebase the change affects (e.g., `api`, `config`, `ui`). - **Description:** A brief description of the change. Example commit message: ``` feat(api): add new endpoint for user data ``` ``` chore(release): bump version to 1.4.3 ``` ``` style(ui): clean up redundant CSS classes in header component ``` ``` fix(auth): resolve login redirect loop issue ``` ``` merge(pr-45): integrate feature-x from pull request #45 ``` ## Branching Strategy Branches are primarily for adding new features. However, while the project is in pre-release, it's okay to work on minor features directly on the `main` branch. Just make sure you: - Commit all changes for the feature at once. - Avoid having partial changes spread across multiple commits. Each commit should represent a complete and functional piece of work. ## Versioning The versioning scheme I use is simple: - **Patch version:** Bumped when small, incremental changes or bug fixes are made. For example, `x.x.y` to `x.x.y + 1`. - **Minor version:** Typically, if a feature is added or updated, the version may stay the same until the project exits pre-release. Version `2.x.x` will be used if the project ever gets out of pre-release. - **Major version:** Reserved for significant changes, like command updates, configuration overhauls, or substantial new features. Remember, this is my project, so while I'm open to contributions and suggestions, I maintain the final say on what gets merged or included. Thanks for your understanding and contributions!