git-copilot-commit 0.4.6__tar.gz → 0.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- git_copilot_commit-0.5.0/.github/dependabot.yml +18 -0
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/.github/workflows/ci.yml +11 -7
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/PKG-INFO +16 -2
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/README.md +14 -0
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/pyproject.toml +9 -2
- git_copilot_commit-0.5.0/src/git_copilot_commit/cli.py +1004 -0
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/src/git_copilot_commit/git.py +144 -21
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/src/git_copilot_commit/github_copilot.py +207 -25
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/src/git_copilot_commit/prompts/commit-message-generator-prompt.md +2 -0
- git_copilot_commit-0.5.0/src/git_copilot_commit/prompts/split-commit-planner-prompt.md +41 -0
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/src/git_copilot_commit/settings.py +21 -0
- git_copilot_commit-0.5.0/src/git_copilot_commit/split_commits.py +503 -0
- git_copilot_commit-0.5.0/tests/conftest.py +31 -0
- git_copilot_commit-0.5.0/tests/test_cli.py +801 -0
- git_copilot_commit-0.5.0/tests/test_git.py +141 -0
- git_copilot_commit-0.5.0/tests/test_github_copilot_utils.py +345 -0
- git_copilot_commit-0.5.0/tests/test_settings.py +110 -0
- git_copilot_commit-0.5.0/tests/test_split_commits.py +379 -0
- git_copilot_commit-0.5.0/uv.lock +331 -0
- git_copilot_commit-0.4.6/src/git_copilot_commit/cli.py +0 -376
- git_copilot_commit-0.4.6/uv.lock +0 -216
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/.gitignore +0 -0
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/.justfile +0 -0
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/.python-version +0 -0
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/LICENSE +0 -0
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/src/git_copilot_commit/__init__.py +0 -0
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/src/git_copilot_commit/py.typed +0 -0
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/src/git_copilot_commit/version.py +0 -0
- {git_copilot_commit-0.4.6 → git_copilot_commit-0.5.0}/vhs/demo.vhs +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
updates:
|
|
3
|
+
- package-ecosystem: "github-actions"
|
|
4
|
+
directory: "/"
|
|
5
|
+
schedule:
|
|
6
|
+
interval: "weekly"
|
|
7
|
+
groups:
|
|
8
|
+
github-actions:
|
|
9
|
+
patterns:
|
|
10
|
+
- "*"
|
|
11
|
+
- package-ecosystem: "uv"
|
|
12
|
+
directory: "/"
|
|
13
|
+
schedule:
|
|
14
|
+
interval: "weekly"
|
|
15
|
+
groups:
|
|
16
|
+
uv-dependencies:
|
|
17
|
+
patterns:
|
|
18
|
+
- "*"
|
|
@@ -12,31 +12,35 @@ jobs:
|
|
|
12
12
|
test:
|
|
13
13
|
runs-on: ubuntu-latest
|
|
14
14
|
steps:
|
|
15
|
-
- uses: actions/checkout@
|
|
15
|
+
- uses: actions/checkout@v6
|
|
16
16
|
with:
|
|
17
17
|
fetch-depth: 0 # Fetch full history
|
|
18
18
|
fetch-tags: true # Fetch all tags
|
|
19
19
|
|
|
20
20
|
- name: Install uv
|
|
21
|
-
uses: astral-sh/setup-uv@
|
|
21
|
+
uses: astral-sh/setup-uv@v7
|
|
22
22
|
|
|
23
23
|
- name: Install the project
|
|
24
|
-
run: uv sync --locked --all-extras --dev
|
|
24
|
+
run: uv sync --locked --all-extras --group dev
|
|
25
25
|
|
|
26
26
|
- name: Run linting
|
|
27
|
-
run:
|
|
27
|
+
run: uv run --group dev ruff check
|
|
28
28
|
|
|
29
29
|
- name: Run type checking
|
|
30
|
-
run:
|
|
30
|
+
run: uv run --group dev ty check
|
|
31
|
+
|
|
32
|
+
- name: Run tests
|
|
33
|
+
run: uv run --group dev pytest
|
|
31
34
|
|
|
32
35
|
publish:
|
|
33
36
|
if: github.event_name == 'release' && github.event.action == 'published'
|
|
37
|
+
needs: test
|
|
34
38
|
runs-on: ubuntu-latest
|
|
35
39
|
steps:
|
|
36
|
-
- uses: actions/checkout@
|
|
40
|
+
- uses: actions/checkout@v6
|
|
37
41
|
|
|
38
42
|
- name: Install uv
|
|
39
|
-
uses: astral-sh/setup-uv@
|
|
43
|
+
uses: astral-sh/setup-uv@v7
|
|
40
44
|
|
|
41
45
|
- name: Install the project
|
|
42
46
|
run: uv sync --locked --all-extras --dev
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: git-copilot-commit
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: Automatically generate and commit changes using
|
|
3
|
+
Version: 0.5.0
|
|
4
|
+
Summary: Automatically generate and commit changes using GitHub Copilot
|
|
5
5
|
Author-email: Dheepak Krishnamurthy <1813121+kdheepak@users.noreply.github.com>
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Requires-Python: >=3.12
|
|
@@ -106,6 +106,8 @@ Usage: git-copilot-commit commit [OPTIONS]
|
|
|
106
106
|
|
|
107
107
|
Options:
|
|
108
108
|
-a, --all Stage all files before committing
|
|
109
|
+
--split Split staged hunks into multiple commits. Use
|
|
110
|
+
`--split=N` to prefer up to N commits.
|
|
109
111
|
-m, --model TEXT Model to use for generating commit message
|
|
110
112
|
-y, --yes Automatically accept the generated commit message
|
|
111
113
|
--help Show this message and exit.
|
|
@@ -131,6 +133,18 @@ Use a specific model:
|
|
|
131
133
|
uvx git-copilot-commit commit --model claude-3.5-sonnet
|
|
132
134
|
```
|
|
133
135
|
|
|
136
|
+
Split staged hunks into separate commits:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
uvx git-copilot-commit commit --split
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Prefer up to two commits:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
uvx git-copilot-commit commit --split 2
|
|
146
|
+
```
|
|
147
|
+
|
|
134
148
|
## Commit Message Format
|
|
135
149
|
|
|
136
150
|
Follows [Conventional Commits](https://www.conventionalcommits.org/):
|
|
@@ -92,6 +92,8 @@ Usage: git-copilot-commit commit [OPTIONS]
|
|
|
92
92
|
|
|
93
93
|
Options:
|
|
94
94
|
-a, --all Stage all files before committing
|
|
95
|
+
--split Split staged hunks into multiple commits. Use
|
|
96
|
+
`--split=N` to prefer up to N commits.
|
|
95
97
|
-m, --model TEXT Model to use for generating commit message
|
|
96
98
|
-y, --yes Automatically accept the generated commit message
|
|
97
99
|
--help Show this message and exit.
|
|
@@ -117,6 +119,18 @@ Use a specific model:
|
|
|
117
119
|
uvx git-copilot-commit commit --model claude-3.5-sonnet
|
|
118
120
|
```
|
|
119
121
|
|
|
122
|
+
Split staged hunks into separate commits:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
uvx git-copilot-commit commit --split
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Prefer up to two commits:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
uvx git-copilot-commit commit --split 2
|
|
132
|
+
```
|
|
133
|
+
|
|
120
134
|
## Commit Message Format
|
|
121
135
|
|
|
122
136
|
Follows [Conventional Commits](https://www.conventionalcommits.org/):
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "git-copilot-commit"
|
|
3
3
|
dynamic = ["version"]
|
|
4
|
-
description = "Automatically generate and commit changes using
|
|
4
|
+
description = "Automatically generate and commit changes using GitHub Copilot"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [
|
|
7
7
|
{ name = "Dheepak Krishnamurthy", email = "1813121+kdheepak@users.noreply.github.com" },
|
|
@@ -16,7 +16,7 @@ dependencies = [
|
|
|
16
16
|
]
|
|
17
17
|
|
|
18
18
|
[project.scripts]
|
|
19
|
-
git-copilot-commit = "git_copilot_commit.cli:
|
|
19
|
+
git-copilot-commit = "git_copilot_commit.cli:run"
|
|
20
20
|
|
|
21
21
|
[build-system]
|
|
22
22
|
requires = ["hatchling", "versioningit"]
|
|
@@ -42,6 +42,13 @@ dirty = "{base_version}+d{build_date:%Y%m%d}"
|
|
|
42
42
|
# Example formatted version: 1.2.3+d20230922
|
|
43
43
|
|
|
44
44
|
distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}"
|
|
45
|
+
|
|
46
|
+
[dependency-groups]
|
|
47
|
+
dev = [
|
|
48
|
+
"pytest>=9.0.2",
|
|
49
|
+
"ruff>=0.13.0",
|
|
50
|
+
"ty>=0.0.1a17",
|
|
51
|
+
]
|
|
45
52
|
# Example formatted version: 1.2.4.dev42+ge174a1f.d20230922
|
|
46
53
|
|
|
47
54
|
[tool.versioningit]
|