{"id":31554603,"url":"https://github.com/olllayor/aicom","last_synced_at":"2026-01-20T17:38:03.094Z","repository":{"id":317657131,"uuid":"1067839622","full_name":"olllayor/aicom","owner":"olllayor","description":"One command to commit with AI-generated message. No prompts, no copy-paste, just commit.","archived":false,"fork":false,"pushed_at":"2025-10-02T07:06:14.000Z","size":30,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-02T09:05:38.910Z","etag":null,"topics":["ai","bun","commit","nodejs","npm","npm-package","pnpm","typescript"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/aicom","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olllayor.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-01T13:17:03.000Z","updated_at":"2025-10-02T08:52:27.000Z","dependencies_parsed_at":"2025-10-02T09:05:42.329Z","dependency_job_id":"1c507e94-1e1e-441f-914b-7f171f64b4c8","html_url":"https://github.com/olllayor/aicom","commit_stats":null,"previous_names":["olllayor/aicom"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/olllayor/aicom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olllayor%2Faicom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olllayor%2Faicom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olllayor%2Faicom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olllayor%2Faicom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olllayor","download_url":"https://codeload.github.com/olllayor/aicom/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olllayor%2Faicom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278547821,"owners_count":26004775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","bun","commit","nodejs","npm","npm-package","pnpm","typescript"],"created_at":"2025-10-04T21:10:59.218Z","updated_at":"2026-01-20T17:38:03.079Z","avatar_url":"https://github.com/olllayor.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 AIcom - AI-Powered Git Commit\n\nOne command to commit with AI-generated message. No prompts, no copy-paste, just commit.\n\n## 🚀 Quick Start\n\n### Installation\n\n```bash\nnpm install -g aicom\n# or\npnpm add -g aicom\n```\n\n### Setup\n\nGet a free API key from [OpenRouter](https://openrouter.ai/keys) and set it:\n\n```bash\nexport OPENROUTER_API_KEY=your_key_here\n# The tool will store this key in ~/.aicom/config.json automatically\n# Add to ~/.zshrc or ~/.bashrc if you prefer keeping it in your shell too\n```\n\nThe API key will be automatically saved to `~/.aicom/config.json` for future use.\n\n### Usage\n\n```bash\ngit add .\naicom\n```\n\nThat's it! AI generates the commit message and commits automatically.\n\n## 📝 Example\n\n```bash\n$ git add src/auth.ts\n$ aicom\ngit commit -m \"feat: add JWT authentication to user service\" (Press Enter to commit)\n# [User presses Enter]\n[main abc1234] feat: add JWT authentication to user service\n 1 file changed, 45 insertions(+), 3 deletions(-)\n```\n\nSimple: See the message, press Enter, done!\n\n\n## 🎯 How It Works\n\n1. **Checks Git Status** - Verifies you're in a git repo with staged changes\n2. **Fetches Free Model** - Automatically finds an available free model from OpenRouter\n3. **Analyzes Changes** - Gets the git diff of your staged changes\n4. **Generates Message** - Uses AI to create a conventional commit message\n5. **Outputs Command** - Displays the ready-to-run git commit command\n\n## 🔧 Features\n\n- ✅ **One command commit** - Just run `aicom`, press Enter, done\n- ✅ Shows the commit message before executing\n- ✅ AI-generated messages using free OpenRouter models\n- ✅ Conventional commit format (feat:, fix:, docs:, etc.)\n- ✅ Analyzes git diffs for context\n- ✅ Zero configuration needed (just API key)\n- ✅ Press Enter to confirm\n- ✅ Zero runtime dependencies\n- ✅ Small package size (~6.7 kB)\n\n## 🛠️ Development\n\n### Local Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/aicom.git\ncd aicom\n\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Test locally\nnpm run dev\n```\n\n### Build for Production\n\n```bash\nnpm run build\n```\n\n### Publishing\n\n```bash\n# Login to npm\nnpm login\n\n# Publish\nnpm publish\n# or with pnpm\npnpm publish\n```\n\n## 📦 Configuration\n\nAPI keys can be provided in two ways:\n\n1. Environment variable: `OPENROUTER_API_KEY`. When present, `aicom` saves it to `~/.aicom/config.json` so future sessions can reuse it automatically.\n2. Config file: `~/.aicom/config.json`. You can edit this file directly if you need to rotate keys or switch accounts.\n\n## 💡 Tips\n\n- The API key is automatically saved after first use - no need to export it every time\n- Optionally add `export OPENROUTER_API_KEY=your_key` to `~/.zshrc` or `~/.bashrc` if you prefer\n- The tool automatically uses free models from OpenRouter\n- Follows conventional commit best practices\n- Works silently - only shows git's commit output\n- If you need to edit before committing, use `git commit --amend`\n\n## 🤝 Contributing\n\nThis is a simple starter project. Feel free to:\n\n- Implement streaming responses\n- Create better UI components\n- Add custom templates\n- Improve error handling\n- Add commit message history\n\n## 📄 License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folllayor%2Faicom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folllayor%2Faicom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folllayor%2Faicom/lists"}