Commit 08da055
aicommits v 2 first release! (#323)
* docs: `type` flag/config for Conventional Commits (#215)
* formatting
* edited README
* updated github action to pnpm v8
* fixed type error in aicommits
* formatting and fixed type error
* Update to pnpm 10, TypeScript 5.9, and default model
Bump pnpm version to 10 in GitHub workflows and update TypeScript to 5.9.3 in package.json. Change the default OpenAI model in README and config to 'gpt-5-mini' and update related documentation. Refresh pnpm-lock.yaml for dependency updates.
* wip
* Add TogetherAI support and update dependencies
Switched default AI provider to TogetherAI, updated documentation to reflect new API key usage, and changed default model and max commit message length. Updated dependencies in package.json and pnpm-lock.yaml, including OpenAI and pkgroll versions. Refactored code to support both OpenAI and TogetherAI API keys and models.
* Add validation for OPENAI_KEY and update prompt message
OPENAI_KEY in config now requires the key to start with 'sk-'. The prompt message for commit generation was updated to request a more detailed and accurate description of code changes. Test for config max-length was updated to expect 72 instead of 50.
* Update package.json
* Move and extend OpenAI tests; add TogetherAI tests
Migrates OpenAI conventional commit tests from a separate file into tests/specs/openai/index.ts, removing the old file. Adds initial TogetherAI conventional commit tests in tests/specs/togetherai/index.ts and updates the main test suite to include TogetherAI. This refactor centralizes and expands coverage for commit message generation across providers.
* Remove tiktoken dependency and update packages
Removed @dqbd/tiktoken from dependencies and refactored config file path handling in config.ts. Updated devDependencies: clean-pkg-json, https-proxy-agent, and tsx to latest versions. Replaced createHttpsProxyAgent with HttpsProxyAgent in openai.ts and improved type usage and message sanitization.
* Add provider-specific model support
* Update pnpm version to 10 across workflows and default model settings
* Upgrade GitHub Actions to latest versions
* Update GitHub Actions to use newer versions
* Add version flag and version number display
* wip
* Implement onboarding and API key setup for AI providers
* Create .env.example
* Added clipboard and confirm flags
* Refactor commit message selection logic
Extracted commit message selection and confirmation into a reusable getCommitMessage function in aicommits.ts for improved readability and maintainability. Updated the refactor commit type description in prompt.ts for clarity.
* Add TOGETHER_API_KEY validation and locale check
* Add support for gitmoji commit message format
* Added CLI options and download badge to README
* Restore clipboardy dependency
* clipboardy 5
* Update dependency types and cleye versions
* wip
* wip
* wip
* Refactor provider handling and model selection
Introduces a provider abstraction layer with dedicated classes for OpenAI, Together AI, Ollama, and custom endpoints. Refactors commands to use provider instances for configuration, validation, and model selection. Updates setup and model selection flows for extensibility and improved error handling. Adjusts tests and config parsing for new provider logic.
* together as first provider
* Refactor provider and OpenAI API integration
Replaces custom HTTPS request logic with fetch for OpenAI API calls, removes proxy support, and standardizes provider model selection and base URL handling. Improves error handling and code readability across aicommits, prepare-commit-msg-hook, ollama provider, and openai utility modules.
* Refactor provider and model config to unified structure
Replaces individual provider classes with a single Provider class and unified ProviderDef structure. All provider configuration is now managed via OPENAI_API_KEY, OPENAI_BASE_URL, and OPENAI_MODEL keys. Removes legacy config keys and simplifies model selection, setup, and validation logic. Updates commands and utilities to use the new config and provider structure, improving maintainability and reducing code duplication.
* Update deprecated proxy config
* Update README.md
* Update README.md
* Refactor config resolution and update documentation
Improves configuration precedence by explicitly handling environment variables in getConfig and updates related command files to use the new signature. The README is updated to clarify the order of precedence for configuration sources and provide guidance on consistent environment variable usage.
* Update OpenAI integration with new API endpoint
* Refactor provider setup and model filtering logic
Moved custom provider base URL input to setup command and removed duplicate prompt from Provider class. Updated Ollama default base URL and removed model list slicing from provider definitions to allow full model lists. These changes improve configuration flow and provider flexibility.
* Add model search feature and remove provider parameter
* Remove name parameter from fetchModels call
* Update README.md
* Handle empty model responses and update default model
* Update models.ts
* Implement provider selection and config backup in setup command
* Add command descriptions and help
* Rename environment variables and update test suites
* Refactor setup command
* Refactor model filtering and provider handling
* Improve provider detection and configuration handling
* Refactor configuration management and provider imports
* fixes
* wip
* Allow releases on both main and develop branches
* wip
* fix tests
* Update Node.js version to v20
* Update Node.js version to v22
* fixing tests due to missing env
* feat: major CLI refactor
* Add update-notifier dependency and notify for prerelease versions
* Fix Together AI model setting
* Refactor setup command to simplify config updates
* feat: stop setup if missing api key
* Add caching to model fetching
* Update commit message prompt and spinner text
* Update aicommits.ts
* Refactor commit message helpers
* feat: improve commit message handling for better clarity and consistency acros
* fix: fixing typescript issue
* fix: fixing cli updates in theory
* feat: Add OpenRouter provider and generalize model defaults
* Add interactive terminal checks before commit prompts
* Return usage from generateCommitMessage and display tokens
* Update test.yml
* Update README.md
* Inline retries and enhance error handling in generateCommitMessage
* add conditional file listing for staged files in spinner (≤10)
* tokens x second
* wip
* Add OpenAI-compatible provider support and UX ideas doc
* Update command model and selectModel logic
* Implement retry with timeout and abort signal
* Update openai.ts
* feat: set default openai model to 4o mini!
* Modify prepare-commit-msg hook to prepend commit message
* Update .gitignore
* feat: use pbcopy on macOS for clipboard copy
* Add `pr` command to generate and create GitHub PRs
* feat: highlight provider default models in model selection
* feat: prepare for v2 release
BREAKING CHANGE: This commit triggers the major version bump to v2.0.0 for the aicommits project
* feat: Implement chunking for large diffs in commit message generation
* Update README.md
* Update prompt.ts
* Update openai.ts
* feat: Add page generation and deletion functionality to the story editor
* Update dependencies to latest versions: ai@^6.0.13,
* feat: Add instruction to be specific in commit messages
* feat: Enhance setup to handle cancellation, improve model selection messaging
* feat: Add clipboard functionality and improve commit message generation
* feat(cli): Add --no-verify flag to bypass pre-commit hooks
* Update package.json
* feat: Limit model options to prevent UI breaking in terminals
* feat: shorten commit messages
* Add support for reasoning models by extracting response after think tags
* Add LMStudio provider with local API endpoint
* Create AGENTS.md
* fix: exclude lock files from git diff only when non-lock files are staged
* feat: Update TogetherProvider default models to Kimi and Qwen3-Next-80B
* feat: Implement auto-update functionality for CLI tool
* fix: fixing autoupdater versions
* Delete web.ts
* fix: move exclude pathspecs after `--` separator in `getStagedDiffForFiles`
* Fix lock file detection to handle subdirectories
* refactor: replace update-notifier with custom auto-update implementation
* feat: readme for LM Studio
* fix: fixing pnpm lock
* feat: add type choice in setup command and fix cli description
* docs: update README with commit message format and options
* Create aic.png
* fix: replace npm update with npm install for package upgrades
* fix: suppress AI SDK warnings for unsupported parameters
* fix: update commit message format guidelines to enforce lowercase starting letters
* Add VS Code extension for AI Commits with CLI integration
* Update AI Commits icon to use custom PNG instead of sparkle
* Update VS Code extension icon and aic.png logo
* Update repository URL and categories in package.json
* feat: add multi-provider support for GitHub, GitLab, Bitbucket, and Azure
* Add automatic CLI update checks and activation on startup
* docs(vscode): update readme and use defaultType for generate
* chore(vscode-extension): bump version to 1.0.0 and update cursor script
* Create release-vscode.yml
* Update AI SDK packages to latest versions
* refactor: replace clipboardy with native clipboard commands
* feat: update together provider model list and test config with new models
* feat: add provider name and current model indicator to model selection
* Replace checkmark emoji with green check in model labels
* Add --prompt flag and rename --confirm to --yes
* fix: add --prompt flag for custom LLM behavior guidance
* fix(utils/openai,aicommits): pass abortSignal for timeout, fix diff truncation and token usage keys
Co-authored-by: Riccardo <riccardoemanuelegiorato@gmail.com>
* feat: add Groq and xAI providers with API key support
* feat: add provider headers support for AI commit generation
* feat(aicommits): implement headless mode for non-interactive usage and improve file detection feedback
* make sure that vscode extension will use stdout without clipboard
* wip
* fix: fixing deprecated kimi models
* fix: skip auto-update in headless mode
* fix: suppress headless stdout leaks
* refactor: accept options object in generateCommitMessage instead of positional params (#325)
refactor: accept options object in generateCommitMessage instead of positional params
* Update README.md
---------
Co-authored-by: Wieger Wolf <124579865+WiegerWolf@users.noreply.github.com>
Co-authored-by: Hassan El Mghari <hassan4709@gmail.com>
Co-authored-by: Henry Wong <henryxwong@gmail.com>
Co-authored-by: ImFeH2 <i@feh2.im>
Co-authored-by: tembo[bot] <208362400+tembo[bot]@users.noreply.github.com>1 parent 7631c2f commit 08da055
File tree
72 files changed
+11216
-4276
lines changed- .github
- workflows
- src
- commands
- feature
- providers
- utils
- tests
- specs
- cli
- openai
- togetherai
- vscode-extension
- .vscode
- media
- src
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
72 files changed
+11216
-4276
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
16 | 18 | | |
17 | | - | |
18 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
19 | 23 | | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
24 | 29 | | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| 12 | + | |
11 | 13 | | |
12 | 14 | | |
13 | 15 | | |
14 | 16 | | |
15 | 17 | | |
| 18 | + | |
16 | 19 | | |
| 20 | + | |
17 | 21 | | |
18 | 22 | | |
19 | 23 | | |
20 | 24 | | |
21 | 25 | | |
22 | 26 | | |
23 | | - | |
24 | 27 | | |
| 28 | + | |
25 | 29 | | |
| 30 | + | |
26 | 31 | | |
27 | 32 | | |
28 | 33 | | |
29 | 34 | | |
30 | 35 | | |
| 36 | + | |
31 | 37 | | |
32 | 38 | | |
33 | 39 | | |
| 40 | + | |
34 | 41 | | |
35 | 42 | | |
36 | 43 | | |
37 | 44 | | |
38 | 45 | | |
| 46 | + | |
39 | 47 | | |
40 | 48 | | |
41 | 49 | | |
42 | 50 | | |
43 | 51 | | |
44 | 52 | | |
45 | | - | |
| 53 | + | |
46 | 54 | | |
47 | 55 | | |
48 | | - | |
| 56 | + | |
49 | 57 | | |
50 | 58 | | |
| 59 | + | |
51 | 60 | | |
52 | | - | |
53 | 61 | | |
54 | 62 | | |
55 | 63 | | |
56 | 64 | | |
57 | | - | |
58 | 65 | | |
59 | 66 | | |
60 | 67 | | |
61 | 68 | | |
62 | 69 | | |
| 70 | + | |
63 | 71 | | |
64 | 72 | | |
65 | 73 | | |
| |||
70 | 78 | | |
71 | 79 | | |
72 | 80 | | |
| 81 | + | |
73 | 82 | | |
74 | 83 | | |
75 | 84 | | |
0 commit comments