@traisetech/autopilot 0.1.7 → 2.0.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/CHANGELOG.md +121 -67
- package/README.md +214 -226
- package/bin/autopilot.js +130 -72
- package/docs/CONFIGURATION.md +100 -82
- package/docs/TEAM-MODE.md +51 -0
- package/package.json +69 -58
- package/src/commands/dashboard.mjs +142 -0
- package/src/commands/doctor.js +121 -121
- package/src/commands/init.js +214 -129
- package/src/commands/insights.js +231 -0
- package/src/commands/leaderboard.js +70 -0
- package/src/commands/pause.js +18 -0
- package/src/commands/preset.js +121 -0
- package/src/commands/resume.js +17 -0
- package/src/commands/undo.js +84 -0
- package/src/config/defaults.js +54 -36
- package/src/config/ignore.js +153 -136
- package/src/core/commit.js +346 -308
- package/src/core/focus.js +197 -0
- package/src/core/gemini.js +121 -0
- package/src/core/git.js +259 -177
- package/src/core/history.js +69 -0
- package/src/core/safety.js +204 -38
- package/src/core/state.js +71 -0
- package/src/core/watcher.js +405 -277
- package/src/index.js +40 -0
- package/src/integrations/base.js +23 -0
- package/src/integrations/calendar.js +23 -0
- package/src/integrations/manager.js +48 -0
- package/src/utils/logger.js +9 -0
- package/src/utils/update-check.js +151 -151
package/CHANGELOG.md
CHANGED
|
@@ -1,67 +1,121 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
This project follows [Semantic Versioning](https://semver.org).
|
|
5
|
-
|
|
6
|
-
## [0.
|
|
7
|
-
|
|
8
|
-
### Added
|
|
9
|
-
- **
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
- **
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
- **
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
###
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- **Watcher
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
- **
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
- **
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
- **
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
This project follows [Semantic Versioning](https://semver.org).
|
|
5
|
+
|
|
6
|
+
## [2.0.0] - 2026-02-04
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
- **Safety System (Phase 1)**:
|
|
10
|
+
- **Undo/Rollback**: `autopilot undo` command to safely revert the last autopilot commit.
|
|
11
|
+
- **Team Mode**: Enhanced `autopilot init` with team configuration. Implements "Pull-Before-Push" to prevent conflicts.
|
|
12
|
+
- **Pre-Commit Validation**:
|
|
13
|
+
- **Secret Detection**: Blocks commits containing AWS, GitHub, or Stripe keys.
|
|
14
|
+
- **File Size Check**: Prevents committing files larger than 50MB.
|
|
15
|
+
- **Quality Gates**: Optional linting and test execution before commit.
|
|
16
|
+
- **Pause/Resume**: `autopilot pause` and `autopilot resume` for manual control of the automation loop.
|
|
17
|
+
- **Visibility & UX (Phase 2)**:
|
|
18
|
+
- **Real-Time Dashboard**: `autopilot dashboard` providing a live view of file changes, last commit status, and system health.
|
|
19
|
+
- **Enhanced Insights**: `autopilot insights` with deep analytics:
|
|
20
|
+
- Commit Quality Score (0-100) based on conventional commit standards.
|
|
21
|
+
- Productivity metrics (peak hours, streaks).
|
|
22
|
+
- CSV export capability (`--export csv`).
|
|
23
|
+
- **Intelligence (Phase 3)**:
|
|
24
|
+
- **AI Commit Messages**: Integration with Google Gemini for context-aware, senior-level commit message generation.
|
|
25
|
+
- **Workflow Presets**: `autopilot preset` command to quickly switch between workflows:
|
|
26
|
+
- `safe-team`: Optimized for collaboration (Team Mode + Secret Checks).
|
|
27
|
+
- `solo-speed`: Optimized for rapid individual development.
|
|
28
|
+
- `strict-ci`: Enforces testing and linting before every commit.
|
|
29
|
+
### Docs/Website
|
|
30
|
+
- Added Leaderboard page with live simulated rankings.
|
|
31
|
+
- Updated homepage Feature Showcase to demonstrate Insights and Safety & Team features.
|
|
32
|
+
- Added Leaderboard to top navigation.
|
|
33
|
+
- Updated Introduction docs to highlight v2.0 features (AI, Focus Engine, Team Mode, Safety Net).
|
|
34
|
+
|
|
35
|
+
## [0.1.8] - 2026-02-04
|
|
36
|
+
|
|
37
|
+
### Reliability & Core
|
|
38
|
+
- **Watcher Engine Overhaul**:
|
|
39
|
+
- Implemented dual ignore checks (chokidar + internal matcher) to guarantee no ignored files trigger builds.
|
|
40
|
+
- Added "Max Wait" fallback (60s) to prevent debounce starvation on busy repos.
|
|
41
|
+
- Hardcoded critical ignores (`.git`, `node_modules`, `autopilot.log`) to prevent infinite loops.
|
|
42
|
+
- **Git Safety**:
|
|
43
|
+
- Added graceful fallback for push failures (logs warning instead of crashing).
|
|
44
|
+
- Enforced "tracked only" commits using `git status --porcelain`.
|
|
45
|
+
- **Test Mode**:
|
|
46
|
+
- Added `AUTOPILOT_TEST_MODE=1` flag for deterministic CI testing (foreground run + auto-exit).
|
|
47
|
+
|
|
48
|
+
### CI/CD & Standards
|
|
49
|
+
- **GitHub Workflows**:
|
|
50
|
+
- `ci.yml`: Automated testing on Windows, Ubuntu, and macOS for every PR.
|
|
51
|
+
- `release.yml`: Automated GitHub Releases with changelog generation and tarball assets.
|
|
52
|
+
- `publish.yml`: Secure npm publishing via OIDC provenance.
|
|
53
|
+
- **Repository Standards**:
|
|
54
|
+
- Added Issue Templates (Bug/Feature), PR Template, `SECURITY.md`, and `CODEOWNERS`.
|
|
55
|
+
|
|
56
|
+
### Fixed
|
|
57
|
+
- **Windows Paths**: Fixed path normalization issues causing ignore rules to fail on Windows.
|
|
58
|
+
- **Self-Triggering**: Fixed issue where writing `autopilot.log` could trigger a new commit loop.
|
|
59
|
+
|
|
60
|
+
## [0.1.7] - 2026-02-01
|
|
61
|
+
|
|
62
|
+
### Added
|
|
63
|
+
- **CLI Update Notifier**:
|
|
64
|
+
- Automatically checks for new versions on npm registry (once every 24 hours).
|
|
65
|
+
- Zero-dependency implementation using native Node.js `https`.
|
|
66
|
+
- Non-intrusive visual notification box on startup when updates are available.
|
|
67
|
+
- **Documentation**:
|
|
68
|
+
- Added live NPM download statistics to landing page and documentation sidebar.
|
|
69
|
+
- Enhanced install command widget with one-click copy.
|
|
70
|
+
|
|
71
|
+
## [0.1.6] - 2026-02-01
|
|
72
|
+
|
|
73
|
+
### Added
|
|
74
|
+
- **Smart Commit Generator 2.0**:
|
|
75
|
+
- Offline diff parsing using `git diff` (no external APIs).
|
|
76
|
+
- Conventional Commits compliance (`feat`, `fix`, `docs`, `style`, `test`).
|
|
77
|
+
- Intelligent scope detection for UI, Theme, Search, and Docs.
|
|
78
|
+
- Golden Test Suite with 10 fixtures for guaranteed message quality.
|
|
79
|
+
- **Developer Experience**:
|
|
80
|
+
- Added `npm run verify` script for pre-release checks.
|
|
81
|
+
- Improved Windows path normalization for reliable cross-platform usage.
|
|
82
|
+
|
|
83
|
+
### Changed
|
|
84
|
+
- **Performance**: Switched from file-based status checks to staged diff analysis for commit messages.
|
|
85
|
+
- **Logic**: Reordered commit type priority (Style > Src > Test > Docs) to prevent misclassification of mixed changes.
|
|
86
|
+
- **Fix**: Resolved issue where new files were incorrectly flagged as `fix` instead of `feat`.
|
|
87
|
+
|
|
88
|
+
## [0.1.4] - 2026-02-01
|
|
89
|
+
|
|
90
|
+
### Fixed
|
|
91
|
+
- **Windows Compatibility**: Fixed critical issue where absolute paths on Windows caused ignore rules to fail.
|
|
92
|
+
- **Watcher Noise**: Fixed infinite commit loops caused by `.vscode/time-analytics.json` and self-logging.
|
|
93
|
+
- **CLI Crash**: Resolved `autopilot start` failure due to miswired Commander action handlers.
|
|
94
|
+
|
|
95
|
+
### Added
|
|
96
|
+
- **Release Gates**: Added `npm run verify` and `prepublishOnly` hooks to prevent broken releases.
|
|
97
|
+
- **Integration Tests**: Added full end-to-end test suite using `node:test`.
|
|
98
|
+
- **Smart Init**: `autopilot init` now automatically adds `autopilot.log` to `.gitignore`.
|
|
99
|
+
- **Diagnostics**: Added `autopilot doctor` for environment health checks.
|
|
100
|
+
|
|
101
|
+
## [0.1.3] - 2026-01-31
|
|
102
|
+
|
|
103
|
+
### Added
|
|
104
|
+
- **Initial Public Release**: First stable release on npm as `@traisetech/autopilot`.
|
|
105
|
+
- **Core Features**:
|
|
106
|
+
- Intelligent auto commit & push.
|
|
107
|
+
- Background watcher with debouncing.
|
|
108
|
+
- Branch protection (blocks commits to `main`/`master` by default).
|
|
109
|
+
- Remote-ahead safety checks.
|
|
110
|
+
- Per-project configuration via `.autopilotrc.json`.
|
|
111
|
+
|
|
112
|
+
## [0.1.1]
|
|
113
|
+
|
|
114
|
+
### Changed
|
|
115
|
+
- **Package Hygiene**: Renamed package scope.
|
|
116
|
+
- **Distribution**: Added `files` whitelist to `package.json` to reduce install size.
|
|
117
|
+
|
|
118
|
+
## [0.1.0]
|
|
119
|
+
|
|
120
|
+
### Added
|
|
121
|
+
- **Prototype**: Initial development release with core architecture.
|
package/README.md
CHANGED
|
@@ -1,227 +1,215 @@
|
|
|
1
|
-
# 🚀 Autopilot
|
|
2
|
-
|
|
3
|
-
<div align="center">
|
|
4
|
-
|
|
5
|
-

|
|
6
|
-
|
|
7
|
-
**Intelligent Git automation that commits and pushes your code, so you can focus on building.**
|
|
8
|
-
|
|
9
|
-
[](https://www.npmjs.com/package/@traisetech/autopilot)
|
|
10
|
-
[](https://opensource.org/licenses/MIT)
|
|
11
|
-
[](https://nodejs.org)
|
|
12
|
-
[](https://www.npmjs.com/package/@traisetech/autopilot)
|
|
13
|
-
[](https://github.com/PraiseTechzw/autopilot/stargazers)
|
|
14
|
-
[](https://github.com/PraiseTechzw/autopilot/actions)
|
|
15
|
-
[](http://makeapullrequest.com)
|
|
16
|
-
|
|
17
|
-
**Built by [Praise Masunga](https://github.com/PraiseTechzw) (PraiseTechzw)**
|
|
18
|
-
|
|
19
|
-
[Features](#-features) • [Installation](#-installation) • [Quick Start](#-quick-start) • [Configuration](#-configuration) • [Commands](#-commands)
|
|
20
|
-
|
|
21
|
-
</div>
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## 📖 Table of Contents
|
|
26
|
-
|
|
27
|
-
- [Why Autopilot?](#-why-autopilot)
|
|
28
|
-
- [Features](#-features)
|
|
29
|
-
- [Installation](#-installation)
|
|
30
|
-
- [Quick Start](#-quick-start)
|
|
31
|
-
- [Commands](#-commands)
|
|
32
|
-
- [Configuration](#-configuration)
|
|
33
|
-
- [Safety Features](#-safety-features)
|
|
34
|
-
- [Troubleshooting](#-troubleshooting)
|
|
35
|
-
- [Contributing](#-contributing)
|
|
36
|
-
- [License](#-license)
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## 🎯 Why Autopilot?
|
|
41
|
-
|
|
42
|
-
Autopilot is designed for developers who want to stay in the flow. It solves manual Git workflow fatigue by handling the repetitive cycle of staging, committing, and pushing changes, allowing you to focus entirely on writing code.
|
|
43
|
-
|
|
44
|
-
<table>
|
|
45
|
-
<tr>
|
|
46
|
-
<td width="50%">
|
|
47
|
-
|
|
48
|
-
### ❌ Before Autopilot
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
# Every. Single. Time.
|
|
52
|
-
git add .
|
|
53
|
-
git commit -m "update stuff"
|
|
54
|
-
git push
|
|
55
|
-
|
|
56
|
-
# Repeat 50+ times a day...
|
|
57
|
-
# Lose focus on coding
|
|
58
|
-
# Forget to commit
|
|
59
|
-
# Inconsistent messages
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
</td>
|
|
63
|
-
<td width="50%">
|
|
64
|
-
|
|
65
|
-
### ✅ With Autopilot
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
# One time setup
|
|
69
|
-
autopilot init
|
|
70
|
-
autopilot start
|
|
71
|
-
|
|
72
|
-
# That's it!
|
|
73
|
-
# Focus on coding
|
|
74
|
-
# Auto-commits with smart messages
|
|
75
|
-
# Never lose work again
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
</td>
|
|
79
|
-
</tr>
|
|
80
|
-
</table>
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
## ✨ Features
|
|
85
|
-
|
|
86
|
-
- **🧠
|
|
87
|
-
- **⚡ Watcher Engine**: Real-time file monitoring with smart debouncing using `chokidar`.
|
|
88
|
-
- **🛡️ Safety First**: Blocks commits on protected branches and checks remote status.
|
|
89
|
-
- **🔄 Automated Flow**: Fetches, stages, commits, and pushes (optional) automatically.
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
Install Autopilot globally using npm:
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
npm install -g @traisetech/autopilot
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## 🚀 Quick Start
|
|
106
|
-
|
|
107
|
-
### 1. Initialize
|
|
108
|
-
Navigate to your Git repository and initialize Autopilot:
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
cd my-project
|
|
112
|
-
autopilot init
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### 2. Start Watching
|
|
116
|
-
Start the background daemon to begin monitoring your files:
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
autopilot start
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### 3. Check Status
|
|
123
|
-
Verify that Autopilot is running:
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
autopilot status
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### 4. Stop
|
|
130
|
-
When you're done for the day:
|
|
131
|
-
|
|
132
|
-
```bash
|
|
133
|
-
autopilot stop
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## 💻 Commands
|
|
139
|
-
|
|
140
|
-
| Command | Description |
|
|
141
|
-
|---------|-------------|
|
|
142
|
-
| `autopilot init` | Initializes configuration and ignore files in the current directory. |
|
|
143
|
-
| `autopilot start` | Starts the background watcher daemon. |
|
|
144
|
-
| `autopilot stop` | Stops the running watcher daemon. |
|
|
145
|
-
| `autopilot status` | Shows the current status of the watcher process. |
|
|
146
|
-
| `autopilot doctor` | Runs diagnostics to verify environment and configuration. |
|
|
147
|
-
| `autopilot --help` | Displays help information. |
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
## ⚙️ Configuration
|
|
152
|
-
|
|
153
|
-
Autopilot uses a `.autopilotrc.json` file for configuration. It is created automatically when you run `autopilot init`.
|
|
154
|
-
|
|
155
|
-
```json
|
|
156
|
-
{
|
|
157
|
-
"minInterval": 30,
|
|
158
|
-
"autoPush": true,
|
|
159
|
-
"blockedBranches": ["main", "production"],
|
|
160
|
-
"requireChecks": false,
|
|
161
|
-
"ignore": [
|
|
162
|
-
"*.log",
|
|
163
|
-
"temp/",
|
|
164
|
-
"dist/",
|
|
165
|
-
"node_modules"
|
|
166
|
-
]
|
|
167
|
-
}
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
| Option | Type | Default | Description |
|
|
171
|
-
|--------|------|---------|-------------|
|
|
172
|
-
| `minInterval` | `number` | `30` | Minimum seconds between commits. |
|
|
173
|
-
| `autoPush` | `boolean` | `true` | Whether to push changes automatically after commit. |
|
|
174
|
-
| `blockedBranches` | `array` | `[]` | List of branches to disable auto-commit on. |
|
|
175
|
-
| `requireChecks` | `boolean` | `false` | Run custom checks before committing. |
|
|
176
|
-
| `ignore` | `array` | `[]` | Additional glob patterns to ignore. |
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## 🛡️ Safety Features
|
|
181
|
-
|
|
182
|
-
Autopilot includes several safety mechanisms to prevent accidents:
|
|
183
|
-
|
|
184
|
-
1. **Branch Protection**: Will not run on branches listed in `blockedBranches`.
|
|
185
|
-
2. **Remote Sync**: Checks if local branch is behind remote before acting.
|
|
186
|
-
3. **Debouncing**: Waits for file changes to settle before committing.
|
|
187
|
-
4. **PID Management**: Ensures only one instance runs per repository.
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
|
-
## 🔧 Troubleshooting
|
|
192
|
-
|
|
193
|
-
If you encounter issues, run the doctor command:
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
autopilot doctor
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
This will check for:
|
|
200
|
-
- Git repository status
|
|
201
|
-
- Configuration validity
|
|
202
|
-
- Node.js version
|
|
203
|
-
- Permissions
|
|
204
|
-
|
|
1
|
+
# 🚀 Autopilot
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
**Intelligent Git automation that commits and pushes your code, so you can focus on building.**
|
|
8
|
+
|
|
9
|
+
[](https://www.npmjs.com/package/@traisetech/autopilot)
|
|
10
|
+
[](https://opensource.org/licenses/MIT)
|
|
11
|
+
[](https://nodejs.org)
|
|
12
|
+
[](https://www.npmjs.com/package/@traisetech/autopilot)
|
|
13
|
+
[](https://github.com/PraiseTechzw/autopilot-cli/stargazers)
|
|
14
|
+
[](https://github.com/PraiseTechzw/autopilot-cli/actions)
|
|
15
|
+
[](http://makeapullrequest.com)
|
|
16
|
+
|
|
17
|
+
**Built by [Praise Masunga](https://github.com/PraiseTechzw) (PraiseTechzw)**
|
|
18
|
+
|
|
19
|
+
[Features](#-features) • [Installation](#-installation) • [Quick Start](#-quick-start) • [Configuration](#-configuration) • [Commands](#-commands)
|
|
20
|
+
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 📖 Table of Contents
|
|
26
|
+
|
|
27
|
+
- [Why Autopilot?](#-why-autopilot)
|
|
28
|
+
- [Features](#-features)
|
|
29
|
+
- [Installation](#-installation)
|
|
30
|
+
- [Quick Start](#-quick-start)
|
|
31
|
+
- [Commands](#-commands)
|
|
32
|
+
- [Configuration](#-configuration)
|
|
33
|
+
- [Safety Features](#-safety-features)
|
|
34
|
+
- [Troubleshooting](#-troubleshooting)
|
|
35
|
+
- [Contributing](#-contributing)
|
|
36
|
+
- [License](#-license)
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 🎯 Why Autopilot?
|
|
41
|
+
|
|
42
|
+
Autopilot is designed for developers who want to stay in the flow. It solves manual Git workflow fatigue by handling the repetitive cycle of staging, committing, and pushing changes, allowing you to focus entirely on writing code.
|
|
43
|
+
|
|
44
|
+
<table>
|
|
45
|
+
<tr>
|
|
46
|
+
<td width="50%">
|
|
47
|
+
|
|
48
|
+
### ❌ Before Autopilot
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Every. Single. Time.
|
|
52
|
+
git add .
|
|
53
|
+
git commit -m "update stuff"
|
|
54
|
+
git push
|
|
55
|
+
|
|
56
|
+
# Repeat 50+ times a day...
|
|
57
|
+
# Lose focus on coding
|
|
58
|
+
# Forget to commit
|
|
59
|
+
# Inconsistent messages
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
</td>
|
|
63
|
+
<td width="50%">
|
|
64
|
+
|
|
65
|
+
### ✅ With Autopilot
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# One time setup
|
|
69
|
+
autopilot init
|
|
70
|
+
autopilot start
|
|
71
|
+
|
|
72
|
+
# That's it!
|
|
73
|
+
# Focus on coding
|
|
74
|
+
# Auto-commits with smart messages
|
|
75
|
+
# Never lose work again
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
</td>
|
|
79
|
+
</tr>
|
|
80
|
+
</table>
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## ✨ Features
|
|
85
|
+
|
|
86
|
+
- **🧠 AI Commit Messages**: Gemini 2.5-powered, context-aware conventional commit messages.
|
|
87
|
+
- **⚡ Watcher Engine**: Real-time file monitoring with smart debouncing using `chokidar`.
|
|
88
|
+
- **🛡️ Safety First**: Blocks commits on protected branches and checks remote status.
|
|
89
|
+
- **🔄 Automated Flow**: Fetches, stages, commits, and pushes (optional) automatically.
|
|
90
|
+
- **👥 Team Mode**: Pull-before-push and conflict abortion with preset workflows.
|
|
91
|
+
- **🖥️ Dashboard**: Real-time terminal dashboard with status and activity feed.
|
|
92
|
+
- **⏮️ Undo System**: Safely rollback the last autopilot commit with one command.
|
|
93
|
+
- **📊 Focus Engine & Insights**: Track active coding time, streaks, peak hours, and commit quality.
|
|
94
|
+
- **⚙️ Zero Config**: Works out of the box, but fully configurable via `.autopilotrc.json`.
|
|
95
|
+
- **🩺 Self-Healing**: Includes a `doctor` command to diagnose and fix issues.
|
|
96
|
+
|
|
205
97
|
---
|
|
206
|
-
|
|
207
|
-
##
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
98
|
+
|
|
99
|
+
## 🆕 What's New in v2.0
|
|
100
|
+
|
|
101
|
+
- AI commit generation via Google Gemini (opt-in, with graceful fallback).
|
|
102
|
+
- Team presets (`safe-team`, `solo-speed`, `strict-ci`) for different workflows.
|
|
103
|
+
- Safety net with `autopilot undo`, secret detection, and large-file prevention.
|
|
104
|
+
- Productivity Focus Engine with `autopilot insights` and CSV export.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## ⬇️ Installation
|
|
109
|
+
|
|
110
|
+
Install Autopilot globally using npm:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
npm install -g @traisetech/autopilot
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Or run it directly via npx:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
npx @traisetech/autopilot start
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 🚀 Quick Start
|
|
125
|
+
|
|
126
|
+
1. **Navigate to your Git repository:**
|
|
127
|
+
```bash
|
|
128
|
+
cd /path/to/my-project
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
2. **Initialize Autopilot:**
|
|
132
|
+
```bash
|
|
133
|
+
autopilot init
|
|
134
|
+
```
|
|
135
|
+
Follow the interactive prompts to configure settings (or accept defaults).
|
|
136
|
+
|
|
137
|
+
3. **Start the watcher:**
|
|
138
|
+
```bash
|
|
139
|
+
autopilot start
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Autopilot is now running!** It will monitor file changes and automatically commit/push them based on your configuration.
|
|
143
|
+
|
|
144
|
+
4. **View the Dashboard (New):**
|
|
145
|
+
Open a new terminal and run:
|
|
146
|
+
```bash
|
|
147
|
+
autopilot dashboard
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 🛠️ Commands
|
|
153
|
+
|
|
154
|
+
| Command | Description |
|
|
155
|
+
|---------|-------------|
|
|
156
|
+
| `autopilot init` | Initialize configuration in the current repo. |
|
|
157
|
+
| `autopilot start` | Start the watcher process (foreground). |
|
|
158
|
+
| `autopilot stop` | Stop the running watcher process. |
|
|
159
|
+
| `autopilot status` | Check if Autopilot is running. |
|
|
160
|
+
| `autopilot dashboard` | View real-time status and activity UI. |
|
|
161
|
+
| `autopilot undo` | Revert the last Autopilot commit. |
|
|
162
|
+
| `autopilot pause [reason]` | Temporarily pause automation. |
|
|
163
|
+
| `autopilot resume` | Resume automation. |
|
|
164
|
+
| `autopilot insights` | View productivity stats and analytics. |
|
|
165
|
+
| `autopilot doctor` | Diagnose configuration and environment issues. |
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## ⚙️ Configuration
|
|
170
|
+
|
|
171
|
+
Autopilot uses an `.autopilotrc.json` file in your project root.
|
|
172
|
+
|
|
173
|
+
```json
|
|
174
|
+
{
|
|
175
|
+
"debounceSeconds": 20,
|
|
176
|
+
"minSecondsBetweenCommits": 180,
|
|
177
|
+
"autoPush": true,
|
|
178
|
+
"blockBranches": ["main", "master"],
|
|
179
|
+
"teamMode": true,
|
|
180
|
+
"preventSecrets": true,
|
|
181
|
+
"maxFileSizeMB": 50
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for full details.
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 🛡️ Safety Features
|
|
190
|
+
|
|
191
|
+
Autopilot includes multiple layers of protection:
|
|
192
|
+
|
|
193
|
+
1. **Branch Protection**: Prevents running on blocked branches (default: `main`, `master`).
|
|
194
|
+
2. **Secret Detection**: Scans for AWS keys, GitHub tokens, and other secrets before committing.
|
|
195
|
+
3. **File Size Limits**: Prevents committing accidental large files (>50MB).
|
|
196
|
+
4. **Team Mode**: Ensures local changes are rebased on top of remote changes to prevent conflicts.
|
|
197
|
+
5. **Undo**: Allows quick recovery from unwanted auto-commits.
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## 🤝 Contributing
|
|
202
|
+
|
|
203
|
+
We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.
|
|
204
|
+
|
|
205
|
+
1. Fork the repo
|
|
206
|
+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
207
|
+
3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
|
|
208
|
+
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
209
|
+
5. Open a Pull Request
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## 📄 License
|
|
214
|
+
|
|
215
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|