@traisetech/autopilot 2.4.0 → 2.5.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 +25 -9
- package/README.md +215 -106
- package/bin/autopilot.js +1 -1
- package/docs/CONFIGURATION.md +103 -103
- package/docs/DESIGN_PRINCIPLES.md +114 -114
- package/docs/TEAM-MODE.md +51 -51
- package/docs/TROUBLESHOOTING.md +21 -21
- package/package.json +75 -69
- package/src/commands/config.js +110 -110
- package/src/commands/dashboard.mjs +151 -151
- package/src/commands/doctor.js +127 -153
- package/src/commands/init.js +8 -9
- package/src/commands/insights.js +237 -237
- package/src/commands/leaderboard.js +116 -116
- package/src/commands/pause.js +18 -18
- package/src/commands/preset.js +121 -121
- package/src/commands/resume.js +17 -17
- package/src/commands/start.js +41 -41
- package/src/commands/status.js +73 -39
- package/src/commands/stop.js +58 -50
- package/src/commands/undo.js +84 -84
- package/src/config/defaults.js +23 -16
- package/src/config/ignore.js +14 -31
- package/src/config/loader.js +80 -80
- package/src/core/commit.js +45 -52
- package/src/core/commitMessageGenerator.js +130 -0
- package/src/core/configValidator.js +92 -0
- package/src/core/events.js +110 -110
- package/src/core/focus.js +2 -1
- package/src/core/gemini.js +15 -15
- package/src/core/git.js +29 -2
- package/src/core/history.js +69 -69
- package/src/core/notifier.js +61 -0
- package/src/core/retryQueue.js +152 -0
- package/src/core/safety.js +224 -210
- package/src/core/state.js +69 -71
- package/src/core/watcher.js +193 -66
- package/src/index.js +70 -70
- package/src/utils/banner.js +6 -6
- package/src/utils/crypto.js +18 -18
- package/src/utils/identity.js +41 -41
- package/src/utils/logger.js +86 -68
- package/src/utils/paths.js +62 -62
- package/src/utils/process.js +141 -141
package/CHANGELOG.md
CHANGED
|
@@ -1,19 +1,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [2.4.0] - 2026-02-18
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
- **Intelligent Guide System**: New `autopilot guide` command for interactive onboarding and documentation.
|
|
7
|
-
- **Enhanced Visual Identity**: Modernized branding and professional documentation aesthetics.
|
|
8
|
-
- **Premium Command Reference**: Redesigned website command library with grouped categories and interactive cards.
|
|
4
|
+
## [2.5.0] - 2026-03-28
|
|
9
5
|
|
|
10
|
-
###
|
|
11
|
-
|
|
12
|
-
- **
|
|
6
|
+
### Added (v2.5.0)
|
|
7
|
+
|
|
8
|
+
- **VS Code Extension Engine**:
|
|
9
|
+
- Implemented `.autopilot-state.json` for real-time state synchronization (PID, status, uptime, branch, etc.).
|
|
10
|
+
- Added `.autopilot.log` with automatic rotation (500KB cap) for fast, incremental streaming in extension UI.
|
|
11
|
+
- Implemented 5s heartbeat in watcher to keep remote UIs perfectly synchronized.
|
|
12
|
+
- **Improved Process Lifecycle**:
|
|
13
|
+
- `autopilot stop` now performs deep cleanup of state, log, and PID files.
|
|
14
|
+
- Enforced `.autopilot-state.json` and `.autopilot.log` as reserved system files, auto-ignored by the watcher.
|
|
15
|
+
|
|
16
|
+
### Improved (v2.5.0)
|
|
17
|
+
|
|
18
|
+
- **Logger Engine**: Pipe all CLI output to `.autopilot.log` by default.
|
|
19
|
+
- **Persistence**: Re-aligned `startedAt` timestamps to ISO strings for cross-tool compatibility.
|
|
20
|
+
|
|
21
|
+
## [2.4.0] - 2026-03-10
|
|
22
|
+
|
|
23
|
+
### Added (v2.4.0)
|
|
24
|
+
|
|
25
|
+
- **Focus Engine Upgrades**: Improved detection of deep work sessions and productivity streaks.
|
|
26
|
+
- **Enhanced AI Logic**: More accurate conventional commit categorization for mixed changes.
|
|
13
27
|
|
|
14
28
|
## [2.3.0] - 2026-02-18
|
|
15
29
|
|
|
16
|
-
### Added
|
|
30
|
+
### Added (v2.3.0)
|
|
31
|
+
|
|
32
|
+
|
|
17
33
|
- **Production-Ready Leaderboard**:
|
|
18
34
|
- Implemented secure Row-Level Security (RLS) policies for anonymized stat synchronization.
|
|
19
35
|
- Enhanced API response to include real-time global ranking.
|
package/README.md
CHANGED
|
@@ -1,106 +1,215 @@
|
|
|
1
|
-
# 🚀 Autopilot
|
|
2
|
-
|
|
3
|
-
<div align="center">
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
[
|
|
6
|
+
|
|
7
|
+
**An intelligent Git automation CLI that safely 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) • [How It Works](#-how-autopilot-works) • [Safety & Guarantees](#-safety--guarantees) • [Commands](#-commands)
|
|
20
|
+
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 📖 Table of Contents
|
|
26
|
+
|
|
27
|
+
- [How Autopilot Works](#-how-autopilot-works)
|
|
28
|
+
- [Safety & Guarantees](#-safety--guarantees)
|
|
29
|
+
- [Failure & Recovery](#-failure--recovery)
|
|
30
|
+
- [AI & Privacy](#-ai--privacy)
|
|
31
|
+
- [Leaderboard & Metrics](#-leaderboard--metrics)
|
|
32
|
+
- [Installation](#-installation)
|
|
33
|
+
- [Quick Start](#-quick-start)
|
|
34
|
+
- [Commands](#-commands)
|
|
35
|
+
- [Configuration](#-configuration)
|
|
36
|
+
- [Contributing](#-contributing)
|
|
37
|
+
- [License](#-license)
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 🔍 How Autopilot Works
|
|
42
|
+
|
|
43
|
+
Autopilot is a local CLI tool that runs in the background of your terminal. It watches your file system for changes and automates the Git workflow based on your configuration.
|
|
44
|
+
|
|
45
|
+
**No Magic. Just Automation.**
|
|
46
|
+
|
|
47
|
+
1. **Watch**: It monitors your project directory for file modifications, creations, and deletions.
|
|
48
|
+
2. **Wait**: It uses a smart debounce timer (default: 20s) to wait until you stop typing.
|
|
49
|
+
3. **Check**: It verifies the repository status (branch, remote, conflicts) before acting.
|
|
50
|
+
4. **Commit**: It stages changes and creates a commit. If AI is enabled, it generates a meaningful message; otherwise, it uses a smart template.
|
|
51
|
+
5. **Push**: It pushes to your remote repository (optional, enabled by default).
|
|
52
|
+
|
|
53
|
+
You can stop, pause, or undo Autopilot at any time.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 🛡️ Safety & Guarantees
|
|
58
|
+
|
|
59
|
+
We prioritize the safety of your code above all else. Autopilot follows strict rules to ensure your work is never lost or corrupted.
|
|
60
|
+
|
|
61
|
+
### Non-Negotiable Guarantees
|
|
62
|
+
|
|
63
|
+
- **Never force-pushes**: Autopilot only performs standard `git push` operations. It will never overwrite remote history.
|
|
64
|
+
- **Never commits ignored files**: It strictly respects your `.gitignore` and `.autopilotignore` rules.
|
|
65
|
+
- **Never operates during merge/rebase**: If your repo is in a merge, rebase, or cherry-pick state, Autopilot pauses automatically.
|
|
66
|
+
- **Never transmits source code without opt-in**: Your code stays local. It is only sent to an AI provider (Gemini/Grok) if you explicitly enable AI features and provide your own API key.
|
|
67
|
+
- **Pauses when uncertain**: If a git error occurs, a conflict is detected, or the network fails, Autopilot pauses and waits for your intervention.
|
|
68
|
+
- **Allows all actions to be undone**: The `autopilot undo` command safely reverts the last automated commit without losing your file changes.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## ⚠️ Failure & Recovery
|
|
73
|
+
|
|
74
|
+
What happens when things go wrong? Autopilot is designed to fail safely.
|
|
75
|
+
|
|
76
|
+
- **Merge Conflicts**: If a `git pull` results in a conflict, Autopilot aborts the operation and notifies you. It will not attempt to resolve conflicts automatically.
|
|
77
|
+
- **Network Issues**: If the internet disconnects, Autopilot will queue commits locally and attempt to push when connectivity is restored (if auto-push is enabled).
|
|
78
|
+
- **Accidental Commits**: If Autopilot commits something you didn't intend, simply run `autopilot undo`. Your files will remain modified in your working directory, but the commit will be removed.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 🤖 AI & Privacy
|
|
83
|
+
|
|
84
|
+
Autopilot offers **optional** AI integration (Google Gemini or xAI Grok) to generate context-aware commit messages.
|
|
85
|
+
|
|
86
|
+
- **Opt-In Only**: AI features are disabled by default. You must enable them and provide your own API key.
|
|
87
|
+
- **Data Usage**: When enabled, only the `git diff` (text changes) is sent to the AI provider to generate the message.
|
|
88
|
+
- **Privacy**: Your code is not trained on by Autopilot. We do not store or proxy your code. Interactions are directly between your machine and the AI provider.
|
|
89
|
+
- **Ranking**: AI usage does not affect your position on the Leaderboard.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 🏆 Leaderboard & Metrics
|
|
94
|
+
|
|
95
|
+
Autopilot includes a Focus Engine that tracks your local productivity (coding time, commit streaks). You can optionally sync this data to the global Leaderboard.
|
|
96
|
+
|
|
97
|
+
- **Participation is Opt-In**: You must explicitly enable syncing with `autopilot config set leaderboard.sync true`.
|
|
98
|
+
- **Privacy-Safe**: We do not send your email or username directly. IDs are hashed/anonymized.
|
|
99
|
+
- **No Code Collected**: The leaderboard tracks *metrics* (time, counts), not code. No file contents are ever synced.
|
|
100
|
+
- **Insight over Competition**: The goal is to help you understand your habits, not to gamify commit spam. Rankings favor consistency and quality.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## ⬇️ Installation
|
|
105
|
+
|
|
106
|
+
Install Autopilot globally using npm:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npm install -g @traisetech/autopilot
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Or run it directly via npx:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npx @traisetech/autopilot start
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 🚀 Quick Start
|
|
121
|
+
|
|
122
|
+
1. **Navigate to your Git repository:**
|
|
123
|
+
```bash
|
|
124
|
+
cd /path/to/my-project
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
2. **Initialize Autopilot:**
|
|
128
|
+
```bash
|
|
129
|
+
autopilot init
|
|
130
|
+
```
|
|
131
|
+
Follow the interactive prompts to configure settings (or accept defaults).
|
|
132
|
+
|
|
133
|
+
3. **Start the watcher:**
|
|
134
|
+
```bash
|
|
135
|
+
autopilot start
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Autopilot is now running!** It will monitor file changes and automatically commit/push them based on your configuration.
|
|
139
|
+
|
|
140
|
+
4. **View the Dashboard:**
|
|
141
|
+
Open a new terminal and run:
|
|
142
|
+
```bash
|
|
143
|
+
autopilot dashboard
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## 🎨 VS Code Extension (Recommended)
|
|
149
|
+
|
|
150
|
+
Prefer a GUI? Use our official **Autopilot VS Code Extension**:
|
|
151
|
+
|
|
152
|
+
- **Live Sidebar**: Monitor status, branch, and queue at a glance.
|
|
153
|
+
- **Integrated Logs**: View color-coded process output directly in your editor.
|
|
154
|
+
- **Quick Actions**: Start, stop, pause, and undo with a single click from the status bar.
|
|
155
|
+
- **Settings UI**: Form-based configuration of your `.autopilotrc.json`.
|
|
156
|
+
|
|
157
|
+
**[Install from the VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=praisetechzw.autopilot-vscode)**
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## 🛠️ Commands
|
|
162
|
+
|
|
163
|
+
| Command | Description |
|
|
164
|
+
|---------|-------------|
|
|
165
|
+
| `autopilot init` | Initialize configuration in the current repo. |
|
|
166
|
+
| `autopilot start` | Start the watcher process (foreground). |
|
|
167
|
+
| `autopilot stop` | Stop the running watcher process. |
|
|
168
|
+
| `autopilot status` | Check if Autopilot is running. |
|
|
169
|
+
| `autopilot dashboard` | View real-time status and activity UI. |
|
|
170
|
+
| `autopilot undo` | Revert the last Autopilot commit. |
|
|
171
|
+
| `autopilot pause` | Temporarily pause automation. |
|
|
172
|
+
| `autopilot resume` | Resume automation. |
|
|
173
|
+
| `autopilot insights` | View productivity stats and analytics. |
|
|
174
|
+
| `autopilot doctor` | Diagnose configuration and environment issues. |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## ⚙️ Configuration
|
|
179
|
+
|
|
180
|
+
Autopilot uses an `.autopilotrc.json` file in your project root.
|
|
181
|
+
|
|
182
|
+
```json
|
|
183
|
+
{
|
|
184
|
+
"debounceSeconds": 20,
|
|
185
|
+
"minSecondsBetweenCommits": 180,
|
|
186
|
+
"autoPush": true,
|
|
187
|
+
"blockBranches": ["main", "master"],
|
|
188
|
+
"teamMode": true,
|
|
189
|
+
"preventSecrets": true,
|
|
190
|
+
"ai": {
|
|
191
|
+
"enabled": true,
|
|
192
|
+
"provider": "gemini"
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for full details.
|
|
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.
|
package/bin/autopilot.js
CHANGED
package/docs/CONFIGURATION.md
CHANGED
|
@@ -1,103 +1,103 @@
|
|
|
1
|
-
# Configuration Reference - Autopilot CLI
|
|
2
|
-
|
|
3
|
-
**Built by Praise Masunga (PraiseTechzw)**
|
|
4
|
-
|
|
5
|
-
This document reflects the current `.autopilotrc.json` options.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## File Locations
|
|
10
|
-
|
|
11
|
-
- Config: `.autopilotrc.json` (repo root)
|
|
12
|
-
- Ignore: `.autopilotignore` (repo root)
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Full Example
|
|
17
|
-
|
|
18
|
-
```json
|
|
19
|
-
{
|
|
20
|
-
"debounceSeconds": 20,
|
|
21
|
-
"minSecondsBetweenCommits": 180,
|
|
22
|
-
"autoPush": true,
|
|
23
|
-
"blockBranches": ["main", "master"],
|
|
24
|
-
"requireChecks": false,
|
|
25
|
-
"checks": ["npm test"],
|
|
26
|
-
"commitMessageMode": "smart",
|
|
27
|
-
"teamMode": false,
|
|
28
|
-
"maxFileSizeMB": 50,
|
|
29
|
-
"preventSecrets": true
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Settings
|
|
36
|
-
|
|
37
|
-
### `debounceSeconds`
|
|
38
|
-
- **Type:** number
|
|
39
|
-
- **Default:** 20
|
|
40
|
-
- **Description:** Wait time after the last file change before checking git status.
|
|
41
|
-
|
|
42
|
-
### `minSecondsBetweenCommits`
|
|
43
|
-
- **Type:** number
|
|
44
|
-
- **Default:** 180
|
|
45
|
-
- **Description:** Minimum time between commits (anti-spam).
|
|
46
|
-
|
|
47
|
-
### `autoPush`
|
|
48
|
-
- **Type:** boolean
|
|
49
|
-
- **Default:** true
|
|
50
|
-
- **Description:** Push to `origin/<branch>` after commit.
|
|
51
|
-
|
|
52
|
-
### `blockedBranches`
|
|
53
|
-
- **Type:** string[]
|
|
54
|
-
- **Default:** `["main", "master"]`
|
|
55
|
-
- **Description:** Branches where auto-commit is disabled.
|
|
56
|
-
|
|
57
|
-
### `requireChecks`
|
|
58
|
-
- **Type:** boolean
|
|
59
|
-
- **Default:** false
|
|
60
|
-
- **Description:** Run checks before commit. If any fail, commit is skipped.
|
|
61
|
-
|
|
62
|
-
### `checks`
|
|
63
|
-
- **Type:** string[]
|
|
64
|
-
- **Default:** `[]`
|
|
65
|
-
- **Description:** Shell commands executed sequentially when `requireChecks` is true.
|
|
66
|
-
|
|
67
|
-
### `commitMessageMode`
|
|
68
|
-
- **Type:** `"smart" | "simple" | "ai"`
|
|
69
|
-
- **Default:** `"smart"`
|
|
70
|
-
- **Description:**
|
|
71
|
-
- smart: file/diff-based conventional messages
|
|
72
|
-
- simple: `chore: update changes`
|
|
73
|
-
- ai: uses configured AI provider (Gemini or Grok)
|
|
74
|
-
|
|
75
|
-
### `teamMode`
|
|
76
|
-
- **Type:** boolean
|
|
77
|
-
- **Default:** `false`
|
|
78
|
-
- **Description:** Enables pull-before-push and stricter conflict handling. Recommended for collaborative environments.
|
|
79
|
-
|
|
80
|
-
### `preCommitChecks.fileSize`
|
|
81
|
-
- **Type:** boolean
|
|
82
|
-
- **Default:** `true`
|
|
83
|
-
- **Description:** Prevent commits containing files larger than 50MB.
|
|
84
|
-
|
|
85
|
-
### `preCommitChecks.secrets`
|
|
86
|
-
- **Type:** boolean
|
|
87
|
-
- **Default:** `true`
|
|
88
|
-
- **Description:** Secret scan for common key/token patterns before committing.
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## Ignore File (.autopilotignore)
|
|
93
|
-
|
|
94
|
-
Gitignore-style patterns. Example:
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
node_modules/
|
|
98
|
-
dist/
|
|
99
|
-
.env
|
|
100
|
-
*.log
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
Autopilot also always ignores `.git`, `.autopilot.pid`, and `autopilot.log`.
|
|
1
|
+
# Configuration Reference - Autopilot CLI
|
|
2
|
+
|
|
3
|
+
**Built by Praise Masunga (PraiseTechzw)**
|
|
4
|
+
|
|
5
|
+
This document reflects the current `.autopilotrc.json` options.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## File Locations
|
|
10
|
+
|
|
11
|
+
- Config: `.autopilotrc.json` (repo root)
|
|
12
|
+
- Ignore: `.autopilotignore` (repo root)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Full Example
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"debounceSeconds": 20,
|
|
21
|
+
"minSecondsBetweenCommits": 180,
|
|
22
|
+
"autoPush": true,
|
|
23
|
+
"blockBranches": ["main", "master"],
|
|
24
|
+
"requireChecks": false,
|
|
25
|
+
"checks": ["npm test"],
|
|
26
|
+
"commitMessageMode": "smart",
|
|
27
|
+
"teamMode": false,
|
|
28
|
+
"maxFileSizeMB": 50,
|
|
29
|
+
"preventSecrets": true
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Settings
|
|
36
|
+
|
|
37
|
+
### `debounceSeconds`
|
|
38
|
+
- **Type:** number
|
|
39
|
+
- **Default:** 20
|
|
40
|
+
- **Description:** Wait time after the last file change before checking git status.
|
|
41
|
+
|
|
42
|
+
### `minSecondsBetweenCommits`
|
|
43
|
+
- **Type:** number
|
|
44
|
+
- **Default:** 180
|
|
45
|
+
- **Description:** Minimum time between commits (anti-spam).
|
|
46
|
+
|
|
47
|
+
### `autoPush`
|
|
48
|
+
- **Type:** boolean
|
|
49
|
+
- **Default:** true
|
|
50
|
+
- **Description:** Push to `origin/<branch>` after commit.
|
|
51
|
+
|
|
52
|
+
### `blockedBranches`
|
|
53
|
+
- **Type:** string[]
|
|
54
|
+
- **Default:** `["main", "master"]`
|
|
55
|
+
- **Description:** Branches where auto-commit is disabled.
|
|
56
|
+
|
|
57
|
+
### `requireChecks`
|
|
58
|
+
- **Type:** boolean
|
|
59
|
+
- **Default:** false
|
|
60
|
+
- **Description:** Run checks before commit. If any fail, commit is skipped.
|
|
61
|
+
|
|
62
|
+
### `checks`
|
|
63
|
+
- **Type:** string[]
|
|
64
|
+
- **Default:** `[]`
|
|
65
|
+
- **Description:** Shell commands executed sequentially when `requireChecks` is true.
|
|
66
|
+
|
|
67
|
+
### `commitMessageMode`
|
|
68
|
+
- **Type:** `"smart" | "simple" | "ai"`
|
|
69
|
+
- **Default:** `"smart"`
|
|
70
|
+
- **Description:**
|
|
71
|
+
- smart: file/diff-based conventional messages
|
|
72
|
+
- simple: `chore: update changes`
|
|
73
|
+
- ai: uses configured AI provider (Gemini or Grok)
|
|
74
|
+
|
|
75
|
+
### `teamMode`
|
|
76
|
+
- **Type:** boolean
|
|
77
|
+
- **Default:** `false`
|
|
78
|
+
- **Description:** Enables pull-before-push and stricter conflict handling. Recommended for collaborative environments.
|
|
79
|
+
|
|
80
|
+
### `preCommitChecks.fileSize`
|
|
81
|
+
- **Type:** boolean
|
|
82
|
+
- **Default:** `true`
|
|
83
|
+
- **Description:** Prevent commits containing files larger than 50MB.
|
|
84
|
+
|
|
85
|
+
### `preCommitChecks.secrets`
|
|
86
|
+
- **Type:** boolean
|
|
87
|
+
- **Default:** `true`
|
|
88
|
+
- **Description:** Secret scan for common key/token patterns before committing.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Ignore File (.autopilotignore)
|
|
93
|
+
|
|
94
|
+
Gitignore-style patterns. Example:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
node_modules/
|
|
98
|
+
dist/
|
|
99
|
+
.env
|
|
100
|
+
*.log
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Autopilot also always ignores `.git`, `.autopilot.pid`, and `autopilot.log`.
|