Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
87e0b20
feat: Add VS Code Language Model API integration
Hi7cl4w Nov 3, 2025
307c4c1
refactor: Fix singleton patterns and code formatting in services
Hi7cl4w Nov 3, 2025
774cbf2
fix: Update type definitions for better type safety
Hi7cl4w Nov 3, 2025
d255e8e
refactor: Modernize test files with node: protocol and formatting
Hi7cl4w Nov 3, 2025
4aa09f3
style: Format configuration files with consistent style
Hi7cl4w Nov 3, 2025
de45e2e
docs: Update README with VS Code Language Model integration
Hi7cl4w Nov 3, 2025
68d841e
chore: Bump version to 1.1.0
Hi7cl4w Nov 3, 2025
b3b7b20
docs: Update CHANGELOG for version 1.1.0
Hi7cl4w Nov 3, 2025
3555c97
chore: Replace Prettier with Biome as default formatter
Hi7cl4w Nov 3, 2025
4af1f48
style: Apply Biome formatting to all files
Hi7cl4w Nov 3, 2025
e300c46
security: Limit GITHUB_TOKEN permissions in CI workflow
Hi7cl4w Nov 3, 2025
7a47650
fix: Properly handle promises to prevent unhandled rejections
Hi7cl4w Nov 3, 2025
c44a740
fix: Update VS Code API usage for compatibility with v1.90.0
Hi7cl4w Nov 3, 2025
f8f42b5
refactor: Replace all 'any' types with proper type definitions
Hi7cl4w Nov 3, 2025
6ae9a54
refactor: Fix singleton pattern in service constructors
Hi7cl4w Nov 3, 2025
c5addb0
fix: Resolve TypeScript issues in test suite
Hi7cl4w Nov 3, 2025
4ff48ac
refactor(types): reorder imports in git.d.ts for consistency
Hi7cl4w Nov 3, 2025
f3677ff
refactor: Replace any type with proper Mocha import syntax
Hi7cl4w Nov 3, 2025
dc48f8a
fix: Ensure Promise rejection reasons are Error objects
Hi7cl4w Nov 3, 2025
f65ea2b
refactor: Remove unnecessary async/await from command handlers
Hi7cl4w Nov 3, 2025
5a32cf6
refactor: remove unnecessary async/await from command handler
Hi7cl4w Nov 3, 2025
b2f2393
feat: add intelligent code indexing for AI commit generation
Hi7cl4w Nov 3, 2025
5ac67c0
feat: Add custom commit message template support with placeholders
Hi7cl4w Nov 3, 2025
3073da9
Potential fix for code scanning alert no. 2: Incomplete string escapi…
Hi7cl4w Nov 3, 2025
dbfafb7
feat: Add automated GitHub release workflow with comprehensive docume…
Hi7cl4w Nov 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 18 additions & 18 deletions .biomeignore
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# Build output
out/
dist/

# Dependencies
node_modules/

# Type definitions
**/*.d.ts

# Config files
webpack.config.js

# VSCode settings
.vscode/

# Large files
src/encoder.json
# Build output
out/
dist/
# Dependencies
node_modules/
# Type definitions
**/*.d.ts
# Config files
webpack.config.js
# VSCode settings
.vscode/
# Large files
src/encoder.json
56 changes: 28 additions & 28 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
name: Node.js CI

on:
push:
branches: ["main"]
pull_request:
branches: ["main"]

jobs:
build:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [16.x, 18.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- run: npm install
- run: npm run type-check
- run: npm run lint
- run: npm run compile
name: Node.js CI

on:
push:
branches: ["main"]
pull_request:
branches: ["main"]

jobs:
build:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [16.x, 18.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- run: npm install
- run: npm run type-check
- run: npm run lint
- run: npm run compile
1 change: 0 additions & 1 deletion .prettierrc

This file was deleted.

24 changes: 6 additions & 18 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,16 @@
"name": "Run Extension",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}",
],
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"args": ["--extensionDevelopmentPath=${workspaceFolder}"],
"outFiles": ["${workspaceFolder}/dist/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Run Extension (Disable Other Extentions)",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}",
"--disable-extensions"
],
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"args": ["--extensionDevelopmentPath=${workspaceFolder}", "--disable-extensions"],
"outFiles": ["${workspaceFolder}/dist/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
Expand All @@ -38,11 +29,8 @@
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/suite/index"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js",
"${workspaceFolder}/dist/**/*.js"
],
"outFiles": ["${workspaceFolder}/out/**/*.js", "${workspaceFolder}/dist/**/*.js"],
"preLaunchTask": "tasks: watch-tests"
}
]
}
}
5 changes: 4 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,8 @@
},
// Turn off tsc task auto detection since we have the necessary tasks as npm scripts
"typescript.tsc.autoDetect": "off",
"cSpell.words": ["Diffy", "GCMG"]
"cSpell.words": ["Diffy", "GCMG"],
// Use Biome as the default formatter
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true
}
69 changes: 33 additions & 36 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -1,40 +1,37 @@
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "watch",
"problemMatcher": "$ts-webpack-watch",
"isBackground": true,
"presentation": {
"reveal": "never",
"group": "watchers"
},
"group": {
"kind": "build",
"isDefault": true
}
},
{
"type": "npm",
"script": "watch-tests",
"problemMatcher": "$tsc-watch",
"isBackground": true,
"presentation": {
"reveal": "never",
"group": "watchers"
},
"group": "build"
},
{
"label": "tasks: watch-tests",
"dependsOn": [
"npm: watch",
"npm: watch-tests"
],
"problemMatcher": []
}
]
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "watch",
"problemMatcher": "$ts-webpack-watch",
"isBackground": true,
"presentation": {
"reveal": "never",
"group": "watchers"
},
"group": {
"kind": "build",
"isDefault": true
}
},
{
"type": "npm",
"script": "watch-tests",
"problemMatcher": "$tsc-watch",
"isBackground": true,
"presentation": {
"reveal": "never",
"group": "watchers"
},
"group": "build"
},
{
"label": "tasks: watch-tests",
"dependsOn": ["npm: watch", "npm: watch-tests"],
"problemMatcher": []
}
]
}
111 changes: 69 additions & 42 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,70 @@
# Change Log

All notable changes to the "diffy-explain-ai" extension will be documented in this file.

Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.

## [Unreleased]

- Initial release

## [0.0.6] - 2022-12-24

### Added

- Generate Commit Message.
- Explain Changes in Natural Language.
- Directly Generate Commit Message to VScode git commit input box. Copy to Clipboard

## [0.0.7] - 2022-12-24

### Fixed

- Commit Message Generation Improved

## [0.0.8] - 2022-12-24

### Changes

- Suggested Message as Newline Instead of Space

## [0.0.9] - 2022-12-24

### Added

- Explain and Preview Changes of Staged Files
### Changes

- Bug Fixes

## [0.0.10] - 2022-12-24
### Changes

# Change Log

All notable changes to the "diffy-explain-ai" extension will be documented in this file.

Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.

## [1.1.0] - 2025-11-03

### Added

- **VS Code Language Model API Integration**: Support for GitHub Copilot as an AI service provider
- New configuration option `aiServiceProvider` to choose between OpenAI and VS Code LM
- New configuration option `vscodeLmModel` to select between `copilot-gpt-4o` and `copilot-gpt-3.5-turbo`
- Dual AI provider architecture allowing users to switch between OpenAI API and GitHub Copilot

### Changed

- Updated VS Code engine requirement to ^1.90.0 for Language Model API support
- Improved singleton pattern implementation in service classes
- Modernized imports with `node:` protocol for Node.js built-in modules
- Enhanced type safety with better TypeScript type definitions

### Fixed

- Fixed singleton constructor patterns in OpenAiService, WorkspaceService, and VsCodeLlmService
- Fixed confusing void type in EventEmitter type definitions
- Removed unused variables and parameters warnings

### Documentation

- Updated README with instructions for both OpenAI and GitHub Copilot setup
- Added comprehensive configuration guide for dual AI provider support

## [Unreleased]

- Initial release

## [0.0.6] - 2022-12-24

### Added

- Generate Commit Message.
- Explain Changes in Natural Language.
- Directly Generate Commit Message to VScode git commit input box. Copy to Clipboard

## [0.0.7] - 2022-12-24

### Fixed

- Commit Message Generation Improved

## [0.0.8] - 2022-12-24

### Changes

- Suggested Message as Newline Instead of Space

## [0.0.9] - 2022-12-24

### Added

- Explain and Preview Changes of Staged Files
### Changes

- Bug Fixes

## [0.0.10] - 2022-12-24
### Changes

- Bug Fixes
Loading