diffsage 1.2.0__tar.gz → 1.2.1__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.
- {diffsage-1.2.0/src/diffsage.egg-info → diffsage-1.2.1}/PKG-INFO +52 -20
- {diffsage-1.2.0 → diffsage-1.2.1}/README.md +51 -19
- {diffsage-1.2.0 → diffsage-1.2.1}/pyproject.toml +1 -1
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/commands/ask.py +6 -0
- {diffsage-1.2.0 → diffsage-1.2.1/src/diffsage.egg-info}/PKG-INFO +52 -20
- {diffsage-1.2.0 → diffsage-1.2.1}/LICENSE +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/setup.cfg +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/__init__.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/__main__.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/cli.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/commands/__init__.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/commands/auth.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/commands/commit.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/commands/config.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/commands/doctor.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/config/__init__.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/config/defaults.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/config/file_loader.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/config/loader.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/config/paths.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/config/resolver.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/config/schema.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/config/scope.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/config/settings.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/exceptions/__init__.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/exceptions/base.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/exceptions/credentials.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/exceptions/git.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/exceptions/provider.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/git/__init__.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/git/client.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/logging/__init__.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/logging/formatter.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/logging/logger.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/models/__init__.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/models/commit_message.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/models/config.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/models/credentials.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/models/doctor.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/models/git.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/models/provider.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/parsers/commit_message_parser.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/prompts/__init__.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/providers/__init__.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/providers/base.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/providers/factory.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/providers/gemini_provider.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/services/__init__.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/services/ai_service.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/services/commit_service.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/services/config_service.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/services/credentials_service.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/services/doctor_service.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/services/editor_service.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/services/git_service.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/services/prompt_service.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/storage/__init__.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/storage/base.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/storage/config_repository.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/storage/credentials_repository.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/ui/__init__.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/ui/ask_view.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/ui/auth_view.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/ui/base.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/ui/commit_view.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/ui/config_view.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage/ui/doctor_view.py +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage.egg-info/SOURCES.txt +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage.egg-info/dependency_links.txt +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage.egg-info/entry_points.txt +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage.egg-info/requires.txt +0 -0
- {diffsage-1.2.0 → diffsage-1.2.1}/src/diffsage.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: diffsage
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.1
|
|
4
4
|
Summary: AI-powered Git workflow assistant
|
|
5
5
|
Author: Gunitha Rathnayake
|
|
6
6
|
License: MIT
|
|
@@ -150,18 +150,38 @@ Its scope is intentionally focused on improving Git workflows.
|
|
|
150
150
|
|
|
151
151
|
# Project Status
|
|
152
152
|
|
|
153
|
-
> **Current Stage:**
|
|
153
|
+
> **Current Stage:** Alpha
|
|
154
154
|
|
|
155
|
-
DiffSage is
|
|
155
|
+
DiffSage is an actively developed open-source project.
|
|
156
156
|
|
|
157
|
-
The project is
|
|
157
|
+
The project is published on PyPI and distributed as a Python package for
|
|
158
|
+
developers, automation, and AI agents.
|
|
158
159
|
|
|
159
|
-
The
|
|
160
|
+
The current focus is on expanding Git workflow capabilities while maintaining
|
|
161
|
+
a stable architecture, clear documentation, reliable automation, and strong
|
|
162
|
+
engineering practices.
|
|
160
163
|
|
|
161
164
|
---
|
|
162
165
|
|
|
163
166
|
# Installation
|
|
164
167
|
|
|
168
|
+
## User Installation
|
|
169
|
+
|
|
170
|
+
DiffSage is published on PyPI and can be installed using `pipx`.
|
|
171
|
+
|
|
172
|
+
DiffSage currently requires Python 3.12.
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
pipx install diffsage
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
After installation verify the environment
|
|
179
|
+
```bash
|
|
180
|
+
diffsage doctor
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Developer Installation
|
|
184
|
+
|
|
165
185
|
Clone the repository:
|
|
166
186
|
|
|
167
187
|
```bash
|
|
@@ -192,28 +212,49 @@ Windows
|
|
|
192
212
|
Install the project:
|
|
193
213
|
|
|
194
214
|
```bash
|
|
195
|
-
pip install -e ".[dev]"
|
|
215
|
+
python -m pip install -e ".[dev]"
|
|
196
216
|
```
|
|
197
217
|
|
|
198
218
|
---
|
|
199
219
|
|
|
220
|
+
# Releases
|
|
221
|
+
|
|
222
|
+
DiffSage releases are published through GitHub Releases and distributed through PyPI.
|
|
223
|
+
|
|
224
|
+
Released package versions can be installed directly with:
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
pipx install diffsage
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
A specific version can be installed with:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
pipx install diffsage==1.2.0
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Release builds and PyPI publishing are automated through GitHub Actions.
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
200
240
|
# Configuration
|
|
201
241
|
|
|
202
242
|
DiffSage supports layered configuration through global and repository-local TOML files.
|
|
203
243
|
|
|
204
244
|
Application configuration controls how DiffSage behaves and can be managed through global, repository-local, and environment-based configuration.
|
|
205
245
|
|
|
206
|
-
Provider credentials are managed separately from application configuration.
|
|
207
246
|
Provider credentials are managed separately from application configuration and are not part of the Settings configuration model.
|
|
208
247
|
|
|
209
248
|
```env
|
|
210
249
|
DIFFSAGE_PROVIDER=gemini
|
|
211
|
-
DIFFSAGE_AI_MODEL
|
|
250
|
+
DIFFSAGE_AI_MODEL=<provider-supported-model>
|
|
212
251
|
DIFFSAGE_LOG_LEVEL=INFO
|
|
213
252
|
DIFFSAGE_TIMEOUT=60
|
|
214
253
|
DIFFSAGE_MAX_RETRIES=3
|
|
215
254
|
```
|
|
216
255
|
|
|
256
|
+
The configured model must be supported by the selected AI provider.
|
|
257
|
+
|
|
217
258
|
Configuration can also be managed directly from the CLI:
|
|
218
259
|
|
|
219
260
|
```bash
|
|
@@ -275,7 +316,6 @@ Display AI suggestion
|
|
|
275
316
|
Named credential profiles are also supported:
|
|
276
317
|
|
|
277
318
|
```bash
|
|
278
|
-
|
|
279
319
|
diffsage auth set gemini YOUR_API_KEY --name paid
|
|
280
320
|
```
|
|
281
321
|
|
|
@@ -390,10 +430,6 @@ Additional project documentation is available within the repository.
|
|
|
390
430
|
| `docs/changelog.md` | Project changes and milestones |
|
|
391
431
|
| `docs/adrs/ADR-*` | Architecture Decision Records (ADRs) |
|
|
392
432
|
|
|
393
|
-
Future documentation will include:
|
|
394
|
-
|
|
395
|
-
- Contributing Guide
|
|
396
|
-
|
|
397
433
|
---
|
|
398
434
|
|
|
399
435
|
# Roadmap
|
|
@@ -452,15 +488,11 @@ Features that fall outside these principles intentionally remain out of scope.
|
|
|
452
488
|
|
|
453
489
|
# Contributing
|
|
454
490
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
Future contributors will be encouraged to review:
|
|
491
|
+
DiffSage is an open-source project and contributions are welcome.
|
|
458
492
|
|
|
459
|
-
|
|
460
|
-
- Coding conventions
|
|
461
|
-
- ADRs
|
|
493
|
+
Before contributing, review the project architecture, coding conventions, and architectural decision records in the `docs/` directory.
|
|
462
494
|
|
|
463
|
-
|
|
495
|
+
Additional contribution guidelines will be documented as the project evolves.
|
|
464
496
|
|
|
465
497
|
---
|
|
466
498
|
|
|
@@ -111,18 +111,38 @@ Its scope is intentionally focused on improving Git workflows.
|
|
|
111
111
|
|
|
112
112
|
# Project Status
|
|
113
113
|
|
|
114
|
-
> **Current Stage:**
|
|
114
|
+
> **Current Stage:** Alpha
|
|
115
115
|
|
|
116
|
-
DiffSage is
|
|
116
|
+
DiffSage is an actively developed open-source project.
|
|
117
117
|
|
|
118
|
-
The project is
|
|
118
|
+
The project is published on PyPI and distributed as a Python package for
|
|
119
|
+
developers, automation, and AI agents.
|
|
119
120
|
|
|
120
|
-
The
|
|
121
|
+
The current focus is on expanding Git workflow capabilities while maintaining
|
|
122
|
+
a stable architecture, clear documentation, reliable automation, and strong
|
|
123
|
+
engineering practices.
|
|
121
124
|
|
|
122
125
|
---
|
|
123
126
|
|
|
124
127
|
# Installation
|
|
125
128
|
|
|
129
|
+
## User Installation
|
|
130
|
+
|
|
131
|
+
DiffSage is published on PyPI and can be installed using `pipx`.
|
|
132
|
+
|
|
133
|
+
DiffSage currently requires Python 3.12.
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
pipx install diffsage
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
After installation verify the environment
|
|
140
|
+
```bash
|
|
141
|
+
diffsage doctor
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Developer Installation
|
|
145
|
+
|
|
126
146
|
Clone the repository:
|
|
127
147
|
|
|
128
148
|
```bash
|
|
@@ -153,28 +173,49 @@ Windows
|
|
|
153
173
|
Install the project:
|
|
154
174
|
|
|
155
175
|
```bash
|
|
156
|
-
pip install -e ".[dev]"
|
|
176
|
+
python -m pip install -e ".[dev]"
|
|
157
177
|
```
|
|
158
178
|
|
|
159
179
|
---
|
|
160
180
|
|
|
181
|
+
# Releases
|
|
182
|
+
|
|
183
|
+
DiffSage releases are published through GitHub Releases and distributed through PyPI.
|
|
184
|
+
|
|
185
|
+
Released package versions can be installed directly with:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
pipx install diffsage
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
A specific version can be installed with:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
pipx install diffsage==1.2.0
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Release builds and PyPI publishing are automated through GitHub Actions.
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
161
201
|
# Configuration
|
|
162
202
|
|
|
163
203
|
DiffSage supports layered configuration through global and repository-local TOML files.
|
|
164
204
|
|
|
165
205
|
Application configuration controls how DiffSage behaves and can be managed through global, repository-local, and environment-based configuration.
|
|
166
206
|
|
|
167
|
-
Provider credentials are managed separately from application configuration.
|
|
168
207
|
Provider credentials are managed separately from application configuration and are not part of the Settings configuration model.
|
|
169
208
|
|
|
170
209
|
```env
|
|
171
210
|
DIFFSAGE_PROVIDER=gemini
|
|
172
|
-
DIFFSAGE_AI_MODEL
|
|
211
|
+
DIFFSAGE_AI_MODEL=<provider-supported-model>
|
|
173
212
|
DIFFSAGE_LOG_LEVEL=INFO
|
|
174
213
|
DIFFSAGE_TIMEOUT=60
|
|
175
214
|
DIFFSAGE_MAX_RETRIES=3
|
|
176
215
|
```
|
|
177
216
|
|
|
217
|
+
The configured model must be supported by the selected AI provider.
|
|
218
|
+
|
|
178
219
|
Configuration can also be managed directly from the CLI:
|
|
179
220
|
|
|
180
221
|
```bash
|
|
@@ -236,7 +277,6 @@ Display AI suggestion
|
|
|
236
277
|
Named credential profiles are also supported:
|
|
237
278
|
|
|
238
279
|
```bash
|
|
239
|
-
|
|
240
280
|
diffsage auth set gemini YOUR_API_KEY --name paid
|
|
241
281
|
```
|
|
242
282
|
|
|
@@ -351,10 +391,6 @@ Additional project documentation is available within the repository.
|
|
|
351
391
|
| `docs/changelog.md` | Project changes and milestones |
|
|
352
392
|
| `docs/adrs/ADR-*` | Architecture Decision Records (ADRs) |
|
|
353
393
|
|
|
354
|
-
Future documentation will include:
|
|
355
|
-
|
|
356
|
-
- Contributing Guide
|
|
357
|
-
|
|
358
394
|
---
|
|
359
395
|
|
|
360
396
|
# Roadmap
|
|
@@ -413,15 +449,11 @@ Features that fall outside these principles intentionally remain out of scope.
|
|
|
413
449
|
|
|
414
450
|
# Contributing
|
|
415
451
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
Future contributors will be encouraged to review:
|
|
452
|
+
DiffSage is an open-source project and contributions are welcome.
|
|
419
453
|
|
|
420
|
-
|
|
421
|
-
- Coding conventions
|
|
422
|
-
- ADRs
|
|
454
|
+
Before contributing, review the project architecture, coding conventions, and architectural decision records in the `docs/` directory.
|
|
423
455
|
|
|
424
|
-
|
|
456
|
+
Additional contribution guidelines will be documented as the project evolves.
|
|
425
457
|
|
|
426
458
|
---
|
|
427
459
|
|
|
@@ -4,6 +4,7 @@ from diffsage.exceptions import (
|
|
|
4
4
|
AuthenticationError,
|
|
5
5
|
ConfigError,
|
|
6
6
|
CredentialNotFoundError,
|
|
7
|
+
ModelNotFoundError,
|
|
7
8
|
ProviderUnavailableError,
|
|
8
9
|
)
|
|
9
10
|
from diffsage.logging.logger import get_logger
|
|
@@ -46,6 +47,11 @@ def ask(prompt: str) -> None:
|
|
|
46
47
|
view.show_error(str(e))
|
|
47
48
|
raise SystemExit(1) from None
|
|
48
49
|
|
|
50
|
+
except ModelNotFoundError as e:
|
|
51
|
+
logger.warning(str(e))
|
|
52
|
+
view.show_error(str(e))
|
|
53
|
+
raise SystemExit(1) from None
|
|
54
|
+
|
|
49
55
|
except ProviderUnavailableError as e:
|
|
50
56
|
logger.warning(str(e))
|
|
51
57
|
view.show_error(str(e))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: diffsage
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.1
|
|
4
4
|
Summary: AI-powered Git workflow assistant
|
|
5
5
|
Author: Gunitha Rathnayake
|
|
6
6
|
License: MIT
|
|
@@ -150,18 +150,38 @@ Its scope is intentionally focused on improving Git workflows.
|
|
|
150
150
|
|
|
151
151
|
# Project Status
|
|
152
152
|
|
|
153
|
-
> **Current Stage:**
|
|
153
|
+
> **Current Stage:** Alpha
|
|
154
154
|
|
|
155
|
-
DiffSage is
|
|
155
|
+
DiffSage is an actively developed open-source project.
|
|
156
156
|
|
|
157
|
-
The project is
|
|
157
|
+
The project is published on PyPI and distributed as a Python package for
|
|
158
|
+
developers, automation, and AI agents.
|
|
158
159
|
|
|
159
|
-
The
|
|
160
|
+
The current focus is on expanding Git workflow capabilities while maintaining
|
|
161
|
+
a stable architecture, clear documentation, reliable automation, and strong
|
|
162
|
+
engineering practices.
|
|
160
163
|
|
|
161
164
|
---
|
|
162
165
|
|
|
163
166
|
# Installation
|
|
164
167
|
|
|
168
|
+
## User Installation
|
|
169
|
+
|
|
170
|
+
DiffSage is published on PyPI and can be installed using `pipx`.
|
|
171
|
+
|
|
172
|
+
DiffSage currently requires Python 3.12.
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
pipx install diffsage
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
After installation verify the environment
|
|
179
|
+
```bash
|
|
180
|
+
diffsage doctor
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Developer Installation
|
|
184
|
+
|
|
165
185
|
Clone the repository:
|
|
166
186
|
|
|
167
187
|
```bash
|
|
@@ -192,28 +212,49 @@ Windows
|
|
|
192
212
|
Install the project:
|
|
193
213
|
|
|
194
214
|
```bash
|
|
195
|
-
pip install -e ".[dev]"
|
|
215
|
+
python -m pip install -e ".[dev]"
|
|
196
216
|
```
|
|
197
217
|
|
|
198
218
|
---
|
|
199
219
|
|
|
220
|
+
# Releases
|
|
221
|
+
|
|
222
|
+
DiffSage releases are published through GitHub Releases and distributed through PyPI.
|
|
223
|
+
|
|
224
|
+
Released package versions can be installed directly with:
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
pipx install diffsage
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
A specific version can be installed with:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
pipx install diffsage==1.2.0
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Release builds and PyPI publishing are automated through GitHub Actions.
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
200
240
|
# Configuration
|
|
201
241
|
|
|
202
242
|
DiffSage supports layered configuration through global and repository-local TOML files.
|
|
203
243
|
|
|
204
244
|
Application configuration controls how DiffSage behaves and can be managed through global, repository-local, and environment-based configuration.
|
|
205
245
|
|
|
206
|
-
Provider credentials are managed separately from application configuration.
|
|
207
246
|
Provider credentials are managed separately from application configuration and are not part of the Settings configuration model.
|
|
208
247
|
|
|
209
248
|
```env
|
|
210
249
|
DIFFSAGE_PROVIDER=gemini
|
|
211
|
-
DIFFSAGE_AI_MODEL
|
|
250
|
+
DIFFSAGE_AI_MODEL=<provider-supported-model>
|
|
212
251
|
DIFFSAGE_LOG_LEVEL=INFO
|
|
213
252
|
DIFFSAGE_TIMEOUT=60
|
|
214
253
|
DIFFSAGE_MAX_RETRIES=3
|
|
215
254
|
```
|
|
216
255
|
|
|
256
|
+
The configured model must be supported by the selected AI provider.
|
|
257
|
+
|
|
217
258
|
Configuration can also be managed directly from the CLI:
|
|
218
259
|
|
|
219
260
|
```bash
|
|
@@ -275,7 +316,6 @@ Display AI suggestion
|
|
|
275
316
|
Named credential profiles are also supported:
|
|
276
317
|
|
|
277
318
|
```bash
|
|
278
|
-
|
|
279
319
|
diffsage auth set gemini YOUR_API_KEY --name paid
|
|
280
320
|
```
|
|
281
321
|
|
|
@@ -390,10 +430,6 @@ Additional project documentation is available within the repository.
|
|
|
390
430
|
| `docs/changelog.md` | Project changes and milestones |
|
|
391
431
|
| `docs/adrs/ADR-*` | Architecture Decision Records (ADRs) |
|
|
392
432
|
|
|
393
|
-
Future documentation will include:
|
|
394
|
-
|
|
395
|
-
- Contributing Guide
|
|
396
|
-
|
|
397
433
|
---
|
|
398
434
|
|
|
399
435
|
# Roadmap
|
|
@@ -452,15 +488,11 @@ Features that fall outside these principles intentionally remain out of scope.
|
|
|
452
488
|
|
|
453
489
|
# Contributing
|
|
454
490
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
Future contributors will be encouraged to review:
|
|
491
|
+
DiffSage is an open-source project and contributions are welcome.
|
|
458
492
|
|
|
459
|
-
|
|
460
|
-
- Coding conventions
|
|
461
|
-
- ADRs
|
|
493
|
+
Before contributing, review the project architecture, coding conventions, and architectural decision records in the `docs/` directory.
|
|
462
494
|
|
|
463
|
-
|
|
495
|
+
Additional contribution guidelines will be documented as the project evolves.
|
|
464
496
|
|
|
465
497
|
---
|
|
466
498
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|