Skip to content

Commit

Permalink
feat: add initial style guides.
Browse files Browse the repository at this point in the history
Signed-off-by: NikOverflow <[email protected]>
  • Loading branch information
NikOverflow committed Feb 16, 2024
1 parent 5251b94 commit 6063560
Show file tree
Hide file tree
Showing 5 changed files with 106 additions and 1 deletion.
13 changes: 12 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,13 @@
# styleguide
# Style Guide
This is the Style Guide from SecSchool.

## Contributing
If you're contributing to the SecSchool project, please familiarize yourself with the guidelines provided in this repository. Consistent adherence to these standards ensures a smooth collaboration process and enhances the overall quality of the project.<br><br>
Thank you for your commitment to maintaining a high standard of code and documentation within the SecSchool project.

## Guidelines
- [Commit Message Guidelines](commit-message.md)
- [Issue Guidelines](issue.md)
- [Pull Request Guidelines](pull-request.md)
- [Versioning Guidelines](versioning.md)
<!--- [Coding Guidelines](coding.md)-->
36 changes: 36 additions & 0 deletions commit-message.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Commit Message Guidelines

## Format
A commit message should have the following format:
```
<Type>(<Scope>): <Message>
[...]
```
- **Type:** Describes the purpose of the commit.
- **Scope:** Specifies the module, component or area of the project affected by the commit (required if possible).
- **Message:** Provides a concise and clear description of the changes introduced by the commit.

## Commit Types
Choose the appropriate type from the following list:
- **feat:** A new feature.
- **fix:** A bug fix.
- **docs:** Documentation changes.
- **style:** Code style changes (formatting, indentation).
- **refactor:** Code refactoring without changing its behavior.
- **test:** Adding or modifying tests.
- **chore:** Routine tasks, maintenance or tooling changes.

## Additional Tips
- Keep messages clear, concise and in the present tense.
- Use the imperative mood for the message.
- Limit the length of the first line to around 72 characters.

## Examples
feat(auth): implement user registration<br>
fix(api): resolve issue with incorrect response format<br>
docs(readme): update installation instructions<br>
style: improve code formatting<br>
refactor(auth): improve user registration performance<br>
test(auth): add unit tests for user authentication<br>
chore(dependencies): update third-party libraries
35 changes: 35 additions & 0 deletions issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Issue Guidelines

## Issue Title
Be specific and concise. It should quickly inform others which scope is affected, how severe the issue is and what the issue is about.

## Issue Description
Be specific and concise. It should provide a clear explanation of the issue, including relevant details such as background information and steps to reproduce if applicable.

## Good Examples
- **Title:** `Password reset doesn't work for gmx emails`
- **Description:** `Users with gmx email addresses are unable to reset their passwords through the "Forgot Password" feature. Despite submitting their email addresses, they do not receive the expected password reset email.`
- **Scope:** Authentication
- **Severity:** Users with a gmx email can't reset their passwords, impacting their ability to use the site effectively.
- **Title:** `Error message displayed when submitting contact form`
- **Description:** `Users encounter an error message when submitting the contact form on the website. The error prevents the form from being submitted successfully, hindering users' ability to contact support.`
- **Scope:** Contact form
- **Severity:** Users can't contact the team.
- **Title:** `Login button not responsive on mobile devices`
- **Description:** `Users are unable to click on the login button when accessing the website from mobile devices. Tapping the button does not trigger any action, preventing users from accessing their accounts.`
- **Scope:** User Interface
- **Severity:** It affects the ability of mobile users to log in.

## Bad Examples
- **Title:** `Can't reset password`
- **Description:** `Users are experiencing issues with password reset functionality.`
- **Scope:** Authentication
- **Severity:** The severity of the issue is unclear.
- **Title:** `Website bug`
- **Description:** `Bug on the website.`
- **Scope:** The affected part of the website is unspecified.
- **Severity:** The severity of the bug is unclear.
- **Title:** `Problem with the website`
- **Description:** `There is an issue with the website.`
- **Scope:** The affected part of the website is unspecified.
- **Severity:** The severity of the problem is unclear.
11 changes: 11 additions & 0 deletions pull-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Pull Request Guidelines

## PR Title
Ensure specificity and conciseness. It should promptly convey the nature of the changes made and their significance.

## PR Description
Be specific and concise. Provide a clear overview of the changes introduced by the pull request, including any relevant context or background information.

## Example
- **Title:** `Implement user registration feature`
- **Description:** `This pull request adds the functionality for users to register on the platform. It includes backend API endpoints for user registration and frontend UI updates to accommodate the new feature.`
12 changes: 12 additions & 0 deletions versioning.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Versioning Guidelines

## Version Numbering
1. **Semantic Versioning:**
- Adhere to the principles of Semantic Versioning with the format: `MAJOR.MINOR.PATCH`.
- Increment the:
- **MAJOR** version for significant updates or major enhancements.
- **MINOR** version for additional features.
- **PATCH** version for bug fixes and minor improvements.
2. **Pre-release Versions:**
- Use pre-release versions (e.g., `1.0.0-alpha.1`, `1.0.0-beta.2`) to indicate work in progress.
- Clearly communicate the purpose and scope of pre-release versions.

0 comments on commit 6063560

Please sign in to comment.