geeto 0.4.4 → 0.6.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/README.md +23 -10
- package/lib/api/copilot.d.ts +3 -3
- package/lib/api/copilot.js +3 -3
- package/lib/cli/input.d.ts +21 -18
- package/lib/cli/input.d.ts.map +1 -1
- package/lib/cli/input.js +174 -372
- package/lib/cli/input.js.map +1 -1
- package/lib/cli/menu.d.ts.map +1 -1
- package/lib/cli/menu.js +83 -4
- package/lib/cli/menu.js.map +1 -1
- package/lib/core/copilot-setup.d.ts +2 -2
- package/lib/core/copilot-setup.d.ts.map +1 -1
- package/lib/core/copilot-setup.js +16 -19
- package/lib/core/copilot-setup.js.map +1 -1
- package/lib/core/setup.d.ts +1 -1
- package/lib/core/setup.js +1 -1
- package/lib/index.js +203 -3
- package/lib/index.js.map +1 -1
- package/lib/utils/branch-naming.d.ts.map +1 -1
- package/lib/utils/branch-naming.js +12 -6
- package/lib/utils/branch-naming.js.map +1 -1
- package/lib/utils/dry-run.d.ts +21 -0
- package/lib/utils/dry-run.d.ts.map +1 -0
- package/lib/utils/dry-run.js +102 -0
- package/lib/utils/dry-run.js.map +1 -0
- package/lib/utils/exec.d.ts.map +1 -1
- package/lib/utils/exec.js +13 -0
- package/lib/utils/exec.js.map +1 -1
- package/lib/utils/git-ai.d.ts.map +1 -1
- package/lib/utils/git-ai.js +40 -21
- package/lib/utils/git-ai.js.map +1 -1
- package/lib/utils/git-errors.d.ts.map +1 -1
- package/lib/utils/git-errors.js +15 -2
- package/lib/utils/git-errors.js.map +1 -1
- package/lib/utils/menu-builders.js +1 -1
- package/lib/utils/menu-builders.js.map +1 -1
- package/lib/utils/scramble.d.ts +117 -0
- package/lib/utils/scramble.d.ts.map +1 -0
- package/lib/utils/scramble.js +317 -0
- package/lib/utils/scramble.js.map +1 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/workflows/abort.d.ts +9 -0
- package/lib/workflows/abort.d.ts.map +1 -0
- package/lib/workflows/abort.js +158 -0
- package/lib/workflows/abort.js.map +1 -0
- package/lib/workflows/ai-provider.js +1 -1
- package/lib/workflows/ai-provider.js.map +1 -1
- package/lib/workflows/alias.d.ts +6 -0
- package/lib/workflows/alias.d.ts.map +1 -0
- package/lib/workflows/alias.js +420 -0
- package/lib/workflows/alias.js.map +1 -0
- package/lib/workflows/amend.d.ts.map +1 -1
- package/lib/workflows/amend.js +9 -4
- package/lib/workflows/amend.js.map +1 -1
- package/lib/workflows/branch-helpers.js +2 -2
- package/lib/workflows/branch-helpers.js.map +1 -1
- package/lib/workflows/branch-utils.d.ts.map +1 -1
- package/lib/workflows/branch-utils.js +4 -3
- package/lib/workflows/branch-utils.js.map +1 -1
- package/lib/workflows/branch.js +2 -2
- package/lib/workflows/branch.js.map +1 -1
- package/lib/workflows/cleanup.js +3 -3
- package/lib/workflows/cleanup.js.map +1 -1
- package/lib/workflows/commit.d.ts.map +1 -1
- package/lib/workflows/commit.js +58 -6
- package/lib/workflows/commit.js.map +1 -1
- package/lib/workflows/dry-run.d.ts +5 -0
- package/lib/workflows/dry-run.d.ts.map +1 -0
- package/lib/workflows/dry-run.js +127 -0
- package/lib/workflows/dry-run.js.map +1 -0
- package/lib/workflows/fetch.d.ts +9 -0
- package/lib/workflows/fetch.d.ts.map +1 -0
- package/lib/workflows/fetch.js +118 -0
- package/lib/workflows/fetch.js.map +1 -0
- package/lib/workflows/issue.d.ts.map +1 -1
- package/lib/workflows/issue.js +317 -72
- package/lib/workflows/issue.js.map +1 -1
- package/lib/workflows/main-steps.d.ts.map +1 -1
- package/lib/workflows/main-steps.js +144 -99
- package/lib/workflows/main-steps.js.map +1 -1
- package/lib/workflows/main.d.ts.map +1 -1
- package/lib/workflows/main.js +14 -6
- package/lib/workflows/main.js.map +1 -1
- package/lib/workflows/pr.d.ts.map +1 -1
- package/lib/workflows/pr.js +307 -39
- package/lib/workflows/pr.js.map +1 -1
- package/lib/workflows/prune.d.ts +9 -0
- package/lib/workflows/prune.d.ts.map +1 -0
- package/lib/workflows/prune.js +116 -0
- package/lib/workflows/prune.js.map +1 -0
- package/lib/workflows/pull.d.ts +9 -0
- package/lib/workflows/pull.d.ts.map +1 -0
- package/lib/workflows/pull.js +281 -0
- package/lib/workflows/pull.js.map +1 -0
- package/lib/workflows/release.d.ts.map +1 -1
- package/lib/workflows/release.js +50 -38
- package/lib/workflows/release.js.map +1 -1
- package/lib/workflows/repo-settings.js +2 -2
- package/lib/workflows/repo-settings.js.map +1 -1
- package/lib/workflows/revert.d.ts +9 -0
- package/lib/workflows/revert.d.ts.map +1 -0
- package/lib/workflows/revert.js +77 -0
- package/lib/workflows/revert.js.map +1 -0
- package/lib/workflows/reword.d.ts +9 -0
- package/lib/workflows/reword.d.ts.map +1 -0
- package/lib/workflows/reword.js +722 -0
- package/lib/workflows/reword.js.map +1 -0
- package/lib/workflows/settings.js +1 -1
- package/lib/workflows/settings.js.map +1 -1
- package/lib/workflows/status.d.ts +9 -0
- package/lib/workflows/status.d.ts.map +1 -0
- package/lib/workflows/status.js +164 -0
- package/lib/workflows/status.js.map +1 -0
- package/package.json +13 -13
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://opensource.org/licenses/MIT)
|
|
10
10
|
[](https://www.typescriptlang.org/)
|
|
11
11
|
|
|
12
|
-
Geeto automates your entire Git workflow — from staging to cleanup — with AI-powered branch naming, commit messages, release management, and Trello integration. Supports Gemini,
|
|
12
|
+
Geeto automates your entire Git workflow — from staging to cleanup — with AI-powered branch naming, commit messages, release management, and Trello integration. Supports Gemini, Copilot, and OpenRouter.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -78,7 +78,11 @@ curl -fsSL https://raw.githubusercontent.com/rust142/geeto/main/tools/install.sh
|
|
|
78
78
|
|
|
79
79
|
The installer shows step-by-step progress, detects existing installs, and verifies the installation.
|
|
80
80
|
|
|
81
|
-
> **
|
|
81
|
+
> **Prerequisites (depends on install method):**
|
|
82
|
+
>
|
|
83
|
+
> - **Homebrew / APT / Binary** — just Git ≥ 2.0 (runtime is bundled)
|
|
84
|
+
> - **NPM** — Node.js ≥ 18 + Git ≥ 2.0
|
|
85
|
+
> - **Bun / From Source** — Bun ≥ 1.0 + Git ≥ 2.0
|
|
82
86
|
|
|
83
87
|
### Uninstall
|
|
84
88
|
|
|
@@ -173,8 +177,16 @@ Each step can also be run individually.
|
|
|
173
177
|
| `geeto -lg, --log` | View commit history with timeline |
|
|
174
178
|
| `geeto -sh, --stash` | Manage stashes interactively |
|
|
175
179
|
| `geeto -am, --amend` | Amend the last commit |
|
|
180
|
+
| `geeto -rw, --reword` | Edit past commit messages |
|
|
176
181
|
| `geeto -u, --undo` | Undo the last git action safely |
|
|
177
|
-
| `geeto -
|
|
182
|
+
| `geeto -rv, --revert` | Revert the last commit (soft reset) |
|
|
183
|
+
| `geeto -al, --alias` | Install shell aliases for geeto |
|
|
184
|
+
| `geeto -sts, --stats` | Repository statistics dashboard |
|
|
185
|
+
| `geeto -st, --status` | Pretty git status overview |
|
|
186
|
+
| `geeto -pl, --pull` | Pull from remote interactively |
|
|
187
|
+
| `geeto -ft, --fetch` | Fetch latest from remote |
|
|
188
|
+
| `geeto --abort` | Abort in-progress operation |
|
|
189
|
+
| `geeto --prune` | Remove stale remote branches |
|
|
178
190
|
|
|
179
191
|
### GitHub
|
|
180
192
|
|
|
@@ -207,13 +219,14 @@ Each step can also be run individually.
|
|
|
207
219
|
|
|
208
220
|
### Editor & Options
|
|
209
221
|
|
|
210
|
-
| Command
|
|
211
|
-
|
|
|
212
|
-
| `geeto <file>`
|
|
213
|
-
| `geeto -f, --fresh`
|
|
214
|
-
| `geeto -r, --resume`
|
|
215
|
-
| `geeto -
|
|
216
|
-
| `geeto -
|
|
222
|
+
| Command | Description |
|
|
223
|
+
| ---------------------- | --------------------------------------------------- |
|
|
224
|
+
| `geeto <file>` | Open file in inline editor with syntax highlighting |
|
|
225
|
+
| `geeto -f, --fresh` | Start fresh (ignore checkpoint) |
|
|
226
|
+
| `geeto -r, --resume` | Resume from last checkpoint |
|
|
227
|
+
| `geeto -dr, --dry-run` | Simulate commands without executing |
|
|
228
|
+
| `geeto -v, --version` | Show version |
|
|
229
|
+
| `geeto -h, --help` | Show help |
|
|
217
230
|
|
|
218
231
|
---
|
|
219
232
|
|
package/lib/api/copilot.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Copilot integration for AI-powered branch naming and commit messages
|
|
3
3
|
*/
|
|
4
4
|
export type CopilotModel = string;
|
|
5
5
|
/**
|
|
@@ -11,11 +11,11 @@ export declare const getCopilotModels: () => Promise<Array<{
|
|
|
11
11
|
value: CopilotModel;
|
|
12
12
|
}>>;
|
|
13
13
|
/**
|
|
14
|
-
* Generate branch name from title using
|
|
14
|
+
* Generate branch name from title using Copilot SDK
|
|
15
15
|
*/
|
|
16
16
|
export declare const generateBranchName: (text: string, correction?: string, model?: CopilotModel) => Promise<string | null>;
|
|
17
17
|
/**
|
|
18
|
-
* Generate commit message from git diff using
|
|
18
|
+
* Generate commit message from git diff using Copilot SDK
|
|
19
19
|
*/
|
|
20
20
|
export declare const generateCommitMessage: (diff: string, correction?: string, model?: CopilotModel) => Promise<string | null>;
|
|
21
21
|
export declare const generateReleaseNotes: (commits: string, language: "en" | "id", correction?: string, model?: CopilotModel) => Promise<string | null>;
|
package/lib/api/copilot.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Copilot integration for AI-powered branch naming and commit messages
|
|
3
3
|
*/
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { generateBranchName as sdkGenerateBranchName, generateCommitMessage as sdkGenerateCommitMessage, generateReleaseNotes as sdkGenerateReleaseNotes, generateText as sdkGenerateText, getAvailableModelChoices as sdkGetAvailableModels, isAvailable as sdkIsAvailable, } from './copilot-sdk.js';
|
|
@@ -27,7 +27,7 @@ export const getCopilotModels = async () => {
|
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
29
|
/**
|
|
30
|
-
* Generate branch name from title using
|
|
30
|
+
* Generate branch name from title using Copilot SDK
|
|
31
31
|
*/
|
|
32
32
|
export const generateBranchName = async (text, correction, model = 'claude-haiku-4.5') => {
|
|
33
33
|
try {
|
|
@@ -66,7 +66,7 @@ export const generateBranchName = async (text, correction, model = 'claude-haiku
|
|
|
66
66
|
}
|
|
67
67
|
};
|
|
68
68
|
/**
|
|
69
|
-
* Generate commit message from git diff using
|
|
69
|
+
* Generate commit message from git diff using Copilot SDK
|
|
70
70
|
*/
|
|
71
71
|
export const generateCommitMessage = async (diff, correction, model = 'claude-haiku-4.5') => {
|
|
72
72
|
try {
|
package/lib/cli/input.d.ts
CHANGED
|
@@ -5,20 +5,6 @@
|
|
|
5
5
|
* Ask a question and return user input
|
|
6
6
|
*/
|
|
7
7
|
export declare const askQuestion: (question: string, defaultValue?: string) => string;
|
|
8
|
-
/**
|
|
9
|
-
* Progress bar utility for long operations
|
|
10
|
-
*/
|
|
11
|
-
export declare class ProgressBar {
|
|
12
|
-
private total;
|
|
13
|
-
private current;
|
|
14
|
-
private width;
|
|
15
|
-
private title;
|
|
16
|
-
constructor(total: number, title?: string, width?: number);
|
|
17
|
-
update(current: number): void;
|
|
18
|
-
increment(amount?: number): void;
|
|
19
|
-
complete(): void;
|
|
20
|
-
private render;
|
|
21
|
-
}
|
|
22
8
|
/**
|
|
23
9
|
* Syntax highlighting for git diff output
|
|
24
10
|
*/
|
|
@@ -27,12 +13,29 @@ export declare const highlightDiff: (diff: string) => string;
|
|
|
27
13
|
* Ask a yes/no confirmation question
|
|
28
14
|
*/
|
|
29
15
|
export declare const confirm: (question: string, defaultYes?: boolean) => boolean;
|
|
30
|
-
export declare const editInline: (initialText: string, label?: string, syntax?: string) => Promise<string | null>;
|
|
31
16
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
17
|
+
* Interactive multiline text input with editing support.
|
|
18
|
+
*
|
|
19
|
+
* Shortcuts:
|
|
20
|
+
* - Enter → new line
|
|
21
|
+
* - Backspace → delete character
|
|
22
|
+
* - Ctrl+W → delete word
|
|
23
|
+
* - Ctrl+U → clear current line
|
|
24
|
+
* - Ctrl+L → clear all text
|
|
25
|
+
* - Ctrl+D → submit
|
|
26
|
+
* - Ctrl+C → cancel
|
|
27
|
+
*
|
|
28
|
+
* Returns trimmed text or `null` when cancelled.
|
|
29
|
+
*/
|
|
30
|
+
export declare const askMultiline: (question: string, initialText?: string) => string | null;
|
|
31
|
+
/**
|
|
32
|
+
* Inline multi-line text editor using the system's built-in terminal editor.
|
|
33
|
+
* Opens nano (macOS/Linux) or notepad (Windows) with the initial text.
|
|
34
|
+
*
|
|
35
|
+
* Kept async (returns Promise) so all existing callers using
|
|
36
|
+
* `await editInline(...)` continue to work without changes.
|
|
34
37
|
*/
|
|
35
|
-
export declare const
|
|
38
|
+
export declare const editInline: (initialText: string, label?: string, _syntax?: string) => Promise<string | null>;
|
|
36
39
|
/**
|
|
37
40
|
* Close the readline interface
|
|
38
41
|
*/
|
package/lib/cli/input.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/cli/input.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,EAAE,eAAe,MAAM,KAAG,MAyBrE,CAAA;AAED;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/cli/input.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,EAAE,eAAe,MAAM,KAAG,MAyBrE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,MAO5C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,UAAU,MAAM,EAAE,aAAY,OAAc,KAAG,OAOtE,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM,EAAE,oBAAgB,KAAG,MAAM,GAAG,IAkK1E,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GACrB,aAAa,MAAM,EACnB,cAAsB,EACtB,gBAAY,KACX,OAAO,CAAC,MAAM,GAAG,IAAI,CA+BvB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,QAAO,IAE7B,CAAA"}
|