Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:20:32 +08:00
commit 5181d27d27
9 changed files with 331 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
# Assets
Bundled resources for devops-automation-pack skill
- [ ] commit_message_template.txt: A template for creating commit messages.
- [ ] example_code_diff.txt: An example code diff used for generating commit messages.

View File

@@ -0,0 +1,114 @@
# Commit Message Template
This template provides a standardized format for creating clear and informative commit messages. Using this template will improve team communication, code review, and project maintainability.
## Format
```
<type>(<scope>): <subject>
[optional body]
[optional footer(s)]
```
## Sections
### Type
The type of commit. Choose from the following:
* **feat:** A new feature
* **fix:** A bug fix
* **docs:** Documentation only changes
* **style:** Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.)
* **refactor:** A code change that neither fixes a bug nor adds a feature
* **perf:** A code change that improves performance
* **test:** Adding missing tests or correcting existing tests
* **build:** Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
* **ci:** Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
* **chore:** Other changes that don't modify src or test files
* **revert:** Reverts a previous commit
**Example:** `feat(user-authentication): Implement password reset functionality`
### Scope
The scope of the commit. This could be a module, component, or area of the codebase affected by the change. Keep it concise.
**Example:** `feat(api): Add endpoint for retrieving user profiles`
### Subject
A brief and concise description of the change. Use the imperative, present tense: "change" not "changed" nor "changes".
* Limit to 50 characters.
* Do not end with a period.
**Example:** `fix(layout): Correct alignment issues on mobile devices`
### Body (Optional)
A more detailed explanation of the change. Use the imperative, present tense. Explain the *why* and *how*.
* Wrap lines at 72 characters.
* Can include multiple paragraphs.
* Use bullet points for lists when appropriate.
**Example:**
```
This commit addresses a critical bug in the user authentication module. The previous implementation allowed users to bypass the password reset process under certain circumstances.
This was achieved by:
* Adding a validation check to ensure the password reset token is valid.
* Implementing rate limiting to prevent brute-force attacks.
* Improving error handling to provide more informative feedback to the user.
```
### Footer (Optional)
* **Breaking Changes:** If the commit introduces a breaking change, describe the change, justification, and migration notes. Start with `BREAKING CHANGE:`.
* **Related Issues:** Refer to related issues using `Closes #<issue_number>`, `Fixes #<issue_number>`, or `See #<issue_number>`.
* **Co-authored-by:** Credit collaborators using `Co-authored-by: Name <email@example.com>`.
**Example - Breaking Change:**
```
BREAKING CHANGE: The API endpoint for retrieving user profiles has been renamed from `/users` to `/profiles`.
Migration: Update all client applications to use the new endpoint.
```
**Example - Issue Fix:**
```
Fixes #123: Resolved issue where users were unable to log in.
```
## Example Commit Message
```
feat(payment-gateway): Integrate Stripe payment processing
This commit adds support for Stripe payment processing to the application.
The following changes were made:
* Implemented the Stripe API integration.
* Added a new payment form to the checkout page.
* Updated the database schema to store payment information.
Closes #456: Implement Stripe integration
```
## Best Practices
* Write clear and concise commit messages.
* Use the imperative, present tense.
* Limit the subject line to 50 characters.
* Provide context in the body of the message.
* Include relevant information in the footer.
* Review your commit messages before pushing them.
* Be consistent with your commit message style.

View File

@@ -0,0 +1,64 @@
# Example Code Diff for Commit Message Generation
This document provides an example code diff that can be used by the `devops-automation-pack` plugin to generate commit messages. The `example_code_diff.txt` file should contain the raw diff output. This file is used as input for plugins like `generate_commit_message` within the `devops-automation-pack`.
## Purpose
The purpose of this file is to provide a clear and concise example of a code diff, which the `generate_commit_message` plugin uses to create informative and helpful commit messages. This helps developers write better commit messages, improving code maintainability and collaboration.
## File Contents (example_code_diff.txt)
```
--- a/example.py
+++ b/example.py
@@ -1,4 +1,5 @@
def hello_world():
- print("Hello, world!")
+ message = "Hello, world!"
+ print(message)
hello_world()
```
## Explanation
The above diff shows a simple change to the `example.py` file. Specifically, it shows:
* **`--- a/example.py`**: Indicates the original file (`example.py`) before the changes.
* **`+++ b/example.py`**: Indicates the modified file (`example.py`) after the changes.
* **`@@ -1,4 +1,5 @@`**: Indicates the line numbers that were changed. `-1,4` means lines 1 through 4 in the original file. `+1,5` means lines 1 through 5 in the modified file.
* **`- print("Hello, world!")`**: The line that was removed (indicated by the `-`).
* **`+ message = "Hello, world!"`**: The first line added (indicated by the `+`).
* **`+ print(message)`**: The second line added (indicated by the `+`).
## How to Use This File
1. **Replace the contents:** Replace the contents of the `example_code_diff.txt` file with a real code diff that you want to use to generate a commit message. You can obtain this diff using `git diff` or a similar tool.
2. **Integrate with the plugin:** Refer to the `devops-automation-pack` plugin documentation for instructions on how to use this file as input for the `generate_commit_message` plugin (or similar plugins that utilize diffs). The plugin will typically read the content of this file and use it to intelligently generate a suggested commit message.
## Example Plugin Usage (Conceptual)
```
# Example Python code demonstrating how the plugin might use the diff file
# (This is an illustrative example and might not be the exact API)
from devops_automation_pack import generate_commit_message
with open("example_code_diff.txt", "r") as f:
code_diff = f.read()
commit_message = generate_commit_message(code_diff)
print(commit_message)
```
## Best Practices
* **Ensure the diff is clean:** Make sure the diff is free of merge conflicts or other extraneous information. A clean diff will result in a better commit message.
* **Review the generated message:** Always review the generated commit message before committing the changes. The AI-generated message is a suggestion, and you should always ensure it accurately reflects the changes made.
* **Use descriptive diffs:** The more descriptive the diff, the better the AI will be able to understand the changes and generate a relevant commit message.
## Troubleshooting
* **Plugin not generating a message:** Double-check that the `example_code_diff.txt` file exists and contains valid diff output.
* **Poor quality message:** Try simplifying the diff or providing additional context to the plugin (if the plugin supports it). Also, remember to always review and edit the generated message.