Skip to content

Commit d3aa266

Browse files
authored
Merge branch 'main' into pr-title-lint
2 parents 547839f + c29f2fb commit d3aa266

14 files changed

+200
-22
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
# For syntax help see:
44
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax
55

6-
* @googleapis/senseai-eco
6+
* @gemini-cli-extensions/senseai-eco @gemini-cli-extensions/sql-server-maintainers

.github/renovate.json5

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
extends: [
3+
'config:recommended',
4+
':semanticCommitTypeAll(chore)',
5+
':ignoreUnstable',
6+
':separateMajorReleases',
7+
':prConcurrentLimitNone',
8+
':prHourlyLimitNone',
9+
':preserveSemverRanges',
10+
],
11+
rebaseWhen: 'conflicted',
12+
dependencyDashboardLabels: [
13+
'type: process',
14+
],
15+
packageRules: [
16+
{
17+
groupName: 'GitHub Actions',
18+
matchManagers: [
19+
'github-actions',
20+
],
21+
pinDigests: true,
22+
},
23+
],
24+
customManagers: [
25+
{
26+
customType: "regex",
27+
managerFilePatterns: ["/toolbox_version\\.txt$/"],
28+
matchStrings: ["(?<currentValue>[\\d\\.]+)"],
29+
datasourceTemplate: "github-releases",
30+
packageNameTemplate: "googleapis/genai-toolbox",
31+
extractVersionTemplate: "^v(?<version>.*)$",
32+
}
33+
]
34+
}

.github/workflows/json-lint.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Copyright 2025 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: Lint JSON
16+
17+
on:
18+
pull_request:
19+
branches: [ main ]
20+
21+
jobs:
22+
json-lint:
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Check out code
26+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
27+
28+
- name: Run JSON Lint
29+
run: jq . gemini-extension.json
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Copyright 2025 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# https://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: Lint Markdown
16+
17+
on:
18+
pull_request:
19+
branches: [ main ]
20+
21+
jobs:
22+
link-check:
23+
name: Run link check
24+
runs-on: ubuntu-latest
25+
steps:
26+
- name: Check out code
27+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
28+
29+
- name: Link Checker
30+
uses: lycheeverse/lychee-action@885c65f3dc543b57c898c8099f4e08c8afd178a2 # v2.6.1
31+
with:
32+
# There is no security token. So, it would fail on any links which aren't public.
33+
args: "--verbose --no-progress **/*.md"

.github/workflows/package-and-upload-assets.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939

4040
steps:
4141
- name: Checkout code at the new tag
42-
uses: actions/checkout@v4
42+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
4343
with:
4444
ref: ${{ github.event.release.tag_name }}
4545

@@ -66,7 +66,9 @@ jobs:
6666
6767
echo "Downloading binary from: ${DOWNLOAD_URL}"
6868
curl -L --fail -o "${SOURCE_BINARY}" "${DOWNLOAD_URL}"
69-
69+
70+
chmod +x ${SOURCE_BINARY}
71+
7072
echo "Binary downloaded and prepared."
7173
ls -l
7274
@@ -101,7 +103,7 @@ jobs:
101103
echo "ARCHIVE_PATH=${ARCHIVE_NAME}" >> $GITHUB_OUTPUT
102104
103105
- name: Upload archive as workflow artifact
104-
uses: actions/upload-artifact@v4
106+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
105107
with:
106108
name: ${{ steps.vars.outputs.archive_name }}
107109
path: ${{ steps.create_archive.outputs.ARCHIVE_PATH }}
@@ -115,10 +117,10 @@ jobs:
115117
contents: write
116118
steps:
117119
- name: Checkout code
118-
uses: actions/checkout@v4
120+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
119121

120122
- name: Download all archives from workflow artifacts
121-
uses: actions/download-artifact@v4
123+
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5
122124
with:
123125
path: release-archives
124126

@@ -134,4 +136,4 @@ jobs:
134136
run: |
135137
gh release upload \
136138
${{ github.event.release.tag_name }} \
137-
release-archives/*/*
139+
release-archives/*/*
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Copyright 2025 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# https://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
name: Presubmit Tests
15+
16+
on:
17+
pull_request:
18+
branches: [ main ]
19+
20+
jobs:
21+
run-presubmit-tests:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Check out code
25+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
26+
27+
- name: Install Gemini CLI
28+
run: npm install @google/gemini-cli
29+
30+
- name: Install toolbox binary
31+
run: |
32+
VERSION=$(cat toolbox_version.txt)
33+
curl -L -o toolbox https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
34+
chmod +x toolbox
35+
36+
- name: Install Extension
37+
run: yes | npx gemini extensions install --path=.

.lycheeignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
https://github.com/gemini-cli-extensions/sql-server/compare/

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.0.0"
2+
".": "0.1.1"
33
}

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Changelog
2+
3+
## [0.1.1](https://github.com/gemini-cli-extensions/sql-server/compare/0.1.0...0.1.1) (2025-09-30)
4+
5+
6+
### Features
7+
8+
* additional instructions for the context file ([#25](https://github.com/gemini-cli-extensions/sql-server/issues/25)) ([effd121](https://github.com/gemini-cli-extensions/sql-server/commit/effd1219f623e8021c5c26eee00e250c04e320c1))
9+
* standardize mcp server names ([#22](https://github.com/gemini-cli-extensions/sql-server/issues/22)) ([383f144](https://github.com/gemini-cli-extensions/sql-server/commit/383f14432c6132efdd5fb8df1d56b34c229ae09e))
10+
11+
## 0.1.0 (2025-09-21)
12+
13+
14+
### Features
15+
16+
* add SQL Server Extension ([cdf0e32](https://github.com/gemini-cli-extensions/sql-server/commit/cdf0e32ab4f93c62f331c9d4817fe0b848232cc8))

README.md

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
# Gemini CLI Extension - SQL Server
22

3+
> [!NOTE]
4+
> This extension is currently in beta (pre-v1.0), and may see breaking changes until the first stable release (v1.0).
5+
36
This Gemini CLI extension provides a set of tools to interact with [Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/) instances. It allows you to manage your databases, execute queries, and explore schemas directly from the [Gemini CLI](https://google-gemini.github.io/gemini-cli/), using natural language prompts.
47

8+
Learn more about [Gemini CLI Extensions](https://github.com/google-gemini/gemini-cli/blob/main/docs/extensions/index.md).
9+
510
## Why Use the SQL Server Extension?
611

712
* **Natural Language Management:** Stop wrestling with complex commands. Explore schemas and query data by describing what you want in plain English.
@@ -12,19 +17,21 @@ This Gemini CLI extension provides a set of tools to interact with [Microsoft SQ
1217

1318
Before you begin, ensure you have the following:
1419

15-
* [Gemini CLI](https://github.com/google-gemini/gemini-cli) installed.
20+
* [Gemini CLI](https://github.com/google-gemini/gemini-cli) installed with version **+v0.6.0**.
1621
* A running SQL Server instance.
1722
* A user with database-level permissions to execute queries.
1823

19-
## Installation
24+
## Getting Started
25+
26+
### Installation
2027

2128
To install the extension, use the command:
2229

2330
```bash
24-
gemini extensions install github.com/gemini-cli-extensions/sql-server
31+
gemini extensions install https://github.com/gemini-cli-extensions/sql-server
2532
```
2633

27-
## Configuration
34+
### Configuration
2835

2936
Set the following environment variables before starting the Gemini CLI:
3037

@@ -34,6 +41,19 @@ Set the following environment variables before starting the Gemini CLI:
3441
* `MSSQL_USER`: The username for authentication.
3542
* `MSSQL_PASSWORD`: The password for authentication.
3643

44+
### Start Gemini CLI
45+
46+
To start the Gemini CLI, use the following command:
47+
48+
```bash
49+
gemini
50+
```
51+
52+
> [!WARNING]
53+
> **Changing Instance & Database Connections**
54+
> Currently, the database connection must be configured before starting the Gemini CLI and can not be changed during a session.
55+
> To save and resume conversation history use command: `/chat save <tag>` and `/chat resume <tag>`.
56+
3757
## Usage Examples
3858

3959
Interact with SQl Server using natural language right from your IDE:
@@ -52,8 +72,12 @@ Interact with SQl Server using natural language right from your IDE:
5272

5373
## Additional Extensions
5474

55-
Find additional extensions to support your entire software development lifecycle at [github.com/gemini-cli-extensions](https://github.com/gemini-cli-extensions).
75+
Find additional extensions to support your entire software development lifecycle at [github.com/gemini-cli-extensions](https://github.com/gemini-cli-extensions), including:
76+
* [Cloud SQL for SQL Server extension](https://github.com/gemini-cli-extensions/cloud-sql-sqlserver)
77+
* and more!
5678

5779
## Troubleshooting
5880

59-
* "cannot execute binary file": Ensure the correct binary for your OS/Architecture has been downloaded. See [Installing the server](https://googleapis.github.io/genai-toolbox/getting-started/introduction/#installing-the-server) for more information.
81+
* "✖ Error during discovery for server: MCP error -32000: Connection closed": The database connection has not been established. Ensure your configuration is set via environment variables.
82+
* "✖ MCP ERROR: Error: spawn /Users/<USER>/.gemini/extensions/sql-server/toolbox ENOENT": The Toolbox binary did not download correctly. Ensure you are using Gemini CLI v0.6.0+.
83+
* "cannot execute binary file": The Toolbox binary did not download correctly. Ensure the correct binary for your OS/Architecture has been downloaded. See [Installing the server](https://googleapis.github.io/genai-toolbox/getting-started/introduction/#installing-the-server) for more information.

0 commit comments

Comments
 (0)