56 lines
2.3 KiB
Markdown
56 lines
2.3 KiB
Markdown
# 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>(<scope>): <description>
|
|
```
|
|
- **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!
|