{"id":14561589,"url":"https://github.com/joelybahh/code-buddy","last_synced_at":"2026-03-08T07:12:55.365Z","repository":{"id":163291482,"uuid":"637587645","full_name":"joelybahh/code-buddy","owner":"joelybahh","description":"An AI-powered developer assistant for code reviews, automating commits, and more.","archived":false,"fork":false,"pushed_at":"2025-07-22T01:24:47.000Z","size":112,"stargazers_count":7,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-19T19:51:36.672Z","etag":null,"topics":["ai","assistant","chatgpt","git"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joelybahh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-05-08T01:39:08.000Z","updated_at":"2025-09-15T02:39:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"26ccf923-4824-4d97-9c91-a8aa03056973","html_url":"https://github.com/joelybahh/code-buddy","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/joelybahh/code-buddy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joelybahh%2Fcode-buddy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joelybahh%2Fcode-buddy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joelybahh%2Fcode-buddy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joelybahh%2Fcode-buddy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joelybahh","download_url":"https://codeload.github.com/joelybahh/code-buddy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joelybahh%2Fcode-buddy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30248784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T05:41:50.788Z","status":"ssl_error","status_checked_at":"2026-03-08T05:41:39.075Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","assistant","chatgpt","git"],"created_at":"2024-09-07T02:00:48.094Z","updated_at":"2026-03-08T07:12:55.346Z","avatar_url":"https://github.com/joelybahh.png","language":"TypeScript","funding_links":[],"categories":["chatgpt"],"sub_categories":[],"readme":"# CodeBuddy\n\nCodeBuddy is an AI-powered developer assistant for code reviews, automating commits, and more. This CLI tool is designed to streamline your development process and make your life easier.\n\n[![npm version](https://badge.fury.io/js/%40joelybahh%2Fcode-buddy.svg)](https://www.npmjs.com/package/@joelybahh/code-buddy)\n[![Build Status](https://travis-ci.com/joelybahh/code-buddy.svg?branch=main)](https://travis-ci.com/joelybahh/code-buddy)\n[![Coverage Status](https://coveralls.io/repos/github/joelybahh/code-buddy/badge.svg?branch=main)](https://coveralls.io/github/joelybahh/code-buddy?branch=main)\n[![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)\n\n## Features\n\n-   Automatically generate commit messages based on the diff\n-   AI-powered assistance for code reviews [Coming Soon]\n\n## Installation\n\nCodeBuddy can be installed globally using npm, Or you can view it on the npm registry [here](https://www.npmjs.com/package/@joelybahh/code-buddy).\n\n```\nnpm install -g @joelybahh/code-buddy\n```\n\nOr using yarn:\n\n```\nyarn global add @joelybahh/code-buddy\n```\n\n## Configuration\n\nCodeBuddy can be configured using a `cb.config.js` file in the root of your project. The following properties are available:\n\n```\n{\n    chatGPT: {\n        apiKey: string;\n        organization: string;\n        model: \"gpt-4\" | \"gpt-3.5-turbo\";\n        maxTokens?: number;\n        temperature?: number;\n        topP?: number;\n        presencePenalty?: number;\n        frequencyPenalty?: number;\n        stop?: string[];\n    };\n    commit?: {\n        scopeTrim: string;\n        issue?: {\n            detectKey?: boolean;\n            keyRegex?: RegExp;\n            fallbackKey?: string;\n        };\n        format?: {\n            sentenceCase?: boolean;\n        };\n        scope?: {\n            mode?: \"monorepo\" | \"traditional\";\n            srcDir?: string;\n        }\n    };\n    diff?: {\n        maxSize?: number;\n        exclude?: string[];\n    };\n}\n```\n\n### chatGPT\n\nThis object contains properties related to ChatGPT authentication and requests.\n\n-   `apiKey` (string): Your OpenAI API key for authentication.\n-   `organization` (string): The organization ID associated with your OpenAI account.\n-   `model` (string): The GPT model to use, either `\"gpt-4\"` or `\"gpt-3.5-turbo\"`.\n-   `maxTokens` (number, optional): The maximum number of tokens to generate. Defaults to `200`.\n-   `temperature` (number, optional): The temperature to use for token generation. Defaults to `0.3`.\n-   `topP` (number, optional): The topP value to use for token generation. Defaults to `1`.\n-   `presencePenalty` (number, optional): The presence penalty to use for token generation. Defaults to `0.5`.\n-   `frequencyPenalty` (number, optional): The frequency penalty to use for token generation. Defaults to `0.5`.\n-   `stop` (string[], optional): An array of strings to use as stop sequences for token generation.\n\n### commit (optional)\n\nThis object contains properties related to commit message generation and formatting.\n\n-   `scopeTrim` (string): A string to automatically trim from the scope of the commit message.\n-   `issue` (optional): An object containing properties related to issue key handling in commit messages.\n    -   `detectKey` (boolean, optional): If `true`, attempts to detect an issue key from the branch name using the `keyRegex`.\n    -   `keyRegex` (RegExp, optional): A regular expression used to detect issue keys in the branch name.\n    -   `fallbackKey` (string, optional): A fallback issue key to use if none is detected in the branch name.\n-   `format` (optional): An object containing properties related to commit message text formatting.\n    -   `sentenceCase` (boolean, optional): If `false`, the first letter of the commit message will be in lowercase.\n-   `scope`\n    -   `mode` (string, optional): The commit scope mode, either `\"monorepo\"` or `\"traditional\"`. If `\"monorepo\"`, the scope will be the name of the package. If `\"traditional\"`, the scope will be the name of the directory containing the changed files. Defaults to `\"monorepo\"`.\n    -   `srcDir` (string, optional): The source directory for the commit scope. Only used in `\"traditional\"` mode. Defaults to `\"src\"`.\n\n### diff (optional)\n\nThis object contains properties related to the diff.\n\n-   `maxSize` (number, optional): The maximum size (in bytes) of the diff that can be sent to the GPT model. If the diff exceeds this size, an error will be thrown.\n-   `exclude` (string[], optional): An array of file paths to exclude from the diff.\n\n## Usage\n\nTo use CodeBuddy, run the following command:\n\n```\ncb commit-all\n```\n\nthis will do a git add for every detected scope, and generate a commit message, but for every available scope.\n\n### Command-Line Arguments\n\nCodeBuddy also supports the following command-line arguments:\n\n-   `-r, --reason \u003creason\u003e`: Specifies the reason for the changes, providing additional context for the commit message.\n-   `-t, --type \u003ctype\u003e`: Specifies the commit type, grounding the AI-generated message in the given type for better commit messages.\n-   `-s, --scope \u003cscope\u003e`: Specifies the a specific scope, can help if order matters.\n\nSome arguments coming soon:\n\n-   `-b, --breaking`: Specifies that the changes are breaking changes.\n-   `-i, --issue \u003cissue\u003e`: Specifies the issue key for the commit message (Note you can pull this from a commit message with config).\n\nPlease note that command-line arguments take precedence over the configuration file settings.\n\n## Contributing\n\nWe welcome contributions! If you'd like to contribute, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix.\n3. Commit your changes and push them to your fork.\n4. Create a pull request and describe the changes you made.\n\nWe will review your pull request and provide feedback.\n\n## Changelog\n\nPlease refer to the [CHANGELOG.md](CHANGELOG.md) file for information about changes in each version.\n\n## License\n\nThis project is licensed under the [ISC License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoelybahh%2Fcode-buddy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoelybahh%2Fcode-buddy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoelybahh%2Fcode-buddy/lists"}