Preface

In the plugin ecosystem of DeepSeek Harness (DSH), workflow plugins are responsible for handling repetitive system-level tasks. dsh-git-commit is a tool for Git repository management. It addresses the repetitive effort developers must spend when maintaining commit history, generating changelogs, and determining version numbers.

Plugin Overview

The plugin is maintained by uckkk. Its core functionality is to analyze a Git repository and generate normalized commit messages, CHANGELOG entries, and version number suggestions. The implementation is based on pure Node.js + git and does not require network access or external services.

Core Features

The plugin provides the following three main tools:

  1. suggest_commit: Analyzes git status changes and generates commit message suggestions according to Conventional Commits rules.
  2. generate_changelog: Reads commit history (grouped by type) and generates a CHANGELOG.md file.
  3. suggest_version: Suggests the next version number (major/minor/patch) based on SemVer rules.

Installation and Enablement

Run the following command in the terminal to install the plugin:

dsh plugin add github:uckkk/dsh-git-commit

After installation, you need to configure dsh.profile.bundles in the profile’s package.json and add "dsh-git-commit".

Typical Usage

In a DSH session, you can directly invoke the above tools. The following are common invocation patterns:

  • Generate commit message: Call suggest_commit(). The plugin automatically determines the commit type based on file types: new code corresponds to feat, code changes correspond to fix, tests correspond to test, documentation corresponds to docs, configuration corresponds to chore, and styling corresponds to style.
  • Generate CHANGELOG: Call generate_changelog(since="v1.0.0", outFile="CHANGELOG.md").
  • Suggest version number: Call suggest_version(). The decision logic is: if there is a BREAKING CHANGE or a !: marker, use major; if there is a feat, use minor; otherwise use patch.

Note that the generated suggestions are heuristic defaults. The model can further refine them after generation to better fit the actual scenario.

Cautions

Installing this plugin means running third-party code on your local machine. Before using it, we recommend reviewing the source code and license (MIT) yourself.

Conclusion

dsh-git-commit provides automated support for Conventional Commits standardization and version management by analyzing the Git repository locally. For more details, refer to the plugin directory or the source repository.