@reck98/git-smart 1.0.9 → 1.1.1
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.
- package/LICENSE +21 -0
- package/README.md +79 -14
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/config.d.ts +2 -2
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +126 -20
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/prechecks.d.ts.map +1 -1
- package/dist/commands/prechecks.js +26 -8
- package/dist/commands/prechecks.js.map +1 -1
- package/dist/core/config.d.ts +9 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +87 -13
- package/dist/core/config.js.map +1 -1
- package/dist/prompts/index.d.ts +3 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +26 -1
- package/dist/prompts/index.js.map +1 -1
- package/dist/providers/openrouter.d.ts.map +1 -1
- package/dist/providers/openrouter.js +19 -1
- package/dist/providers/openrouter.js.map +1 -1
- package/dist/utils/templates/go.gitignore +1 -0
- package/dist/utils/templates/java.gitignore +1 -0
- package/dist/utils/templates/node.gitignore +1 -0
- package/dist/utils/templates/php.gitignore +1 -0
- package/dist/utils/templates/python.gitignore +1 -0
- package/dist/utils/templates/ruby.gitignore +1 -0
- package/dist/utils/templates/rust.gitignore +1 -0
- package/dist/utils/templates.d.ts.map +1 -1
- package/dist/utils/templates.js +14 -7
- package/dist/utils/templates.js.map +1 -1
- package/package.json +1 -1
- package/src/utils/templates/go.gitignore +1 -0
- package/src/utils/templates/java.gitignore +1 -0
- package/src/utils/templates/node.gitignore +1 -0
- package/src/utils/templates/php.gitignore +1 -0
- package/src/utils/templates/python.gitignore +1 -0
- package/src/utils/templates/ruby.gitignore +1 -0
- package/src/utils/templates/rust.gitignore +1 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Aashish Kumar
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# git-smart [](https://www.npmjs.com/package/@reck98/git-smart)
|
|
1
|
+
# git-smart [](https://www.npmjs.com/package/@reck98/git-smart) [](https://www.npmjs.com/package/@reck98/git-smart) [](LICENSE) [](https://nodejs.org)
|
|
2
2
|
|
|
3
3
|
AI-powered Git workflow assistant that generates production-quality commit messages, summarizes code changes, and streamlines Git operations.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
npm install -g @reck98/git-smart@1.
|
|
6
|
+
npm install -g @reck98/git-smart@1.1.1
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
---
|
|
@@ -11,7 +11,7 @@ npm install -g @reck98/git-smart@1.0.9
|
|
|
11
11
|
## Features
|
|
12
12
|
|
|
13
13
|
- **Repository Validation** — Detects if the current directory is a Git repo; offers to initialize one.
|
|
14
|
-
- **.gitignore Generator** — Detects missing `.gitignore` and offers templates for Node, Python, Go, PHP, Ruby, Rust, Java.
|
|
14
|
+
- **.gitignore Generator** — Detects missing `.gitignore` and offers templates for Node, Python, Go, PHP, Ruby, Rust, Java. Automatically adds `.git-smart.json` to all templates and existing `.gitignore` files.
|
|
15
15
|
- **Remote Validation** — Detects missing remotes; prompts to add one interactively.
|
|
16
16
|
- **First Commit Detection** — Adapts behavior for repositories without a commit history.
|
|
17
17
|
- **Smart Staging** — Stage all, none, or select files interactively.
|
|
@@ -21,6 +21,8 @@ npm install -g @reck98/git-smart@1.0.9
|
|
|
21
21
|
- **Custom Editing** — Pick a generated message or write your own.
|
|
22
22
|
- **Push Workflow** — Optionally push to remote after committing.
|
|
23
23
|
- **Multi-Provider LLM** — OpenAI, OpenRouter, Anthropic, and Gemini.
|
|
24
|
+
- **Global & Local Config** — Set defaults once globally, override per project. Local config overrides global config.
|
|
25
|
+
- **Enhanced Config Display** — `config --show` displays file locations, env var status, API key sources, and repository info.
|
|
24
26
|
|
|
25
27
|
---
|
|
26
28
|
|
|
@@ -28,7 +30,7 @@ npm install -g @reck98/git-smart@1.0.9
|
|
|
28
30
|
|
|
29
31
|
```bash
|
|
30
32
|
# Install globally
|
|
31
|
-
npm install -g @reck98/git-smart@1.
|
|
33
|
+
npm install -g @reck98/git-smart@1.1.1
|
|
32
34
|
|
|
33
35
|
# Run the config wizard (required before first use)
|
|
34
36
|
git-smart config
|
|
@@ -44,7 +46,10 @@ git-smart
|
|
|
44
46
|
| Command | Description |
|
|
45
47
|
|---|---|
|
|
46
48
|
| `git-smart config` | Interactive configuration wizard for AI provider and API keys |
|
|
47
|
-
| `git-smart config --
|
|
49
|
+
| `git-smart config --global` | Save configuration globally (applies to all projects) |
|
|
50
|
+
| `git-smart config --show` | Display merged configuration with file locations, env vars, and repo info |
|
|
51
|
+
| `git-smart config --show --global` | Show only global configuration |
|
|
52
|
+
| `git-smart config --show --local` | Show only local configuration |
|
|
48
53
|
| `git-smart` | Full workflow: prechecks → stage → AI summary → commit → push |
|
|
49
54
|
| `git-smart --dry-run` | Generate summary and messages; no commit or push |
|
|
50
55
|
| `git-smart summary` | Generate change summary only |
|
|
@@ -95,13 +100,13 @@ END
|
|
|
95
100
|
### Global (recommended)
|
|
96
101
|
|
|
97
102
|
```bash
|
|
98
|
-
npm install -g @reck98/git-smart@1.
|
|
103
|
+
npm install -g @reck98/git-smart@1.1.1
|
|
99
104
|
```
|
|
100
105
|
|
|
101
106
|
### npx (no install)
|
|
102
107
|
|
|
103
108
|
```bash
|
|
104
|
-
npx @reck98/git-smart@1.
|
|
109
|
+
npx @reck98/git-smart@1.1.1
|
|
105
110
|
```
|
|
106
111
|
|
|
107
112
|
### From source
|
|
@@ -140,6 +145,19 @@ to get started.
|
|
|
140
145
|
|
|
141
146
|
## Configuration
|
|
142
147
|
|
|
148
|
+
### Config Locations
|
|
149
|
+
|
|
150
|
+
git-smart supports two configuration levels:
|
|
151
|
+
|
|
152
|
+
| Level | Location | Purpose |
|
|
153
|
+
|---|---|---|
|
|
154
|
+
| **Global** | `~/.config/git-smart/config.json` (Linux/macOS) or `%APPDATA%/git-smart/config.json` (Windows) | Default settings for all projects |
|
|
155
|
+
| **Local** | `./.git-smart.json` (project root) | Per-project overrides |
|
|
156
|
+
|
|
157
|
+
**Priority order:** Local config → Global config → Defaults
|
|
158
|
+
|
|
159
|
+
Local config overrides global config. Global config overrides built-in defaults.
|
|
160
|
+
|
|
143
161
|
### Config Wizard
|
|
144
162
|
|
|
145
163
|
Run the interactive wizard:
|
|
@@ -154,6 +172,19 @@ It will guide you through:
|
|
|
154
172
|
3. Entering your API key (masked input)
|
|
155
173
|
4. Optionally configuring additional providers
|
|
156
174
|
|
|
175
|
+
If a global config exists, the wizard will offer to copy its values to local config as a starting point.
|
|
176
|
+
|
|
177
|
+
### Global Configuration
|
|
178
|
+
|
|
179
|
+
Set defaults once, use everywhere:
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
# Save configuration globally
|
|
183
|
+
git-smart config --global
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
This creates a global config at `~/.config/git-smart/config.json`. When you run `git-smart config` in any project, you'll be prompted to use the global config as a starting point.
|
|
187
|
+
|
|
157
188
|
### Manual Configuration
|
|
158
189
|
|
|
159
190
|
Create `.git-smart.json` in your project root:
|
|
@@ -161,7 +192,7 @@ Create `.git-smart.json` in your project root:
|
|
|
161
192
|
```json
|
|
162
193
|
{
|
|
163
194
|
"provider": "openrouter",
|
|
164
|
-
"model": "
|
|
195
|
+
"model": "openrouter/free",
|
|
165
196
|
"conventionalCommits": true,
|
|
166
197
|
"autoPush": false,
|
|
167
198
|
"showSummary": true,
|
|
@@ -179,12 +210,33 @@ Create `.git-smart.json` in your project root:
|
|
|
179
210
|
| Option | Default | Description |
|
|
180
211
|
|---|---|---|
|
|
181
212
|
| `provider` | `openrouter` | Active LLM provider |
|
|
182
|
-
| `model` | `
|
|
213
|
+
| `model` | `openrouter/free` | Model name for the active provider |
|
|
183
214
|
| `conventionalCommits` | `true` | Generate Conventional Commit messages |
|
|
184
215
|
| `autoPush` | `false` | Automatically push after commit |
|
|
185
216
|
| `showSummary` | `true` | Display AI-generated summary before committing |
|
|
186
217
|
| `providers` | `{}` | Per-provider API key storage (allows instant switching) |
|
|
187
218
|
|
|
219
|
+
### Config Display
|
|
220
|
+
|
|
221
|
+
Show the full configuration with detailed info:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
git-smart config --show
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Output includes:
|
|
228
|
+
- Active provider and model settings
|
|
229
|
+
- Config file locations and whether they exist
|
|
230
|
+
- API keys (masked) with source (env var or config file)
|
|
231
|
+
- Environment variable status for all providers
|
|
232
|
+
- Repository info (remote URL, current branch)
|
|
233
|
+
- `.gitignore` status
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
git-smart config --show --global # Show only global config
|
|
237
|
+
git-smart config --show --local # Show only local config
|
|
238
|
+
```
|
|
239
|
+
|
|
188
240
|
### Configuration Gate
|
|
189
241
|
|
|
190
242
|
All AI-powered commands (`git-smart`, `git-smart --dry-run`, `git-smart summary`, `git-smart commit`) require a valid configuration. If missing, they will exit with a message directing you to run `git-smart config`.
|
|
@@ -204,8 +256,9 @@ Environment variables take **highest priority** over stored config.
|
|
|
204
256
|
|
|
205
257
|
Priority order:
|
|
206
258
|
1. Environment variable
|
|
207
|
-
2.
|
|
208
|
-
3.
|
|
259
|
+
2. Local config (`./.git-smart.json`)
|
|
260
|
+
3. Global config (`~/.config/git-smart/config.json`)
|
|
261
|
+
4. Built-in defaults
|
|
209
262
|
|
|
210
263
|
Examples:
|
|
211
264
|
|
|
@@ -222,12 +275,21 @@ $env:GIT_SMART_OPENROUTER_API_KEY="sk-or-v1-xxxx"
|
|
|
222
275
|
## Usage Examples
|
|
223
276
|
|
|
224
277
|
```bash
|
|
225
|
-
# Configure your provider and API key
|
|
278
|
+
# Configure your provider and API key (local)
|
|
226
279
|
git-smart config
|
|
227
280
|
|
|
228
|
-
#
|
|
281
|
+
# Configure globally (applies to all projects)
|
|
282
|
+
git-smart config --global
|
|
283
|
+
|
|
284
|
+
# Display current configuration with full details
|
|
229
285
|
git-smart config --show
|
|
230
286
|
|
|
287
|
+
# Show only global config
|
|
288
|
+
git-smart config --show --global
|
|
289
|
+
|
|
290
|
+
# Show only local config
|
|
291
|
+
git-smart config --show --local
|
|
292
|
+
|
|
231
293
|
# Full interactive workflow
|
|
232
294
|
git-smart
|
|
233
295
|
|
|
@@ -272,7 +334,8 @@ Suggested Commits
|
|
|
272
334
|
|
|
273
335
|
- API keys are **never** displayed in full. Only the first 8 and last 4 characters are shown (e.g., `sk-or-v1-****5156`).
|
|
274
336
|
- API keys are **never** logged to console, debug output, or telemetry.
|
|
275
|
-
-
|
|
337
|
+
- `.git-smart.json` is automatically added to `.gitignore` during prechecks and in all generated `.gitignore` templates, preventing accidental commits of API keys.
|
|
338
|
+
- You can also use environment variables instead of storing keys in the config file.
|
|
276
339
|
|
|
277
340
|
---
|
|
278
341
|
|
|
@@ -288,6 +351,8 @@ The `.gitignore` generator includes templates for:
|
|
|
288
351
|
- Rust
|
|
289
352
|
- Java
|
|
290
353
|
|
|
354
|
+
All templates automatically include `.git-smart.json` to prevent accidental API key commits. When running prechecks, `.git-smart.json` is also appended to existing `.gitignore` files if not already present.
|
|
355
|
+
|
|
291
356
|
---
|
|
292
357
|
|
|
293
358
|
## File Classification
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2CpC,wBAAgB,SAAS,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2CpC,wBAAgB,SAAS,IAAI,OAAO,CA6GnC"}
|
package/dist/cli.js
CHANGED
|
@@ -49,13 +49,15 @@ export function createCLI() {
|
|
|
49
49
|
.command('config')
|
|
50
50
|
.description('Configure AI provider and API keys')
|
|
51
51
|
.option('--show', 'Display current configuration')
|
|
52
|
+
.option('--global', 'Save configuration globally (applies to all projects)')
|
|
53
|
+
.option('--local', 'Show only local configuration (used with --show)')
|
|
52
54
|
.action(async (options) => {
|
|
53
55
|
try {
|
|
54
56
|
if (options.show) {
|
|
55
|
-
await showConfig();
|
|
57
|
+
await showConfig(options.global ? 'global' : options.local ? 'local' : 'merged');
|
|
56
58
|
return;
|
|
57
59
|
}
|
|
58
|
-
await runConfigWizard();
|
|
60
|
+
await runConfigWizard(options.global);
|
|
59
61
|
}
|
|
60
62
|
catch (error) {
|
|
61
63
|
handleError(error);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare function runConfigWizard(): Promise<void>;
|
|
2
|
-
export declare function showConfig(): Promise<void>;
|
|
1
|
+
export declare function runConfigWizard(global?: boolean): Promise<void>;
|
|
2
|
+
export declare function showConfig(scope?: 'merged' | 'global' | 'local'): Promise<void>;
|
|
3
3
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAaA,wBAAsB,eAAe,CAAC,MAAM,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFnE;AAED,wBAAsB,UAAU,CAAC,KAAK,GAAE,QAAQ,GAAG,QAAQ,GAAG,OAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0F/F"}
|
package/dist/commands/config.js
CHANGED
|
@@ -1,10 +1,41 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import {
|
|
2
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { homedir } from 'node:os';
|
|
5
|
+
import { loadConfig, saveConfig, saveGlobalConfig, loadGlobalConfig, loadLocalConfig, globalConfigPath, maskApiKey, getKeySource, ENV_VAR_MAP, isFirstRun as checkFirstRun, } from '../core/config.js';
|
|
3
6
|
import { PROVIDERS } from '../core/types.js';
|
|
4
|
-
import { promptConfigWizard, promptAdditionalProviderKey } from '../prompts/index.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
import { promptConfigWizard, promptAdditionalProviderKey, promptUseGlobalConfig } from '../prompts/index.js';
|
|
8
|
+
import { getRemoteUrl, getCurrentBranch, isGitRepo } from '../core/git.js';
|
|
9
|
+
export async function runConfigWizard(global = false) {
|
|
10
|
+
const globalExists = existsSync(globalConfigPath());
|
|
11
|
+
const globalConf = loadGlobalConfig();
|
|
12
|
+
if (global) {
|
|
13
|
+
console.log(chalk.cyan('\n git-smart global configuration\n'));
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
console.log(chalk.cyan('\n git-smart configuration\n'));
|
|
17
|
+
}
|
|
18
|
+
let config;
|
|
19
|
+
if (!global && globalExists && !checkFirstRun()) {
|
|
20
|
+
const choice = await promptUseGlobalConfig(globalConf);
|
|
21
|
+
if (choice === 'use') {
|
|
22
|
+
config = { ...globalConf };
|
|
23
|
+
const providers = { ...globalConf.providers };
|
|
24
|
+
config.providers = providers;
|
|
25
|
+
saveConfig(config);
|
|
26
|
+
console.log(chalk.green('\n Global config copied to local config.\n'));
|
|
27
|
+
for (const p of PROVIDERS) {
|
|
28
|
+
const key = config.providers?.[p]?.apiKey;
|
|
29
|
+
if (key) {
|
|
30
|
+
console.log(chalk.dim(` ${p}: ${maskApiKey(key)}`));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
console.log(chalk.dim(`\n Active provider: ${config.provider}`));
|
|
34
|
+
console.log(chalk.dim(` Model: ${config.model}`));
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const existing = global ? loadGlobalConfig() : loadLocalConfig() || loadGlobalConfig();
|
|
8
39
|
const { provider, model, apiKey, configureMore } = await promptConfigWizard();
|
|
9
40
|
const providers = { ...existing.providers };
|
|
10
41
|
if (apiKey) {
|
|
@@ -20,14 +51,20 @@ export async function runConfigWizard() {
|
|
|
20
51
|
}
|
|
21
52
|
}
|
|
22
53
|
}
|
|
23
|
-
|
|
54
|
+
config = {
|
|
24
55
|
...existing,
|
|
25
56
|
provider,
|
|
26
57
|
model,
|
|
27
58
|
providers,
|
|
28
59
|
};
|
|
29
|
-
|
|
30
|
-
|
|
60
|
+
if (global) {
|
|
61
|
+
saveGlobalConfig(config);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
saveConfig(config);
|
|
65
|
+
}
|
|
66
|
+
const label = global ? 'Global' : 'Local';
|
|
67
|
+
console.log(chalk.green(`\n ${label} configuration saved.\n`));
|
|
31
68
|
for (const p of PROVIDERS) {
|
|
32
69
|
const key = config.providers?.[p]?.apiKey;
|
|
33
70
|
if (key) {
|
|
@@ -37,20 +74,89 @@ export async function runConfigWizard() {
|
|
|
37
74
|
console.log(chalk.dim(`\n Active provider: ${config.provider}`));
|
|
38
75
|
console.log(chalk.dim(` Model: ${config.model}`));
|
|
39
76
|
}
|
|
40
|
-
export async function showConfig() {
|
|
41
|
-
const
|
|
42
|
-
|
|
77
|
+
export async function showConfig(scope = 'merged') {
|
|
78
|
+
const globalPath = globalConfigPath();
|
|
79
|
+
const localPath = join(process.cwd(), '.git-smart.json');
|
|
80
|
+
const hasGlobal = existsSync(globalPath);
|
|
81
|
+
const hasLocal = existsSync(localPath);
|
|
82
|
+
const globalConf = loadGlobalConfig();
|
|
83
|
+
const localConf = loadLocalConfig();
|
|
84
|
+
const mergedConf = loadConfig();
|
|
85
|
+
const config = scope === 'global' ? globalConf : (scope === 'local' ? (localConf || mergedConf) : mergedConf);
|
|
86
|
+
const scopeTitle = scope === 'global' ? 'global ' : (scope === 'local' ? 'local ' : '');
|
|
87
|
+
console.log(chalk.cyan(`\n git-smart ${scopeTitle}configuration\n`));
|
|
88
|
+
if (scope === 'local' && !hasLocal) {
|
|
89
|
+
console.log(chalk.yellow(' No local configuration file (.git-smart.json) found.'));
|
|
90
|
+
console.log(chalk.dim(' Showing effective fallback configuration.\n'));
|
|
91
|
+
}
|
|
92
|
+
else if (scope === 'global' && !hasGlobal) {
|
|
93
|
+
console.log(chalk.yellow(' No global configuration file found.'));
|
|
94
|
+
console.log(chalk.dim(' Showing default global configuration.\n'));
|
|
95
|
+
}
|
|
43
96
|
console.log(chalk.white(` Active provider: ${config.provider}`));
|
|
44
97
|
console.log(chalk.white(` Model: ${config.model}`));
|
|
45
|
-
console.log(chalk.white(` Conventional Commits: ${config.conventionalCommits}`));
|
|
46
|
-
console.log(chalk.white(` Auto Push: ${config.autoPush}`));
|
|
47
|
-
console.log(chalk.white(` Show Summary: ${config.showSummary}`));
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
98
|
+
console.log(chalk.white(` Conventional Commits: ${config.conventionalCommits ? 'yes' : 'no'}`));
|
|
99
|
+
console.log(chalk.white(` Auto Push: ${config.autoPush ? 'yes' : 'no'}`));
|
|
100
|
+
console.log(chalk.white(` Show Summary: ${config.showSummary ? 'yes' : 'no'}`));
|
|
101
|
+
console.log(chalk.cyan('\n Config Source:'));
|
|
102
|
+
const localDisplay = localPath.replace(/\\/g, '/').replace(process.cwd().replace(/\\/g, '/'), '.');
|
|
103
|
+
const home = homedir();
|
|
104
|
+
const globalDisplay = (globalPath.startsWith(home) ? globalPath.replace(home, '~') : globalPath).replace(/\\/g, '/');
|
|
105
|
+
console.log(chalk.white(` Local: ${localDisplay} ${hasLocal ? chalk.green('✓') : chalk.red('(not found)')}`));
|
|
106
|
+
console.log(chalk.white(` Global: ${globalDisplay} ${hasGlobal ? chalk.green('✓') : chalk.red('(not found)')}`));
|
|
107
|
+
if (scope === 'merged') {
|
|
108
|
+
console.log(chalk.cyan('\n Effective Config:'));
|
|
109
|
+
console.log(chalk.dim(' (Local overrides global, global overrides defaults)'));
|
|
110
|
+
}
|
|
111
|
+
console.log(chalk.cyan('\n API Keys:'));
|
|
112
|
+
for (const p of PROVIDERS) {
|
|
113
|
+
const { key, source } = getKeySource(p);
|
|
114
|
+
if (key) {
|
|
115
|
+
const masked = maskApiKey(key);
|
|
116
|
+
const sourceLabel = source === 'env' ? 'env var' : 'config file';
|
|
117
|
+
console.log(chalk.white(` ${p.padEnd(12)} ${chalk.green(masked)} ${chalk.dim('(from ' + sourceLabel + ')')}`));
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
console.log(chalk.white(` ${p.padEnd(12)} ${chalk.red('(not set)')}`));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
console.log(chalk.cyan('\n Environment Variables:'));
|
|
124
|
+
for (const p of PROVIDERS) {
|
|
125
|
+
const envVar = ENV_VAR_MAP[p];
|
|
126
|
+
const val = process.env[envVar];
|
|
127
|
+
if (val) {
|
|
128
|
+
console.log(chalk.white(` ${envVar}: ${chalk.green('set')}`));
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
console.log(chalk.white(` ${envVar}: ${chalk.red('not set')}`));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
console.log(chalk.cyan('\n Repository Info:'));
|
|
135
|
+
const repoOk = await isGitRepo();
|
|
136
|
+
if (!repoOk) {
|
|
137
|
+
console.log(chalk.white(` Git repo: ${chalk.red('no')}`));
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
console.log(chalk.white(` Git repo: ${chalk.green('yes')}`));
|
|
141
|
+
const branch = await getCurrentBranch();
|
|
142
|
+
console.log(chalk.white(` Branch: ${branch}`));
|
|
143
|
+
const remote = await getRemoteUrl();
|
|
144
|
+
if (remote) {
|
|
145
|
+
console.log(chalk.white(` Remote: ${remote}`));
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
console.log(chalk.white(` Remote: ${chalk.red('not configured')}`));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const gitignorePath = join(process.cwd(), '.gitignore');
|
|
152
|
+
if (existsSync(gitignorePath)) {
|
|
153
|
+
const content = readFileSync(gitignorePath, 'utf-8');
|
|
154
|
+
const ignored = content.split('\n').some(line => line.trim() === '.git-smart.json');
|
|
155
|
+
if (ignored) {
|
|
156
|
+
console.log(chalk.white(` .gitignore: ${chalk.green('includes .git-smart.json')}`));
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
console.log(chalk.white(` .gitignore: ${chalk.yellow('.git-smart.json NOT ignored')}`));
|
|
54
160
|
}
|
|
55
161
|
}
|
|
56
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prechecks.d.ts","sourceRoot":"","sources":["../../src/commands/prechecks.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"prechecks.d.ts","sourceRoot":"","sources":["../../src/commands/prechecks.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,CA2F5D"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import ora from 'ora';
|
|
3
|
-
import { isGitRepo, gitInit, hasGitIgnore, getRemoteUrl, addRemote } from '../core/git.js';
|
|
3
|
+
import { isGitRepo, gitInit, hasGitIgnore, getRemoteUrl, addRemote, isFirstCommit } from '../core/git.js';
|
|
4
4
|
import { promptInitOrExit, promptGitignore, promptAddRemote, promptRemoteUrl } from '../prompts/index.js';
|
|
5
5
|
import { getGitignoreTemplate } from '../utils/templates.js';
|
|
6
|
-
import { writeFileSync } from 'node:fs';
|
|
6
|
+
import { writeFileSync, readFileSync, appendFileSync, existsSync } from 'node:fs';
|
|
7
7
|
import { join } from 'node:path';
|
|
8
8
|
export async function runPreChecks() {
|
|
9
9
|
const spinner = ora();
|
|
@@ -39,6 +39,25 @@ export async function runPreChecks() {
|
|
|
39
39
|
else {
|
|
40
40
|
console.log(chalk.green('✓ .gitignore exists.'));
|
|
41
41
|
}
|
|
42
|
+
spinner.start('Checking .git-smart.json in .gitignore...');
|
|
43
|
+
const gitignorePath = join(process.cwd(), '.gitignore');
|
|
44
|
+
let gitSmartIgnored = false;
|
|
45
|
+
if (existsSync(gitignorePath)) {
|
|
46
|
+
const content = readFileSync(gitignorePath, 'utf-8');
|
|
47
|
+
gitSmartIgnored = content.split('\n').some(line => line.trim() === '.git-smart.json');
|
|
48
|
+
}
|
|
49
|
+
spinner.stop();
|
|
50
|
+
if (!gitSmartIgnored) {
|
|
51
|
+
let prefix = '';
|
|
52
|
+
if (existsSync(gitignorePath)) {
|
|
53
|
+
const content = readFileSync(gitignorePath, 'utf-8');
|
|
54
|
+
if (content.length > 0 && !content.endsWith('\n')) {
|
|
55
|
+
prefix = '\n';
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
appendFileSync(gitignorePath, `${prefix}.git-smart.json\n`, 'utf-8');
|
|
59
|
+
console.log(chalk.green('✓ Added .git-smart.json to .gitignore.'));
|
|
60
|
+
}
|
|
42
61
|
spinner.start('Checking remote...');
|
|
43
62
|
const remoteUrl = await getRemoteUrl();
|
|
44
63
|
spinner.stop();
|
|
@@ -58,18 +77,17 @@ export async function runPreChecks() {
|
|
|
58
77
|
console.log(chalk.green(`✓ Remote configured: ${remoteUrl}`));
|
|
59
78
|
}
|
|
60
79
|
spinner.start('Checking first commit...');
|
|
61
|
-
let
|
|
80
|
+
let firstCommit = false;
|
|
62
81
|
try {
|
|
63
|
-
|
|
64
|
-
isFirstCommit = await check();
|
|
82
|
+
firstCommit = await isFirstCommit();
|
|
65
83
|
}
|
|
66
84
|
catch {
|
|
67
|
-
|
|
85
|
+
firstCommit = true;
|
|
68
86
|
}
|
|
69
87
|
spinner.stop();
|
|
70
|
-
if (
|
|
88
|
+
if (firstCommit) {
|
|
71
89
|
console.log(chalk.cyan('ℹ First commit detected.'));
|
|
72
90
|
}
|
|
73
|
-
return { hasRemote, isFirstCommit };
|
|
91
|
+
return { hasRemote, isFirstCommit: firstCommit };
|
|
74
92
|
}
|
|
75
93
|
//# sourceMappingURL=prechecks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prechecks.js","sourceRoot":"","sources":["../../src/commands/prechecks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"prechecks.js","sourceRoot":"","sources":["../../src/commands/prechecks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAmB,MAAM,qBAAqB,CAAC;AAC3H,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;IAEtB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;IACjC,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACxC,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,GAAG,CAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9D,MAAM,OAAO,EAAE,CAAC;QAChB,WAAW,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,MAAM,YAAY,EAAE,CAAC;IAC1C,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACvD,MAAM,MAAM,GAAoB,MAAM,eAAe,EAAE,CAAC;QACxD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,QAAQ,EAAE,CAAC;gBACb,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,8BAA8B,MAAM,GAAG,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IACxD,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACrD,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,iBAAiB,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QACD,cAAc,CAAC,aAAa,EAAE,GAAG,MAAM,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IACvC,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,IAAI,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;IAEnC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;QAC1C,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,eAAe,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YACnD,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;YACrB,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACpC,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC1C,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,aAAa,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AACnD,CAAC"}
|
package/dist/core/config.d.ts
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import { GitSmartConfig, Provider, ConfigValidationError } from './types.js';
|
|
2
|
+
export declare const ENV_VAR_MAP: Record<Provider, string>;
|
|
3
|
+
export declare function globalConfigPath(): string;
|
|
4
|
+
export declare function loadGlobalConfig(): GitSmartConfig;
|
|
5
|
+
export declare function saveGlobalConfig(config: GitSmartConfig): void;
|
|
2
6
|
export declare function loadConfig(): GitSmartConfig;
|
|
7
|
+
export declare function loadLocalConfig(): GitSmartConfig | null;
|
|
3
8
|
export declare function saveConfig(config: GitSmartConfig): void;
|
|
4
9
|
export declare function getActiveProvider(): Provider;
|
|
5
10
|
export declare function getActiveModel(): string;
|
|
6
11
|
export declare function getActiveApiKey(): string | undefined;
|
|
12
|
+
export declare function getKeySource(provider: Provider): {
|
|
13
|
+
key: string | undefined;
|
|
14
|
+
source: 'env' | 'file' | 'none';
|
|
15
|
+
};
|
|
7
16
|
export declare function maskApiKey(key: string | undefined): string;
|
|
8
17
|
export declare function validateConfig(): ConfigValidationError[];
|
|
9
18
|
export declare function assertConfigured(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,qBAAqB,EAAuB,MAAM,YAAY,CAAC;AAWlG,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAKhD,CAAC;AAMF,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAwBD,wBAAgB,gBAAgB,IAAI,cAAc,CAYjD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAO7D;AAED,wBAAgB,UAAU,IAAI,cAAc,CAyB3C;AAED,wBAAgB,eAAe,IAAI,cAAc,GAAG,IAAI,CASvD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAGvD;AAED,wBAAgB,iBAAiB,IAAI,QAAQ,CAE5C;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAQpD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG;IAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAU7G;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG1D;AAED,wBAAgB,cAAc,IAAI,qBAAqB,EAAE,CAgCxD;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CASvC;AAED,wBAAgB,UAAU,IAAI,OAAO,CAEpC"}
|
package/dist/core/config.js
CHANGED
|
@@ -1,22 +1,30 @@
|
|
|
1
|
-
import { readFileSync, writeFileSync, existsSync } from 'node:fs';
|
|
1
|
+
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
3
4
|
const DEFAULT_CONFIG = {
|
|
4
5
|
provider: 'openrouter',
|
|
5
|
-
model: '
|
|
6
|
+
model: 'openrouter/free',
|
|
6
7
|
conventionalCommits: true,
|
|
7
8
|
autoPush: false,
|
|
8
9
|
showSummary: true,
|
|
9
10
|
providers: {},
|
|
10
11
|
};
|
|
11
|
-
const ENV_VAR_MAP = {
|
|
12
|
+
export const ENV_VAR_MAP = {
|
|
12
13
|
openai: 'GIT_SMART_OPENAI_API_KEY',
|
|
13
14
|
openrouter: 'GIT_SMART_OPENROUTER_API_KEY',
|
|
14
15
|
anthropic: 'GIT_SMART_ANTHROPIC_API_KEY',
|
|
15
16
|
gemini: 'GIT_SMART_GEMINI_API_KEY',
|
|
16
17
|
};
|
|
17
|
-
function
|
|
18
|
+
function localConfigPath() {
|
|
18
19
|
return join(process.cwd(), '.git-smart.json');
|
|
19
20
|
}
|
|
21
|
+
export function globalConfigPath() {
|
|
22
|
+
const home = homedir();
|
|
23
|
+
if (process.platform === 'win32') {
|
|
24
|
+
return join(process.env.APPDATA || join(home, 'AppData', 'Roaming'), 'git-smart', 'config.json');
|
|
25
|
+
}
|
|
26
|
+
return join(home, '.config', 'git-smart', 'config.json');
|
|
27
|
+
}
|
|
20
28
|
function getProviderFromKey(provider) {
|
|
21
29
|
const key = provider.toLowerCase();
|
|
22
30
|
if (['openai', 'openrouter', 'anthropic', 'gemini'].includes(key)) {
|
|
@@ -24,27 +32,81 @@ function getProviderFromKey(provider) {
|
|
|
24
32
|
}
|
|
25
33
|
return DEFAULT_CONFIG.provider;
|
|
26
34
|
}
|
|
35
|
+
function parseConfigFile(raw) {
|
|
36
|
+
try {
|
|
37
|
+
const parsed = JSON.parse(raw);
|
|
38
|
+
return {
|
|
39
|
+
...DEFAULT_CONFIG,
|
|
40
|
+
...parsed,
|
|
41
|
+
provider: getProviderFromKey(parsed.provider || DEFAULT_CONFIG.provider),
|
|
42
|
+
providers: { ...DEFAULT_CONFIG.providers, ...parsed.providers },
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export function loadGlobalConfig() {
|
|
50
|
+
const path = globalConfigPath();
|
|
51
|
+
if (!existsSync(path)) {
|
|
52
|
+
return { ...DEFAULT_CONFIG };
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
const raw = readFileSync(path, 'utf-8');
|
|
56
|
+
const result = parseConfigFile(raw);
|
|
57
|
+
return result || { ...DEFAULT_CONFIG };
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return { ...DEFAULT_CONFIG };
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
export function saveGlobalConfig(config) {
|
|
64
|
+
const path = globalConfigPath();
|
|
65
|
+
const dir = join(path, '..');
|
|
66
|
+
if (!existsSync(dir)) {
|
|
67
|
+
mkdirSync(dir, { recursive: true });
|
|
68
|
+
}
|
|
69
|
+
writeFileSync(path, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
70
|
+
}
|
|
27
71
|
export function loadConfig() {
|
|
28
|
-
const
|
|
72
|
+
const global = loadGlobalConfig();
|
|
73
|
+
const path = localConfigPath();
|
|
29
74
|
if (existsSync(path)) {
|
|
30
75
|
try {
|
|
31
76
|
const raw = readFileSync(path, 'utf-8');
|
|
32
77
|
const parsed = JSON.parse(raw);
|
|
33
78
|
return {
|
|
34
79
|
...DEFAULT_CONFIG,
|
|
80
|
+
...global,
|
|
35
81
|
...parsed,
|
|
36
|
-
provider: getProviderFromKey(parsed.provider || DEFAULT_CONFIG.provider),
|
|
37
|
-
providers: {
|
|
82
|
+
provider: getProviderFromKey(parsed.provider || global.provider || DEFAULT_CONFIG.provider),
|
|
83
|
+
providers: {
|
|
84
|
+
...DEFAULT_CONFIG.providers,
|
|
85
|
+
...global.providers,
|
|
86
|
+
...parsed.providers,
|
|
87
|
+
},
|
|
38
88
|
};
|
|
39
89
|
}
|
|
40
90
|
catch {
|
|
41
91
|
console.warn('Warning: Could not parse .git-smart.json, using defaults.');
|
|
42
92
|
}
|
|
43
93
|
}
|
|
44
|
-
return { ...DEFAULT_CONFIG };
|
|
94
|
+
return { ...DEFAULT_CONFIG, ...global };
|
|
95
|
+
}
|
|
96
|
+
export function loadLocalConfig() {
|
|
97
|
+
const path = localConfigPath();
|
|
98
|
+
if (!existsSync(path))
|
|
99
|
+
return null;
|
|
100
|
+
try {
|
|
101
|
+
const raw = readFileSync(path, 'utf-8');
|
|
102
|
+
return parseConfigFile(raw);
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
45
107
|
}
|
|
46
108
|
export function saveConfig(config) {
|
|
47
|
-
const path =
|
|
109
|
+
const path = localConfigPath();
|
|
48
110
|
writeFileSync(path, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
49
111
|
}
|
|
50
112
|
export function getActiveProvider() {
|
|
@@ -61,6 +123,17 @@ export function getActiveApiKey() {
|
|
|
61
123
|
return envKey;
|
|
62
124
|
return config.providers?.[config.provider]?.apiKey;
|
|
63
125
|
}
|
|
126
|
+
export function getKeySource(provider) {
|
|
127
|
+
const envVar = ENV_VAR_MAP[provider];
|
|
128
|
+
const envKey = process.env[envVar];
|
|
129
|
+
if (envKey)
|
|
130
|
+
return { key: envKey, source: 'env' };
|
|
131
|
+
const config = loadConfig();
|
|
132
|
+
const fileKey = config.providers?.[provider]?.apiKey;
|
|
133
|
+
if (fileKey)
|
|
134
|
+
return { key: fileKey, source: 'file' };
|
|
135
|
+
return { key: undefined, source: 'none' };
|
|
136
|
+
}
|
|
64
137
|
export function maskApiKey(key) {
|
|
65
138
|
if (!key || key.length < 8)
|
|
66
139
|
return '****';
|
|
@@ -68,12 +141,13 @@ export function maskApiKey(key) {
|
|
|
68
141
|
}
|
|
69
142
|
export function validateConfig() {
|
|
70
143
|
const errors = [];
|
|
71
|
-
const
|
|
72
|
-
|
|
144
|
+
const config = loadConfig();
|
|
145
|
+
const hasLocal = existsSync(localConfigPath());
|
|
146
|
+
const hasGlobal = existsSync(globalConfigPath());
|
|
147
|
+
if (!hasLocal && !hasGlobal) {
|
|
73
148
|
errors.push({ type: 'missing_config', message: 'No configuration file found.' });
|
|
74
149
|
return errors;
|
|
75
150
|
}
|
|
76
|
-
const config = loadConfig();
|
|
77
151
|
if (!config.provider) {
|
|
78
152
|
errors.push({ type: 'missing_provider', message: 'No provider specified in configuration.' });
|
|
79
153
|
}
|
|
@@ -105,6 +179,6 @@ export function assertConfigured() {
|
|
|
105
179
|
process.exit(1);
|
|
106
180
|
}
|
|
107
181
|
export function isFirstRun() {
|
|
108
|
-
return !existsSync(
|
|
182
|
+
return !existsSync(localConfigPath()) && !existsSync(globalConfigPath());
|
|
109
183
|
}
|
|
110
184
|
//# sourceMappingURL=config.js.map
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,MAAM,cAAc,GAAmB;IACrC,QAAQ,EAAE,YAAY;IACtB,KAAK,EAAE,iBAAiB;IACxB,mBAAmB,EAAE,IAAI;IACzB,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAA6B;IACnD,MAAM,EAAE,0BAA0B;IAClC,UAAU,EAAE,8BAA8B;IAC1C,SAAS,EAAE,6BAA6B;IACxC,MAAM,EAAE,0BAA0B;CACnC,CAAC;AAEF,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,GAAe,CAAC;IACzB,CAAC;IACD,OAAO,cAAc,CAAC,QAAQ,CAAC;AACjC,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO;YACL,GAAG,cAAc;YACjB,GAAG,MAAM;YACT,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC;YACxE,SAAS,EAAE,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE;SAChE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,MAAM,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAsB;IACrD,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAE/B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO;gBACL,GAAG,cAAc;gBACjB,GAAG,MAAM;gBACT,GAAG,MAAM;gBACT,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC;gBAC3F,SAAS,EAAE;oBACT,GAAG,cAAc,CAAC,SAAS;oBAC3B,GAAG,MAAM,CAAC,SAAS;oBACnB,GAAG,MAAM,CAAC,SAAS;iBACpB;aACF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAsB;IAC/C,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,MAAM;QAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAElD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IACrD,IAAI,OAAO;QAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAErD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAuB;IAChD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1C,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEjD,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;QACjF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;IAChG,CAAC;SAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,sBAAsB,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,YAAY,CAAC;QACjD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,yBAAyB,QAAQ,UAAU,MAAM,oCAAoC;SAC/F,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEhC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAC3E,CAAC"}
|
package/dist/prompts/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Provider } from '../core/types.js';
|
|
1
|
+
import { Provider, GitSmartConfig } from '../core/types.js';
|
|
2
2
|
export declare function promptInitOrExit(): Promise<'init' | 'exit'>;
|
|
3
3
|
export type GitignoreOption = 'node' | 'python' | 'go' | 'php' | 'ruby' | 'rust' | 'java' | 'skip';
|
|
4
4
|
export type StageChoice = 'all' | 'none' | 'select';
|
|
@@ -10,6 +10,7 @@ export declare function promptSelectFiles(files: string[]): Promise<string[]>;
|
|
|
10
10
|
export declare function promptUseConventionalCommits(): Promise<boolean>;
|
|
11
11
|
export declare function promptSelectCommitMessage(messages: string[]): Promise<string>;
|
|
12
12
|
export declare function promptPushToRemote(): Promise<boolean>;
|
|
13
|
+
export declare const DEFAULT_MODELS: Record<Provider, string>;
|
|
13
14
|
export interface ConfigWizardAnswers {
|
|
14
15
|
provider: Provider;
|
|
15
16
|
model: string;
|
|
@@ -18,4 +19,5 @@ export interface ConfigWizardAnswers {
|
|
|
18
19
|
}
|
|
19
20
|
export declare function promptConfigWizard(): Promise<ConfigWizardAnswers>;
|
|
20
21
|
export declare function promptAdditionalProviderKey(provider: Provider): Promise<string>;
|
|
22
|
+
export declare function promptUseGlobalConfig(globalConfig: GitSmartConfig): Promise<'use' | 'fresh'>;
|
|
21
23
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAa,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAa,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvE,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAajE;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACnG,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEpD,wBAAsB,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,CAmBhE;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAa7D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAUvD;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,CAc/D;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAW1E;AAED,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,OAAO,CAAC,CAarE;AAED,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BnF;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAa3D;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAKnD,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CA4CvE;AAED,wBAAsB,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAUrF;AAED,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAmBlG"}
|
package/dist/prompts/index.js
CHANGED
|
@@ -140,6 +140,12 @@ export async function promptPushToRemote() {
|
|
|
140
140
|
]);
|
|
141
141
|
return push;
|
|
142
142
|
}
|
|
143
|
+
export const DEFAULT_MODELS = {
|
|
144
|
+
openrouter: 'openrouter/free',
|
|
145
|
+
openai: 'gpt-4o-mini',
|
|
146
|
+
anthropic: 'claude-3-5-haiku-20241022',
|
|
147
|
+
gemini: 'gemini-1.5-flash',
|
|
148
|
+
};
|
|
143
149
|
export async function promptConfigWizard() {
|
|
144
150
|
const { provider } = await inquirer.prompt([
|
|
145
151
|
{
|
|
@@ -160,7 +166,7 @@ export async function promptConfigWizard() {
|
|
|
160
166
|
type: 'input',
|
|
161
167
|
name: 'model',
|
|
162
168
|
message: 'Enter model name:',
|
|
163
|
-
default: '
|
|
169
|
+
default: DEFAULT_MODELS[provider] || 'openrouter/free',
|
|
164
170
|
},
|
|
165
171
|
]);
|
|
166
172
|
const { apiKey } = await inquirer.prompt([
|
|
@@ -192,4 +198,23 @@ export async function promptAdditionalProviderKey(provider) {
|
|
|
192
198
|
]);
|
|
193
199
|
return apiKey;
|
|
194
200
|
}
|
|
201
|
+
export async function promptUseGlobalConfig(globalConfig) {
|
|
202
|
+
const configuredProviders = Object.entries(globalConfig.providers)
|
|
203
|
+
.filter(([, v]) => v.apiKey);
|
|
204
|
+
const { action } = await inquirer.prompt([
|
|
205
|
+
{
|
|
206
|
+
type: 'list',
|
|
207
|
+
name: 'action',
|
|
208
|
+
message: 'Global config found. Use it as starting point for local config?',
|
|
209
|
+
choices: [
|
|
210
|
+
{
|
|
211
|
+
name: `Use global config (provider: ${globalConfig.provider}, model: ${globalConfig.model})`,
|
|
212
|
+
value: 'use',
|
|
213
|
+
},
|
|
214
|
+
{ name: 'Start fresh', value: 'fresh' },
|
|
215
|
+
],
|
|
216
|
+
},
|
|
217
|
+
]);
|
|
218
|
+
return action;
|
|
219
|
+
}
|
|
195
220
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../src/providers/openrouter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,kBAAmB,YAAW,WAAW;IAC9C,gBAAgB,CACpB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../src/providers/openrouter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,kBAAmB,YAAW,WAAW;IAC9C,gBAAgB,CACpB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,UAAU,CAAC;CAsCvB"}
|
|
@@ -4,6 +4,10 @@ export class OpenRouterProvider {
|
|
|
4
4
|
const client = new OpenAI({
|
|
5
5
|
apiKey,
|
|
6
6
|
baseURL: 'https://openrouter.ai/api/v1',
|
|
7
|
+
defaultHeaders: {
|
|
8
|
+
'HTTP-Referer': 'https://github.com/reck98/git-smart',
|
|
9
|
+
'X-Title': 'git-smart',
|
|
10
|
+
},
|
|
7
11
|
});
|
|
8
12
|
const response = await client.chat.completions.create({
|
|
9
13
|
model,
|
|
@@ -16,7 +20,21 @@ export class OpenRouterProvider {
|
|
|
16
20
|
const content = response.choices[0]?.message?.content;
|
|
17
21
|
if (!content)
|
|
18
22
|
throw new Error('No response from OpenRouter');
|
|
19
|
-
|
|
23
|
+
const jsonMatch = content.match(/\{[\s\S]*\}/);
|
|
24
|
+
if (!jsonMatch)
|
|
25
|
+
throw new Error('No JSON found in OpenRouter response');
|
|
26
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
27
|
+
return {
|
|
28
|
+
summary: Array.isArray(parsed.summary)
|
|
29
|
+
? parsed.summary.map(String)
|
|
30
|
+
: (typeof parsed.summary === 'string' ? [parsed.summary] : []),
|
|
31
|
+
impact: (typeof parsed.impact === 'string' && ['low', 'medium', 'high'].includes(parsed.impact.toLowerCase())
|
|
32
|
+
? parsed.impact.toLowerCase()
|
|
33
|
+
: 'medium'),
|
|
34
|
+
messages: Array.isArray(parsed.messages)
|
|
35
|
+
? parsed.messages.map(String)
|
|
36
|
+
: (typeof parsed.messages === 'string' ? [parsed.messages] : []),
|
|
37
|
+
};
|
|
20
38
|
}
|
|
21
39
|
}
|
|
22
40
|
//# sourceMappingURL=openrouter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/providers/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAI5B,MAAM,OAAO,kBAAkB;IAC7B,KAAK,CAAC,gBAAgB,CACpB,YAAoB,EACpB,UAAkB,EAClB,MAAc,EACd,KAAa;QAEb,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;YACxB,MAAM;YACN,OAAO,EAAE,8BAA8B;
|
|
1
|
+
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/providers/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAI5B,MAAM,OAAO,kBAAkB;IAC7B,KAAK,CAAC,gBAAgB,CACpB,YAAoB,EACpB,UAAkB,EAClB,MAAc,EACd,KAAa;QAEb,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;YACxB,MAAM;YACN,OAAO,EAAE,8BAA8B;YACvC,cAAc,EAAE;gBACd,cAAc,EAAE,qCAAqC;gBACrD,SAAS,EAAE,WAAW;aACvB;SACF,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACpD,KAAK;YACL,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;gBACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;aACtC;YACD,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;SACzC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;QACtD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAE7D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAExE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBACpC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC5B,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,EAAE,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC3G,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC7B,CAAC,CAAC,QAAQ,CAAyB;YACrC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACtC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC7B,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAoFtD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CASpE"}
|
package/dist/utils/templates.js
CHANGED
|
@@ -14,7 +14,8 @@ coverage/
|
|
|
14
14
|
npm-debug.log*
|
|
15
15
|
yarn-debug.log*
|
|
16
16
|
yarn-error.log*
|
|
17
|
-
.pnpm-debug.log
|
|
17
|
+
.pnpm-debug.log*
|
|
18
|
+
.git-smart.json`,
|
|
18
19
|
python: `__pycache__/
|
|
19
20
|
*.py[cod]
|
|
20
21
|
*$py.class
|
|
@@ -27,7 +28,8 @@ venv/
|
|
|
27
28
|
.eggs/
|
|
28
29
|
dist/
|
|
29
30
|
build/
|
|
30
|
-
*.egg
|
|
31
|
+
*.egg
|
|
32
|
+
.git-smart.json`,
|
|
31
33
|
go: `go.work
|
|
32
34
|
*.exe
|
|
33
35
|
*.exe~
|
|
@@ -36,22 +38,26 @@ build/
|
|
|
36
38
|
*.dylib
|
|
37
39
|
*.test
|
|
38
40
|
*.out
|
|
39
|
-
vendor
|
|
41
|
+
vendor/
|
|
42
|
+
.git-smart.json`,
|
|
40
43
|
php: `vendor/
|
|
41
44
|
node_modules/
|
|
42
45
|
.env
|
|
43
46
|
*.log
|
|
44
47
|
.phpunit.cache
|
|
45
|
-
.php_cs.cache
|
|
48
|
+
.php_cs.cache
|
|
49
|
+
.git-smart.json`,
|
|
46
50
|
ruby: `*.gem
|
|
47
51
|
.bundle/
|
|
48
52
|
vendor/bundle
|
|
49
53
|
.bundled_gems
|
|
50
54
|
*.lock
|
|
51
|
-
.env
|
|
55
|
+
.env
|
|
56
|
+
.git-smart.json`,
|
|
52
57
|
rust: `target/
|
|
53
58
|
**/*.rs.bk
|
|
54
|
-
Cargo.lock
|
|
59
|
+
Cargo.lock
|
|
60
|
+
.git-smart.json`,
|
|
55
61
|
java: `*.class
|
|
56
62
|
*.jar
|
|
57
63
|
*.war
|
|
@@ -64,7 +70,8 @@ build/
|
|
|
64
70
|
*.iml
|
|
65
71
|
.settings/
|
|
66
72
|
.project
|
|
67
|
-
.classpath
|
|
73
|
+
.classpath
|
|
74
|
+
.git-smart.json`,
|
|
68
75
|
skip: '',
|
|
69
76
|
};
|
|
70
77
|
export function getGitignoreTemplate(option) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAEnD,MAAM,mBAAmB,GAAoC;IAC3D,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAEnD,MAAM,mBAAmB,GAAoC;IAC3D,IAAI,EAAE;;;;;;;;;;;gBAWQ;IAEd,MAAM,EAAE;;;;;;;;;;;;;gBAaM;IAEd,EAAE,EAAE;;;;;;;;;gBASU;IAEd,GAAG,EAAE;;;;;;gBAMS;IAEd,IAAI,EAAE;;;;;;gBAMQ;IAEd,IAAI,EAAE;;;gBAGQ;IAEd,IAAI,EAAE;;;;;;;;;;;;;gBAaQ;IACd,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,MAAuB;IAC1D,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,MAAM,YAAY,CAAC,CAAC;IAC9D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reck98/git-smart",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "AI-powered Git workflow assistant that generates production-quality commit messages, summarizes code changes, and streamlines Git operations.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|