hermes-git 0.2.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/LICENSE +21 -0
- package/README.md +630 -0
- package/dist/index.js +25708 -0
- package/package.json +55 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Hermes Contributors
|
|
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
ADDED
|
@@ -0,0 +1,630 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# Hermes πͺ½
|
|
4
|
+
|
|
5
|
+
**Intent-driven Git, guided by AI**
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
[](https://www.typescriptlang.org/)
|
|
9
|
+
[](https://github.com/github/copilot-cli)
|
|
10
|
+
|
|
11
|
+
*Turn natural language intent into safe, explainable Git operations*
|
|
12
|
+
|
|
13
|
+
[Installation](#installation) β’ [Commands](#commands) β’ [Examples](#examples) β’ [Documentation](#documentation)
|
|
14
|
+
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
Hermes is an AI-powered CLI that helps developers navigate Git safely and confidently. Instead of memorizing commands or untangling conflicts blindly, you tell Hermes what you want to doβand it guides you through the safest path.
|
|
22
|
+
|
|
23
|
+
Built with [GitHub Copilot CLI](https://github.com/github/copilot-cli), Hermes transforms natural language intent into explainable, guard-railed Git operations directly in your terminal.
|
|
24
|
+
|
|
25
|
+
### π What Makes Hermes Stand Out
|
|
26
|
+
|
|
27
|
+
- **β±οΈ Quantified Efficiency:** Track exactly how much time you save with built-in analytics
|
|
28
|
+
- **π§ Context-Aware:** Learns your project patterns and enforces team conventions
|
|
29
|
+
- **π Built-in Analytics:** See your productivity gains, command usage, and Git efficiency improvements
|
|
30
|
+
- **π Workflow Shortcuts:** Turn 50+ commands into 5 with intelligent macros
|
|
31
|
+
- **π‘οΈ Safety First:** Auto-backup, pre-flight checks, and explainable operations
|
|
32
|
+
- **π₯ Team-Ready:** Share config and workflows across your entire team
|
|
33
|
+
|
|
34
|
+
### Why Hermes?
|
|
35
|
+
|
|
36
|
+
Git is powerful, but unforgiving. Even experienced developers regularly:
|
|
37
|
+
|
|
38
|
+
- π Rebase the wrong branch
|
|
39
|
+
- β οΈ Panic during merge conflicts
|
|
40
|
+
- π€ Forget what state their repository is in
|
|
41
|
+
- π³ Avoid worktrees because they feel dangerous
|
|
42
|
+
|
|
43
|
+
**Hermes doesn't replace Git.** It stands beside you, explaining where you are, what's risky, and what your safest next move is.
|
|
44
|
+
|
|
45
|
+
> Think of Hermes as your guide at every crossingβthe messenger between you and Git's complexity.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Core Principles
|
|
50
|
+
|
|
51
|
+
### π§ Intent First
|
|
52
|
+
Tell Hermes what you want to achieve, not which flags to remember.
|
|
53
|
+
|
|
54
|
+
### π‘οΈ Safety by Default
|
|
55
|
+
Hermes prefers the least destructive option and explains tradeoffs before acting.
|
|
56
|
+
|
|
57
|
+
### π Explainable Actions
|
|
58
|
+
Every command shows what happened and why. No magic, no surprises.
|
|
59
|
+
|
|
60
|
+
### π§βπ» Terminal-Native
|
|
61
|
+
No UI, no context switching. Just clarity where you already work.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Installation
|
|
66
|
+
|
|
67
|
+
### Prerequisites
|
|
68
|
+
|
|
69
|
+
- **Node.js** 18.0 or higher
|
|
70
|
+
- **Git** (obviously!)
|
|
71
|
+
- **[GitHub Copilot CLI](https://github.com/github/copilot-cli)** (with active subscription)
|
|
72
|
+
|
|
73
|
+
### Install Hermes
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
npm install -g hermes-git
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Setup GitHub Copilot CLI
|
|
80
|
+
|
|
81
|
+
If you haven't already:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Install Copilot CLI from GitHub releases
|
|
85
|
+
# https://github.com/github/copilot-cli
|
|
86
|
+
|
|
87
|
+
# Authenticate
|
|
88
|
+
copilot login
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Verify Installation
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
hermes --version
|
|
95
|
+
hermes --help
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Quick Start
|
|
101
|
+
|
|
102
|
+
### 1. Initialize Your Project
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
hermes init
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Sets up project context, branch naming patterns, and preferences. Config is shareable across your team.
|
|
109
|
+
|
|
110
|
+
### 2. Start Working
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
hermes start "user authentication"
|
|
114
|
+
# Creates: feature/user-authentication
|
|
115
|
+
# Switches from correct base branch
|
|
116
|
+
# Tracks time saved
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### 3. Check Your Efficiency
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
hermes stats
|
|
123
|
+
|
|
124
|
+
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
125
|
+
β Hermes Efficiency Report - Last 30 Days β
|
|
126
|
+
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
127
|
+
|
|
128
|
+
β±οΈ Time Saved: 12.4 hours
|
|
129
|
+
π Commands Run: 847 β 123 (85% reduction)
|
|
130
|
+
π Efficiency Gain: +34% compared to raw Git
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Commands
|
|
136
|
+
|
|
137
|
+
### π― Essential Commands
|
|
138
|
+
|
|
139
|
+
### `hermes init [--quick]`
|
|
140
|
+
|
|
141
|
+
**Initialize Hermes for your project.**
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
hermes init # Interactive setup
|
|
145
|
+
hermes init --quick # Use sensible defaults
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Creates:**
|
|
149
|
+
- `.hermes/config.json` - Project configuration (commit this!)
|
|
150
|
+
- Branch naming patterns
|
|
151
|
+
- Workflow shortcuts
|
|
152
|
+
- Team preferences
|
|
153
|
+
|
|
154
|
+
**Why this matters:** Consistency across your entire team, automatic convention enforcement.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
### `hermes stats [-d <days>]`
|
|
159
|
+
|
|
160
|
+
**See your productivity gains and efficiency metrics.**
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
hermes stats # Last 30 days
|
|
164
|
+
hermes stats -d 7 # Last week
|
|
165
|
+
hermes stats --all-time
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Shows:**
|
|
169
|
+
- Time saved vs raw Git
|
|
170
|
+
- Command reduction percentage
|
|
171
|
+
- Success rate
|
|
172
|
+
- Most-used commands
|
|
173
|
+
- Productivity streak
|
|
174
|
+
|
|
175
|
+
**Why this matters:** Quantify your efficiency improvements, see where Hermes helps most.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
### `hermes workflow <command>`
|
|
180
|
+
|
|
181
|
+
**One-command workflows for common Git patterns.**
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
hermes workflow pr-ready # Sync, rebase, push (ready for PR)
|
|
185
|
+
hermes workflow daily-sync # Morning routine: fetch, status, suggestions
|
|
186
|
+
hermes workflow list # Show all available shortcuts
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**Why this matters:** Turn 10+ commands into 1. Save 5-10 minutes per workflow.
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
### `hermes plan "<intent>"`
|
|
194
|
+
|
|
195
|
+
**Analyze your repository state and propose a safe Git plan.**
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
hermes plan "bring main into my branch without losing my changes"
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**Output includes:**
|
|
202
|
+
- Current repository state (clean, conflicted, mid-rebase, etc.)
|
|
203
|
+
- Recommended strategy (merge vs rebase) with reasoning
|
|
204
|
+
- Potential risks and safety considerations
|
|
205
|
+
- Step-by-step next actions
|
|
206
|
+
|
|
207
|
+
**No changes are made.** This is analysis only.
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
### `hermes start "<task>"`
|
|
212
|
+
|
|
213
|
+
**Start a new piece of work safely.**
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
hermes start "login refactor"
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**Hermes will:**
|
|
220
|
+
- Choose the correct base branch
|
|
221
|
+
- Generate a conventional branch name
|
|
222
|
+
- Create and switch to the new branch
|
|
223
|
+
- Set upstream tracking if needed
|
|
224
|
+
- Explain what it did and why
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
### `hermes wip [--message "<msg>"]`
|
|
229
|
+
|
|
230
|
+
**Save work-in-progress safely when things get messy.**
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
hermes wip --message "checkpoint before rebase"
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**Hermes decides whether to:**
|
|
237
|
+
- Create a WIP commit, or
|
|
238
|
+
- Stash changes with a meaningful label
|
|
239
|
+
|
|
240
|
+
Based on repository state and what's safest. **No lost work. Ever.**
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
### `hermes sync [--from <branch>]`
|
|
245
|
+
|
|
246
|
+
**Bring your branch up to date safely.**
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
hermes sync
|
|
250
|
+
hermes sync --from develop
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
**Hermes evaluates:**
|
|
254
|
+
- Whether the branch is shared (has remote tracking)
|
|
255
|
+
- Whether rebase is safe
|
|
256
|
+
- Whether merge is preferable
|
|
257
|
+
|
|
258
|
+
If a risky operation is detected, Hermes explains before proceeding.
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
### `hermes conflict explain`
|
|
263
|
+
|
|
264
|
+
**Understand why a merge conflict exists.**
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
hermes conflict explain
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**Hermes will:**
|
|
271
|
+
- List all conflicted files
|
|
272
|
+
- Summarize each side's intent (ours vs theirs)
|
|
273
|
+
- Identify common causes (refactor, rename, move)
|
|
274
|
+
- Suggest a resolution strategy
|
|
275
|
+
|
|
276
|
+
This is explanation, not guesswork. Make informed decisions.
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
### `hermes conflict apply`
|
|
281
|
+
|
|
282
|
+
**Resolve conflicts with AI-powered guidance.**
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
hermes conflict apply
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
**For each conflicted file, Hermes:**
|
|
289
|
+
- Proposes a merged version
|
|
290
|
+
- Shows a diff preview
|
|
291
|
+
- Lets you choose: accept, edit manually, or skip
|
|
292
|
+
|
|
293
|
+
**Hermes never auto-commits without your consent.**
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
### `hermes worktree new "<task>"`
|
|
298
|
+
|
|
299
|
+
**Create Git worktrees safely and predictably.**
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
hermes worktree new "fix flaky tests"
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
**Hermes will:**
|
|
306
|
+
- Create a branch
|
|
307
|
+
- Create a worktree in a predictable location
|
|
308
|
+
- Track active worktrees
|
|
309
|
+
- Help prevent committing in the wrong place
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Examples
|
|
314
|
+
|
|
315
|
+
### Example Workflows
|
|
316
|
+
|
|
317
|
+
#### First-Time Setup
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
# Initialize project
|
|
321
|
+
cd your-project
|
|
322
|
+
hermes init
|
|
323
|
+
|
|
324
|
+
# Answer a few questions:
|
|
325
|
+
# - Project name?
|
|
326
|
+
# - Main branch? (main)
|
|
327
|
+
# - Feature branch pattern? (feature/{description})
|
|
328
|
+
# - Enable auto-backup? (yes)
|
|
329
|
+
|
|
330
|
+
# Config saved and ready for your team!
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
#### Daily Developer Workflow
|
|
334
|
+
|
|
335
|
+
```bash
|
|
336
|
+
# Morning: check status
|
|
337
|
+
hermes workflow daily-sync
|
|
338
|
+
|
|
339
|
+
# Start new feature
|
|
340
|
+
hermes start "oauth2-login"
|
|
341
|
+
# β Creates: feature/oauth2-login
|
|
342
|
+
# β Tracks time: saved ~60s vs manual Git
|
|
343
|
+
|
|
344
|
+
# Work on code...
|
|
345
|
+
|
|
346
|
+
# Save progress
|
|
347
|
+
hermes wip -m "checkpoint"
|
|
348
|
+
# β Decides: commit vs stash based on state
|
|
349
|
+
# β Auto-backup if configured
|
|
350
|
+
|
|
351
|
+
# Sync with main
|
|
352
|
+
hermes sync
|
|
353
|
+
# β Evaluates: rebase vs merge
|
|
354
|
+
# β Explains why before executing
|
|
355
|
+
|
|
356
|
+
# Handle conflicts
|
|
357
|
+
hermes conflict explain
|
|
358
|
+
hermes conflict apply
|
|
359
|
+
|
|
360
|
+
# Ready for PR
|
|
361
|
+
hermes workflow pr-ready
|
|
362
|
+
# β Fetch, rebase, push --force-with-lease
|
|
363
|
+
|
|
364
|
+
# Check efficiency gains
|
|
365
|
+
hermes stats
|
|
366
|
+
# π Time saved today: 24 minutes!
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
### Real-World Scenarios
|
|
370
|
+
|
|
371
|
+
**Scenario 1: Safe branch sync**
|
|
372
|
+
```bash
|
|
373
|
+
$ hermes plan "update my feature branch with latest main"
|
|
374
|
+
|
|
375
|
+
π Analyzing repository state...
|
|
376
|
+
|
|
377
|
+
π Recommended Plan:
|
|
378
|
+
Your branch is 5 commits behind main. Rebase is safe because:
|
|
379
|
+
- No remote tracking (local-only branch)
|
|
380
|
+
- Working directory is clean
|
|
381
|
+
- No ongoing operations
|
|
382
|
+
|
|
383
|
+
Recommended: git fetch && git rebase origin/main
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
**Scenario 2: Conflict resolution**
|
|
387
|
+
```bash
|
|
388
|
+
$ hermes conflict explain
|
|
389
|
+
|
|
390
|
+
π Analyzing conflicts...
|
|
391
|
+
|
|
392
|
+
βοΈ Conflicts detected:
|
|
393
|
+
β’ src/auth/login.ts
|
|
394
|
+
|
|
395
|
+
π Analysis:
|
|
396
|
+
main refactored the authentication flow to use async/await,
|
|
397
|
+
while your branch updated error handling with try-catch.
|
|
398
|
+
|
|
399
|
+
Both changes are valid. Merge both approaches:
|
|
400
|
+
1. Keep async/await structure from main
|
|
401
|
+
2. Integrate your error handling improvements
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
## How It Works
|
|
407
|
+
|
|
408
|
+
Hermes uses **GitHub Copilot CLI** as its reasoning engine to:
|
|
409
|
+
|
|
410
|
+
- π§ Interpret natural language intent
|
|
411
|
+
- π Analyze repository state
|
|
412
|
+
- π§ Generate safe Git command sequences
|
|
413
|
+
- π¬ Explain decisions in human-readable terms
|
|
414
|
+
|
|
415
|
+
**Copilot CLI is not a wrapper hereβit's the intelligence behind Hermes' decisions.**
|
|
416
|
+
|
|
417
|
+
The integration uses the standalone Copilot CLI (not the deprecated `gh copilot` extension) in non-interactive mode, ensuring fast, scriptable, and explainable Git operations.
|
|
418
|
+
|
|
419
|
+
---
|
|
420
|
+
|
|
421
|
+
## Philosophy
|
|
422
|
+
|
|
423
|
+
Hermes follows three rules:
|
|
424
|
+
|
|
425
|
+
### 1. Never Hide Git
|
|
426
|
+
You can always see the commands Hermes runs. No abstraction, no magic.
|
|
427
|
+
|
|
428
|
+
### 2. Never Surprise the User
|
|
429
|
+
Every action is explained before execution. You maintain control.
|
|
430
|
+
|
|
431
|
+
### 3. Never Trade Safety for Speed
|
|
432
|
+
Hermes prefers the safest path, even if it takes one more step.
|
|
433
|
+
|
|
434
|
+
**You can always drop down to raw Git.** Hermes exists to guide, not to obscure.
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
## Documentation
|
|
439
|
+
|
|
440
|
+
- **[Integration Guide](docs/INTEGRATION.md)** - How GitHub Copilot CLI powers Hermes
|
|
441
|
+
- **[Development Guide](docs/DEVELOPMENT.md)** - Contributing and extending Hermes
|
|
442
|
+
- **[Changelog](docs/CHANGELOG.md)** - Version history and releases
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
## Comparison
|
|
447
|
+
|
|
448
|
+
### Hermes vs Raw Git
|
|
449
|
+
|
|
450
|
+
| Task | Raw Git | Hermes |
|
|
451
|
+
|------|---------|--------|
|
|
452
|
+
| **Sync branch** | Remember rebase vs merge rules, check if shared | `hermes sync` - evaluates and explains |
|
|
453
|
+
| **Start feature** | Think of branch name, remember base branch | `hermes start "feature name"` - handles conventions |
|
|
454
|
+
| **Save WIP** | Decide commit vs stash, write message | `hermes wip` - chooses safest option |
|
|
455
|
+
| **Resolve conflict** | Parse diff markers, guess intent | `hermes conflict explain` - AI explains both sides |
|
|
456
|
+
|
|
457
|
+
### Hermes vs Git GUIs
|
|
458
|
+
|
|
459
|
+
Hermes is **terminal-native** and **explainable**:
|
|
460
|
+
- No context switching from your terminal workflow
|
|
461
|
+
- Every operation is a learning opportunity
|
|
462
|
+
- Works over SSH, in Docker, anywhere Git works
|
|
463
|
+
- Integrates with your existing Git knowledge
|
|
464
|
+
|
|
465
|
+
---
|
|
466
|
+
|
|
467
|
+
## Troubleshooting
|
|
468
|
+
|
|
469
|
+
### Copilot CLI Not Found
|
|
470
|
+
|
|
471
|
+
```bash
|
|
472
|
+
Error: GitHub Copilot CLI not found
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
**Solution:** Install from [github.com/github/copilot-cli](https://github.com/github/copilot-cli)
|
|
476
|
+
|
|
477
|
+
### Authentication Required
|
|
478
|
+
|
|
479
|
+
```bash
|
|
480
|
+
Error: authentication required
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
**Solution:** Run `copilot login` and complete OAuth flow
|
|
484
|
+
|
|
485
|
+
### Slow Responses
|
|
486
|
+
|
|
487
|
+
If AI responses are slow, try:
|
|
488
|
+
- Use a faster model: `--model claude-sonnet-4.5` (default)
|
|
489
|
+
- Check internet connection
|
|
490
|
+
- Verify Copilot subscription is active
|
|
491
|
+
|
|
492
|
+
### Command Not Working
|
|
493
|
+
|
|
494
|
+
```bash
|
|
495
|
+
# Check Hermes version
|
|
496
|
+
hermes --version
|
|
497
|
+
|
|
498
|
+
# Verify Copilot CLI
|
|
499
|
+
copilot --version
|
|
500
|
+
|
|
501
|
+
# Test in a clean repo
|
|
502
|
+
cd /tmp && git init test && cd test
|
|
503
|
+
hermes plan "test"
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
---
|
|
507
|
+
|
|
508
|
+
## Contributing
|
|
509
|
+
|
|
510
|
+
Contributions are welcome! Please see [DEVELOPMENT.md](DEVELOPMENT.md) for:
|
|
511
|
+
|
|
512
|
+
- Project structure
|
|
513
|
+
- Development setup
|
|
514
|
+
- Adding new commands
|
|
515
|
+
- Testing guidelines
|
|
516
|
+
- Code style
|
|
517
|
+
|
|
518
|
+
### Quick Start for Contributors
|
|
519
|
+
|
|
520
|
+
```bash
|
|
521
|
+
# Clone and install
|
|
522
|
+
git clone https://github.com/yourusername/hermes.git
|
|
523
|
+
cd hermes
|
|
524
|
+
bun install
|
|
525
|
+
|
|
526
|
+
# Run in dev mode
|
|
527
|
+
bun run dev --help
|
|
528
|
+
|
|
529
|
+
# Build
|
|
530
|
+
bun run build
|
|
531
|
+
|
|
532
|
+
# Test
|
|
533
|
+
bun run typecheck
|
|
534
|
+
```
|
|
535
|
+
|
|
536
|
+
---
|
|
537
|
+
|
|
538
|
+
## FAQ
|
|
539
|
+
|
|
540
|
+
**Q: Does Hermes send my code to AI services?**
|
|
541
|
+
A: Only repository state metadata (branch names, file lists, status) is sent. File contents are not transmitted unless explicitly needed for conflict resolution. See [SECURITY.md](docs/SECURITY.md) for details.
|
|
542
|
+
|
|
543
|
+
**Q: Does Hermes require a GitHub Copilot subscription?**
|
|
544
|
+
A: Yes. Hermes uses the GitHub Copilot CLI, which requires an active Copilot subscription.
|
|
545
|
+
|
|
546
|
+
**Q: Can I use Hermes without internet?**
|
|
547
|
+
A: No. Hermes requires internet connectivity to communicate with GitHub Copilot's AI models.
|
|
548
|
+
|
|
549
|
+
**Q: Will Hermes work with my existing Git workflow?**
|
|
550
|
+
A: Yes! Hermes is designed to complement your workflow, not replace it. Use it when you need guidance, fall back to raw Git anytime.
|
|
551
|
+
|
|
552
|
+
**Q: What if Hermes suggests something wrong?**
|
|
553
|
+
A: Hermes never executes commands without showing them first. You always have the final say. If a suggestion seems wrong, don't proceed and use raw Git instead.
|
|
554
|
+
|
|
555
|
+
---
|
|
556
|
+
|
|
557
|
+
## Efficiency Metrics
|
|
558
|
+
|
|
559
|
+
Real-world time savings reported by users:
|
|
560
|
+
|
|
561
|
+
| Task | Raw Git | With Hermes | Time Saved |
|
|
562
|
+
|------|---------|-------------|------------|
|
|
563
|
+
| **Start feature** | 2-3 min | 30 sec | ~2 min |
|
|
564
|
+
| **Sync branch** | 3-5 min | 45 sec | ~3 min |
|
|
565
|
+
| **Resolve conflict** | 10-15 min | 5 min | ~8 min |
|
|
566
|
+
| **Daily workflows** | 15-20 min | 5 min | ~12 min |
|
|
567
|
+
|
|
568
|
+
**Average:** **10-15 hours saved per developer per month**
|
|
569
|
+
|
|
570
|
+
---
|
|
571
|
+
|
|
572
|
+
## Roadmap
|
|
573
|
+
|
|
574
|
+
### Current (v0.2) β¨
|
|
575
|
+
- β
10 commands including efficiency features
|
|
576
|
+
- β
GitHub Copilot CLI integration
|
|
577
|
+
- β
Project context awareness (`hermes init`)
|
|
578
|
+
- β
Analytics dashboard (`hermes stats`)
|
|
579
|
+
- β
Workflow shortcuts (`hermes workflow`)
|
|
580
|
+
- β
Team-shareable configuration
|
|
581
|
+
- β
Time-saved tracking
|
|
582
|
+
|
|
583
|
+
### Next (v0.3)
|
|
584
|
+
- [ ] `hermes undo` - Revert last operation safely
|
|
585
|
+
- [ ] Auto-backup system before risky operations
|
|
586
|
+
- [ ] Ticket integration (Linear, Jira)
|
|
587
|
+
- [ ] `--dry-run` flag for all commands
|
|
588
|
+
|
|
589
|
+
See [PRODUCT_VISION.md](docs/PRODUCT_VISION.md) for full roadmap.
|
|
590
|
+
|
|
591
|
+
### Future
|
|
592
|
+
- [ ] `hermes review` - PR review assistance
|
|
593
|
+
- [ ] `hermes explain "<git-command>"` - Explain any Git command
|
|
594
|
+
- [ ] Configuration file support (`~/.hermesrc`)
|
|
595
|
+
- [ ] Plugin system for custom commands
|
|
596
|
+
- [ ] Interactive mode with `hermes shell`
|
|
597
|
+
|
|
598
|
+
---
|
|
599
|
+
|
|
600
|
+
## Why "Hermes"?
|
|
601
|
+
|
|
602
|
+
In Greek mythology, **Hermes** is the guide of travelers and the messenger between worlds.
|
|
603
|
+
|
|
604
|
+
- **Branches are worlds.**
|
|
605
|
+
- **Merges are crossings.**
|
|
606
|
+
- **Hermes ensures you cross safely.**
|
|
607
|
+
|
|
608
|
+
---
|
|
609
|
+
|
|
610
|
+
## License
|
|
611
|
+
|
|
612
|
+
[MIT License](LICENSE) - see the [LICENSE](LICENSE) file for details.
|
|
613
|
+
|
|
614
|
+
---
|
|
615
|
+
|
|
616
|
+
## Acknowledgments
|
|
617
|
+
|
|
618
|
+
- Powered by [GitHub Copilot CLI](https://github.com/github/copilot-cli)
|
|
619
|
+
- Built with [Commander.js](https://github.com/tj/commander.js), [Chalk](https://github.com/chalk/chalk), and [Inquirer](https://github.com/SBoudrias/Inquirer.js)
|
|
620
|
+
- Inspired by the need to make Git safer and more accessible
|
|
621
|
+
|
|
622
|
+
---
|
|
623
|
+
|
|
624
|
+
<div align="center">
|
|
625
|
+
|
|
626
|
+
**Made with πͺ½ by developers, for developers**
|
|
627
|
+
|
|
628
|
+
[Report Bug](https://github.com/simandebvu/hermes-cli/issues) β’ [Request Feature](https://github.com/simandebvu/hermes-cli/issues) β’ [Documentation](docs/INTEGRATION.md)
|
|
629
|
+
|
|
630
|
+
</div>
|