All notable changes to the CodeBuddy project will be documented in this file.
- Added
maxTokens
as an option for the config file [INT-15]. - Added
temperature
as an option for the config file [INT-15]. - Added
topP
as an option for the config file [INT-15]. - Added
frequencyPenalty
as an option for the config file [INT-15]. - Added
presencePenalty
as an option for the config file [INT-15]. - Added
stop
as an option for the config file [INT-15].
- Improved the error handling for commit message generation [INT-14].
- Fixed a bug where the automatic issue key detection was not working [INT-16].
- OpenAI Function Calling to generate a consistently formatted commit message for the user.
- Updated the maxTokens to 900 up from 100 to allow for more complete commit message generation.
- Fixed a bug where the the diff check would fail if there were deleted files in the diff, due to a missing
--
in thegit.diff
command.
- Fixed a bug where the issue key was coming through as [undefined] instead of using the fallback key.
- Updated README to include NPM installation instructions.
- Updated README to include various badges.
- New
applyConfigTransform
andapplyConfigTransformAsync
functions to handle synchronous and asynchronous config transformations respectively. - New
applyScopeTrim
function for trimming specific strings from the commit scope. - Updated
getScopeMonorepo
ingit.ts
to accept an array of directories for better customization. - Added support for emoji in commit messages, enhancing their visual appeal.
- Added an optional
reason
argument to thedetermineCommitMessage
function insrc/utils/openai.ts
to provide additional context for the generated commit messages.- This feature allows AI-generated commits to be coupled with a reason, providing business context where needed.
- Added an optional
type
argument to thedetermineCommitMessage
function insrc/utils/openai.ts
to provide a commit type for the generated commit messages.- This feature allows AI-generated commits to be grounded in a specific type, improving the quality of the generated commit messages.
- Refactored
commitConfirmationPrompt
function insrc/prompts/index.ts
to useapplyConfigTransform
andapplyConfigTransformAsync
for applying configuration settings to the generated commit message. This change improves code readability and maintainability. - Updated the function signature and prompt generation in
determineCommitMessage
to include the reason when provided.
- New configuration options:
scope
: optional object undercommit
that allows for customization of the commit scope modemode
: controls the commit scope mode, either"monorepo"
or"traditional"
srcDir
: controls the source directory for the commit scope (only used in"traditional"
mode)
diff
: optional object for diff configurationexclude
: optional array of strings to exclude from the diff (e.g.["package-lock.json", "yarn.lock"]
)
- Refactored the
index.ts
to usecommander
for CLI argument parsing and built in help.
- Fixed a bug where deleted files were incorrectly being sent through
git.add
- Removed various unused utility functions from
utils/git.ts
- Issue key detection from branch names
- New configuration options:
useIssueKey
: allows issue key automation in commit messagessentenceCase
: controls whether to use sentence case for commit messages
- Restructured
CodeBuddyConfig
to group related properties, improving organization and maintainability - Updated the
commitMessagePrompt
function insrc/prompts/index.ts
to handle new configuration options - Improved conciseness in commit message rules for both summary and description
- Initial release with basic functionality
- Automatically generate commit messages based on the diff $$