{"id":13601368,"url":"https://github.com/jackbackes/happycommit","last_synced_at":"2026-01-14T15:01:57.738Z","repository":{"id":153690771,"uuid":"629199206","full_name":"jackbackes/happycommit","owner":"jackbackes","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-04T07:12:23.000Z","size":52,"stargazers_count":15,"open_issues_count":4,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-07T04:39:57.267Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jackbackes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-04-17T20:42:34.000Z","updated_at":"2024-07-27T12:59:36.000Z","dependencies_parsed_at":"2023-09-02T15:34:34.017Z","dependency_job_id":null,"html_url":"https://github.com/jackbackes/happycommit","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/jackbackes/happycommit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackbackes%2Fhappycommit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackbackes%2Fhappycommit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackbackes%2Fhappycommit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackbackes%2Fhappycommit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jackbackes","download_url":"https://codeload.github.com/jackbackes/happycommit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackbackes%2Fhappycommit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28424039,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T13:30:50.153Z","status":"ssl_error","status_checked_at":"2026-01-14T13:29:08.907Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2024-08-01T18:01:01.602Z","updated_at":"2026-01-14T15:01:57.709Z","avatar_url":"https://github.com/jackbackes.png","language":"Rust","readme":"_Note: HappyCommit works but is still early. Check any generated commit message thoroughly before saving it! And we're always open for a PR. Thanks for using and contributing!_\n\n# Welcome to HappyCommit! 😊 \n\nHappyCommit is a delightful tool that harnesses the power of OpenAI's GPT-3.5 Turbo language model to generate meaningful and descriptive Git commit messages for you. With HappyCommit, you can now focus on writing great code while we take care of crafting the perfect commit messages.\n\n## Demo 1: Introducing HappyCommit\n\nhttps://user-images.githubusercontent.com/13596692/232681973-0738f7dd-4755-4466-bbef-797cdf8440d4.mov\n\n## Demo 2: Long diffs\n\nhttps://user-images.githubusercontent.com/13596692/232682150-ce2dfdb7-5f3c-489c-9cbf-8b53a17a0ea9.mov\n\n## Prerequisites\n\n- Make sure you have [Homebrew](https://brew.sh/) installed on your macOS system.\n\n## Getting Started (macOS)\n\n1. To begin your journey with HappyCommit, install it by running the following commands:\n\n   ```bash\n   brew tap jackbackes/git-commit-gpt\n   brew install jackbackes/homebrew-git-commit-gpt/git-commit-gpt\n   ```\n\n2. After the installation, let's add your OpenAI API key to the configuration file. Simply run the following command and enter your API key when prompted:\n\n   ```bash\n   printf \"Enter your OPENAI_API_KEY: \" \u0026\u0026 read -rs api_key \u0026\u0026 mkdir ~/.happycommit \u003e\u003e /dev/null \u0026\u0026 echo \"OPENAI_API_KEY = \\\\\\\"$api_key\\\\\\\"\" \u003e\u003e ~/.happycommit/config.toml\n   ```\n\n   Don't have an OpenAI API key yet? No worries! Grab one from your [OpenAI account](https://beta.openai.com/account/api-keys).\n\n3. That's it! HappyCommit is now ready to make your Git experience more enjoyable. Just use the `git commit-gpt` command to generate and add a commit message based on your code changes.\n\n### Getting Started (Linux)\n\n...Coming soon!\n\n### Getting Started (Windows)\n\n...Coming soon!\n\n### Getting Started (Build from source)\n\n1. Install Rust and Cargo by following the instructions [here](https://www.rust-lang.org/tools/install).\n2. Install the \"Just\" task runner by following the instructions [here](https://github.com/casey/just) or just run `cargo install just`.\n\n```bash\ngit clone git@github.com:jackbackes/happycommit.git\ncd happycommit\njust install\n./add-openai-api-key.sh\n```\n\n## Usage\n\nInstead of running the standard `git commit` command, use this friendly alternative:\n\n```bash\ngit add .\ngit commit-gpt\n```\n\nHappyCommit will analyze your staged changes and generate a meaningful commit message that brings a smile to your face.\n\n## Contributing\n\nWe'd love for you to join us in making HappyCommit even better! If you have suggestions, feature requests, or bug reports, please feel free to open an issue or submit a pull request on our GitHub repository. We're excited to see your contributions!\n\n## License\n\nHappyCommit is warmly licensed under the Apache License 2.0.\n","funding_links":[],"categories":["CLI tools","NLP","开发工具","UIs"],"sub_categories":["Examples","Other","Command-line(shell) interface"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackbackes%2Fhappycommit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjackbackes%2Fhappycommit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackbackes%2Fhappycommit/lists"}