@reck98/git-smart 1.0.8 → 1.1.0
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/README.md +81 -9
- 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 +112 -18
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/prechecks.d.ts.map +1 -1
- package/dist/commands/prechecks.js +14 -1
- 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 +86 -12
- package/dist/core/config.js.map +1 -1
- package/dist/prompts/index.d.ts +2 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +19 -0
- package/dist/prompts/index.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/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
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.0
|
|
6
|
+
npm install -g @reck98/git-smart@1.1.0
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
---
|
|
@@ -11,7 +11,7 @@ npm install -g @reck98/git-smart@1.0.8
|
|
|
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.8
|
|
|
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.8
|
|
|
28
30
|
|
|
29
31
|
```bash
|
|
30
32
|
# Install globally
|
|
31
|
-
npm install -g @reck98/git-smart@1.0
|
|
33
|
+
npm install -g @reck98/git-smart@1.1.0
|
|
32
34
|
|
|
33
35
|
# Run the config wizard (required before first use)
|
|
34
36
|
git-smart config
|
|
@@ -44,6 +46,10 @@ git-smart
|
|
|
44
46
|
| Command | Description |
|
|
45
47
|
|---|---|
|
|
46
48
|
| `git-smart config` | Interactive configuration wizard for AI provider and API keys |
|
|
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 |
|
|
47
53
|
| `git-smart` | Full workflow: prechecks → stage → AI summary → commit → push |
|
|
48
54
|
| `git-smart --dry-run` | Generate summary and messages; no commit or push |
|
|
49
55
|
| `git-smart summary` | Generate change summary only |
|
|
@@ -94,13 +100,13 @@ END
|
|
|
94
100
|
### Global (recommended)
|
|
95
101
|
|
|
96
102
|
```bash
|
|
97
|
-
npm install -g @reck98/git-smart@1.0
|
|
103
|
+
npm install -g @reck98/git-smart@1.1.0
|
|
98
104
|
```
|
|
99
105
|
|
|
100
106
|
### npx (no install)
|
|
101
107
|
|
|
102
108
|
```bash
|
|
103
|
-
npx @reck98/git-smart@1.0
|
|
109
|
+
npx @reck98/git-smart@1.1.0
|
|
104
110
|
```
|
|
105
111
|
|
|
106
112
|
### From source
|
|
@@ -139,6 +145,19 @@ to get started.
|
|
|
139
145
|
|
|
140
146
|
## Configuration
|
|
141
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
|
+
|
|
142
161
|
### Config Wizard
|
|
143
162
|
|
|
144
163
|
Run the interactive wizard:
|
|
@@ -153,6 +172,19 @@ It will guide you through:
|
|
|
153
172
|
3. Entering your API key (masked input)
|
|
154
173
|
4. Optionally configuring additional providers
|
|
155
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
|
+
|
|
156
188
|
### Manual Configuration
|
|
157
189
|
|
|
158
190
|
Create `.git-smart.json` in your project root:
|
|
@@ -184,6 +216,27 @@ Create `.git-smart.json` in your project root:
|
|
|
184
216
|
| `showSummary` | `true` | Display AI-generated summary before committing |
|
|
185
217
|
| `providers` | `{}` | Per-provider API key storage (allows instant switching) |
|
|
186
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
|
+
|
|
187
240
|
### Configuration Gate
|
|
188
241
|
|
|
189
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`.
|
|
@@ -203,8 +256,9 @@ Environment variables take **highest priority** over stored config.
|
|
|
203
256
|
|
|
204
257
|
Priority order:
|
|
205
258
|
1. Environment variable
|
|
206
|
-
2.
|
|
207
|
-
3.
|
|
259
|
+
2. Local config (`./.git-smart.json`)
|
|
260
|
+
3. Global config (`~/.config/git-smart/config.json`)
|
|
261
|
+
4. Built-in defaults
|
|
208
262
|
|
|
209
263
|
Examples:
|
|
210
264
|
|
|
@@ -221,9 +275,21 @@ $env:GIT_SMART_OPENROUTER_API_KEY="sk-or-v1-xxxx"
|
|
|
221
275
|
## Usage Examples
|
|
222
276
|
|
|
223
277
|
```bash
|
|
224
|
-
# Configure your provider and API key
|
|
278
|
+
# Configure your provider and API key (local)
|
|
225
279
|
git-smart config
|
|
226
280
|
|
|
281
|
+
# Configure globally (applies to all projects)
|
|
282
|
+
git-smart config --global
|
|
283
|
+
|
|
284
|
+
# Display current configuration with full details
|
|
285
|
+
git-smart config --show
|
|
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
|
+
|
|
227
293
|
# Full interactive workflow
|
|
228
294
|
git-smart
|
|
229
295
|
|
|
@@ -238,6 +304,9 @@ git-smart commit
|
|
|
238
304
|
|
|
239
305
|
# Push current branch to origin
|
|
240
306
|
git-smart push
|
|
307
|
+
|
|
308
|
+
# Show commit history
|
|
309
|
+
git-smart history
|
|
241
310
|
```
|
|
242
311
|
|
|
243
312
|
---
|
|
@@ -265,7 +334,8 @@ Suggested Commits
|
|
|
265
334
|
|
|
266
335
|
- API keys are **never** displayed in full. Only the first 8 and last 4 characters are shown (e.g., `sk-or-v1-****5156`).
|
|
267
336
|
- API keys are **never** logged to console, debug output, or telemetry.
|
|
268
|
-
-
|
|
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.
|
|
269
339
|
|
|
270
340
|
---
|
|
271
341
|
|
|
@@ -281,6 +351,8 @@ The `.gitignore` generator includes templates for:
|
|
|
281
351
|
- Rust
|
|
282
352
|
- Java
|
|
283
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
|
+
|
|
284
356
|
---
|
|
285
357
|
|
|
286
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":"AAYA,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,CA8E/F"}
|
package/dist/commands/config.js
CHANGED
|
@@ -1,10 +1,40 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import {
|
|
2
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { loadConfig, saveConfig, saveGlobalConfig, loadGlobalConfig, loadLocalConfig, globalConfigPath, maskApiKey, getKeySource, ENV_VAR_MAP, isFirstRun as checkFirstRun, } from '../core/config.js';
|
|
3
5
|
import { PROVIDERS } from '../core/types.js';
|
|
4
|
-
import { promptConfigWizard, promptAdditionalProviderKey } from '../prompts/index.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
import { promptConfigWizard, promptAdditionalProviderKey, promptUseGlobalConfig } from '../prompts/index.js';
|
|
7
|
+
import { getRemoteUrl, getCurrentBranch, isGitRepo } from '../core/git.js';
|
|
8
|
+
export async function runConfigWizard(global = false) {
|
|
9
|
+
const globalExists = existsSync(globalConfigPath());
|
|
10
|
+
const globalConf = loadGlobalConfig();
|
|
11
|
+
if (global) {
|
|
12
|
+
console.log(chalk.cyan('\n git-smart global configuration\n'));
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
console.log(chalk.cyan('\n git-smart configuration\n'));
|
|
16
|
+
}
|
|
17
|
+
let config;
|
|
18
|
+
if (!global && globalExists && !checkFirstRun()) {
|
|
19
|
+
const choice = await promptUseGlobalConfig(globalConf);
|
|
20
|
+
if (choice === 'use') {
|
|
21
|
+
config = { ...globalConf };
|
|
22
|
+
const providers = { ...globalConf.providers };
|
|
23
|
+
config.providers = providers;
|
|
24
|
+
saveConfig(config);
|
|
25
|
+
console.log(chalk.green('\n Global config copied to local config.\n'));
|
|
26
|
+
for (const p of PROVIDERS) {
|
|
27
|
+
const key = config.providers?.[p]?.apiKey;
|
|
28
|
+
if (key) {
|
|
29
|
+
console.log(chalk.dim(` ${p}: ${maskApiKey(key)}`));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
console.log(chalk.dim(`\n Active provider: ${config.provider}`));
|
|
33
|
+
console.log(chalk.dim(` Model: ${config.model}`));
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const existing = global ? loadGlobalConfig() : loadLocalConfig() || loadGlobalConfig();
|
|
8
38
|
const { provider, model, apiKey, configureMore } = await promptConfigWizard();
|
|
9
39
|
const providers = { ...existing.providers };
|
|
10
40
|
if (apiKey) {
|
|
@@ -20,14 +50,20 @@ export async function runConfigWizard() {
|
|
|
20
50
|
}
|
|
21
51
|
}
|
|
22
52
|
}
|
|
23
|
-
|
|
53
|
+
config = {
|
|
24
54
|
...existing,
|
|
25
55
|
provider,
|
|
26
56
|
model,
|
|
27
57
|
providers,
|
|
28
58
|
};
|
|
29
|
-
|
|
30
|
-
|
|
59
|
+
if (global) {
|
|
60
|
+
saveGlobalConfig(config);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
saveConfig(config);
|
|
64
|
+
}
|
|
65
|
+
const label = global ? 'Global' : 'Local';
|
|
66
|
+
console.log(chalk.green(`\n ${label} configuration saved.\n`));
|
|
31
67
|
for (const p of PROVIDERS) {
|
|
32
68
|
const key = config.providers?.[p]?.apiKey;
|
|
33
69
|
if (key) {
|
|
@@ -37,20 +73,78 @@ export async function runConfigWizard() {
|
|
|
37
73
|
console.log(chalk.dim(`\n Active provider: ${config.provider}`));
|
|
38
74
|
console.log(chalk.dim(` Model: ${config.model}`));
|
|
39
75
|
}
|
|
40
|
-
export async function showConfig() {
|
|
76
|
+
export async function showConfig(scope = 'merged') {
|
|
77
|
+
const globalPath = globalConfigPath();
|
|
78
|
+
const localPath = join(process.cwd(), '.git-smart.json');
|
|
79
|
+
const hasGlobal = existsSync(globalPath);
|
|
80
|
+
const hasLocal = existsSync(localPath);
|
|
41
81
|
const config = loadConfig();
|
|
82
|
+
const globalConf = loadGlobalConfig();
|
|
83
|
+
const localConf = loadLocalConfig();
|
|
42
84
|
console.log(chalk.cyan('\n git-smart configuration\n'));
|
|
43
85
|
console.log(chalk.white(` Active provider: ${config.provider}`));
|
|
44
86
|
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
|
-
|
|
87
|
+
console.log(chalk.white(` Conventional Commits: ${config.conventionalCommits ? 'yes' : 'no'}`));
|
|
88
|
+
console.log(chalk.white(` Auto Push: ${config.autoPush ? 'yes' : 'no'}`));
|
|
89
|
+
console.log(chalk.white(` Show Summary: ${config.showSummary ? 'yes' : 'no'}`));
|
|
90
|
+
console.log(chalk.cyan('\n Config Source:'));
|
|
91
|
+
const localDisplay = localPath.replace(/\\/g, '/').replace(process.cwd().replace(/\\/g, '/'), '.');
|
|
92
|
+
const globalDisplay = globalPath.replace(/\\/g, '~').replace(/^~?/, '~');
|
|
93
|
+
console.log(chalk.white(` Local: ${localDisplay} ${hasLocal ? chalk.green('✓') : chalk.red('(not found)')}`));
|
|
94
|
+
console.log(chalk.white(` Global: ${globalDisplay} ${hasGlobal ? chalk.green('✓') : chalk.red('(not found)')}`));
|
|
95
|
+
if (scope === 'merged') {
|
|
96
|
+
console.log(chalk.cyan('\n Effective Config:'));
|
|
97
|
+
console.log(chalk.dim(' (Local overrides global, global overrides defaults)'));
|
|
98
|
+
}
|
|
99
|
+
console.log(chalk.cyan('\n API Keys:'));
|
|
100
|
+
for (const p of PROVIDERS) {
|
|
101
|
+
const { key, source } = getKeySource(p);
|
|
102
|
+
if (key) {
|
|
103
|
+
const masked = maskApiKey(key);
|
|
104
|
+
const sourceLabel = source === 'env' ? 'env var' : 'config file';
|
|
105
|
+
console.log(chalk.white(` ${p.padEnd(12)} ${chalk.green(masked)} ${chalk.dim('(from ' + sourceLabel + ')')}`));
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
console.log(chalk.white(` ${p.padEnd(12)} ${chalk.red('(not set)')}`));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
console.log(chalk.cyan('\n Environment Variables:'));
|
|
112
|
+
for (const p of PROVIDERS) {
|
|
113
|
+
const envVar = ENV_VAR_MAP[p];
|
|
114
|
+
const val = process.env[envVar];
|
|
115
|
+
if (val) {
|
|
116
|
+
console.log(chalk.white(` ${envVar}: ${chalk.green('set')}`));
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
console.log(chalk.white(` ${envVar}: ${chalk.red('not set')}`));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
console.log(chalk.cyan('\n Repository Info:'));
|
|
123
|
+
const repoOk = await isGitRepo();
|
|
124
|
+
if (!repoOk) {
|
|
125
|
+
console.log(chalk.white(` Git repo: ${chalk.red('no')}`));
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
console.log(chalk.white(` Git repo: ${chalk.green('yes')}`));
|
|
129
|
+
const branch = await getCurrentBranch();
|
|
130
|
+
console.log(chalk.white(` Branch: ${branch}`));
|
|
131
|
+
const remote = await getRemoteUrl();
|
|
132
|
+
if (remote) {
|
|
133
|
+
console.log(chalk.white(` Remote: ${remote}`));
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
console.log(chalk.white(` Remote: ${chalk.red('not configured')}`));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
const gitignorePath = join(process.cwd(), '.gitignore');
|
|
140
|
+
if (existsSync(gitignorePath)) {
|
|
141
|
+
const content = readFileSync(gitignorePath, 'utf-8');
|
|
142
|
+
const ignored = content.split('\n').some(line => line.trim() === '.git-smart.json');
|
|
143
|
+
if (ignored) {
|
|
144
|
+
console.log(chalk.white(` .gitignore: ${chalk.green('includes .git-smart.json')}`));
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
console.log(chalk.white(` .gitignore: ${chalk.yellow('.git-smart.json NOT ignored')}`));
|
|
54
148
|
}
|
|
55
149
|
}
|
|
56
150
|
}
|
|
@@ -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,CAsF5D"}
|
|
@@ -3,7 +3,7 @@ import ora from 'ora';
|
|
|
3
3
|
import { isGitRepo, gitInit, hasGitIgnore, getRemoteUrl, addRemote } 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,19 @@ 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
|
+
const eol = existsSync(gitignorePath) ? '\n' : '';
|
|
52
|
+
appendFileSync(gitignorePath, `${eol}.git-smart.json\n`, 'utf-8');
|
|
53
|
+
console.log(chalk.green('✓ Added .git-smart.json to .gitignore.'));
|
|
54
|
+
}
|
|
42
55
|
spinner.start('Checking remote...');
|
|
43
56
|
const remoteUrl = await getRemoteUrl();
|
|
44
57
|
spinner.stop();
|
|
@@ -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;AAC3F,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,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"prechecks.js","sourceRoot":"","sources":["../../src/commands/prechecks.ts"],"names":[],"mappings":"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"}
|
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,5 +1,6 @@
|
|
|
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
6
|
model: 'google/gemma-4-26b-a4b-it:free',
|
|
@@ -8,15 +9,22 @@ const DEFAULT_CONFIG = {
|
|
|
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":"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"}
|
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';
|
|
@@ -18,4 +18,5 @@ export interface ConfigWizardAnswers {
|
|
|
18
18
|
}
|
|
19
19
|
export declare function promptConfigWizard(): Promise<ConfigWizardAnswers>;
|
|
20
20
|
export declare function promptAdditionalProviderKey(provider: Provider): Promise<string>;
|
|
21
|
+
export declare function promptUseGlobalConfig(globalConfig: GitSmartConfig): Promise<'use' | 'fresh'>;
|
|
21
22
|
//# 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,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
|
@@ -192,4 +192,23 @@ export async function promptAdditionalProviderKey(provider) {
|
|
|
192
192
|
]);
|
|
193
193
|
return apiKey;
|
|
194
194
|
}
|
|
195
|
+
export async function promptUseGlobalConfig(globalConfig) {
|
|
196
|
+
const configuredProviders = Object.entries(globalConfig.providers)
|
|
197
|
+
.filter(([, v]) => v.apiKey);
|
|
198
|
+
const { action } = await inquirer.prompt([
|
|
199
|
+
{
|
|
200
|
+
type: 'list',
|
|
201
|
+
name: 'action',
|
|
202
|
+
message: 'Global config found. Use it as starting point for local config?',
|
|
203
|
+
choices: [
|
|
204
|
+
{
|
|
205
|
+
name: `Use global config (provider: ${globalConfig.provider}, model: ${globalConfig.model})`,
|
|
206
|
+
value: 'use',
|
|
207
|
+
},
|
|
208
|
+
{ name: 'Start fresh', value: 'fresh' },
|
|
209
|
+
],
|
|
210
|
+
},
|
|
211
|
+
]);
|
|
212
|
+
return action;
|
|
213
|
+
}
|
|
195
214
|
//# 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":"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.0
|
|
3
|
+
"version": "1.1.0",
|
|
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": {
|