@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.
Files changed (44) hide show
  1. package/CHANGELOG.md +25 -9
  2. package/README.md +215 -106
  3. package/bin/autopilot.js +1 -1
  4. package/docs/CONFIGURATION.md +103 -103
  5. package/docs/DESIGN_PRINCIPLES.md +114 -114
  6. package/docs/TEAM-MODE.md +51 -51
  7. package/docs/TROUBLESHOOTING.md +21 -21
  8. package/package.json +75 -69
  9. package/src/commands/config.js +110 -110
  10. package/src/commands/dashboard.mjs +151 -151
  11. package/src/commands/doctor.js +127 -153
  12. package/src/commands/init.js +8 -9
  13. package/src/commands/insights.js +237 -237
  14. package/src/commands/leaderboard.js +116 -116
  15. package/src/commands/pause.js +18 -18
  16. package/src/commands/preset.js +121 -121
  17. package/src/commands/resume.js +17 -17
  18. package/src/commands/start.js +41 -41
  19. package/src/commands/status.js +73 -39
  20. package/src/commands/stop.js +58 -50
  21. package/src/commands/undo.js +84 -84
  22. package/src/config/defaults.js +23 -16
  23. package/src/config/ignore.js +14 -31
  24. package/src/config/loader.js +80 -80
  25. package/src/core/commit.js +45 -52
  26. package/src/core/commitMessageGenerator.js +130 -0
  27. package/src/core/configValidator.js +92 -0
  28. package/src/core/events.js +110 -110
  29. package/src/core/focus.js +2 -1
  30. package/src/core/gemini.js +15 -15
  31. package/src/core/git.js +29 -2
  32. package/src/core/history.js +69 -69
  33. package/src/core/notifier.js +61 -0
  34. package/src/core/retryQueue.js +152 -0
  35. package/src/core/safety.js +224 -210
  36. package/src/core/state.js +69 -71
  37. package/src/core/watcher.js +193 -66
  38. package/src/index.js +70 -70
  39. package/src/utils/banner.js +6 -6
  40. package/src/utils/crypto.js +18 -18
  41. package/src/utils/identity.js +41 -41
  42. package/src/utils/logger.js +86 -68
  43. package/src/utils/paths.js +62 -62
  44. 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
- ### Added
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
- ### Improved
11
- - **Developer Experience**: Added explicit guide callouts in the documentation hero section.
12
- - **Onboarding Flow**: Simplified the initial setup path for new users.
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
- <img src="https://autopilot-cli.vercel.app/favicon.svg" width="120" height="120" alt="Autopilot Logo" />
6
-
7
- # Autopilot CLI v2.4.0
8
- **The Intelligent Git Engine That Respects Your Flow.**
9
-
10
- [![npm version](https://img.shields.io/npm/v/@traisetech/autopilot?style=for-the-badge&color=blue)](https://www.npmjs.com/package/@traisetech/autopilot)
11
- [![License: MIT](https://img.shields.io/badge/License-MIT-black.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)
12
- [![Downloads](https://img.shields.io/npm/dm/@traisetech/autopilot?style=for-the-badge&color=violet)](https://www.npmjs.com/package/@traisetech/autopilot)
13
- [![GitHub Stars](https://img.shields.io/github/stars/PraiseTechzw/autopilot-cli?style=for-the-badge&color=ffd700)](https://github.com/PraiseTechzw/autopilot-cli/stargazers)
14
-
15
- [**Explore Documentation**](https://autopilot-cli.vercel.app) • [**View Leaderboard**](https://autopilot-cli.vercel.app/leaderboard) • [**Report Bug**](https://github.com/PraiseTechzw/autopilot-cli/issues)
16
-
17
- </div>
18
-
19
- ---
20
-
21
- ## 💎 Why Autopilot?
22
-
23
- Autopilot isn't just a "git commit" wrapper. It's a **flow-state companion** designed for high-velocity developers who don't want to break their concentration for repetitive git operations.
24
-
25
- - **Intelligent Sync**: Automates the commit-push cycle with smart debouncing that respects your typing patterns.
26
- - **Local-First Architecture**: Your code NEVER leaves your machine. Automation is 100% local.
27
- - **Zero-Config Simplicity**: Works out of the box with `autopilot init`, but offers surgical control for power users.
28
- - **AI-Assisted Clarity**: Optional integration with Gemini or Grok to generate meaningful, human-readable commit messages.
29
- - **Focus Engine**: Track your coding streaks and focus minutes without external time trackers.
30
-
31
- ---
32
-
33
- ## 🛠️ Performance & Safety Rails
34
-
35
- We built Autopilot with a **"Trust First"** philosophy. It includes hard-coded safety guarantees that make it impossible to break your repository history.
36
-
37
- ### 🛡️ Non-Negotiable Guarantees
38
- - **No Force-Pushes**: Autopilot will never overwrite remote history.
39
- - **Conflict Awareness**: Automatically pauses if a merge conflict is detected.
40
- - **Secret Prevention**: Scans and blocks commits containing `.env` files or potential API keys.
41
- - **Implicit Reversibility**: Every automated action can be reverted instantly with `autopilot undo`.
42
-
43
- ---
44
-
45
- ## 🚀 Getting Started
46
-
47
- ### 1. Installation
48
- ```bash
49
- npm install -g @traisetech/autopilot
50
- ```
51
-
52
- ### 2. Quick Setup
53
- Run the interactive guide to learn the ropes:
54
- ```bash
55
- autopilot guide
56
- ```
57
-
58
- ### 3. Initialize Your Repo
59
- ```bash
60
- cd /path/to/project
61
- autopilot init
62
- ```
63
-
64
- ### 4. Lift Off
65
- ```bash
66
- autopilot start
67
- ```
68
-
69
- ---
70
-
71
- ## 📊 The Command Suite
72
-
73
- | Command | Purpose |
74
- | :--- | :--- |
75
- | `autopilot start` | Launch the intelligent background watcher. |
76
- | `autopilot dashboard` | View real-time activity in a high-fidelity TUI. |
77
- | `autopilot insights` | Deep-dive into your productivity and streak data. |
78
- | `autopilot undo` | Roll back the last automated commit & preserve changes. |
79
- | `autopilot guide` | **(NEW)** Interactive walkthrough and onboarding. |
80
- | `autopilot doctor` | Validate your environment and diagnostic health. |
81
- | `autopilot status` | Instant pulse-check on the automation engine. |
82
-
83
- ---
84
-
85
- ## 🔒 Privacy & AI Transparency
86
-
87
- - **Opt-In AI**: AI features are strictly disabled by default. You provide your own keys; we never see them.
88
- - **No Code Collection**: We do not store, proxy, or train on your source code.
89
- - **Anonymized Metrics**: Leaderboard data uses cryptographic hashes to preserve your identity while celebrating your progress.
90
-
91
- ---
92
-
93
- ## 🤝 Contributing
94
-
95
- Autopilot is built by the community. Want to help?
96
- 1. Check out our [Architecture Overview](docs/ARCHITECTURE.md).
97
- 2. Look for `good-first-issue` labels.
98
- 3. Join the mission to automate developer productivity.
99
-
100
- ---
101
-
102
- <div align="center">
103
- Built with ❤️ by <b>Praise Masunga (PraiseTechzw)</b>
104
- <br/>
105
- <i>Git automation that respects your control.</i>
106
- </div>
1
+ # 🚀 Autopilot
2
+
3
+ <div align="center">
4
+
5
+ ![Autopilot Logo](https://img.shields.io/badge/Autopilot-blue?style=for-the-badge&logo=git&logoColor=white)
6
+
7
+ **An intelligent Git automation CLI that safely commits and pushes your code so you can focus on building.**
8
+
9
+ [![npm version](https://img.shields.io/npm/v/@traisetech/autopilot?style=flat-square&color=success)](https://www.npmjs.com/package/@traisetech/autopilot)
10
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)
11
+ [![Node Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen?style=flat-square)](https://nodejs.org)
12
+ [![Downloads](https://img.shields.io/npm/dm/@traisetech/autopilot?style=flat-square&color=blue)](https://www.npmjs.com/package/@traisetech/autopilot)
13
+ [![GitHub Stars](https://img.shields.io/github/stars/PraiseTechzw/autopilot-cli?style=flat-square&color=gold)](https://github.com/PraiseTechzw/autopilot-cli/stargazers)
14
+ [![Build Status](https://img.shields.io/github/actions/workflow/status/PraiseTechzw/autopilot-cli/ci.yml?style=flat-square)](https://github.com/PraiseTechzw/autopilot-cli/actions)
15
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](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
@@ -149,5 +149,5 @@ program
149
149
 
150
150
  (async () => {
151
151
  await checkForUpdate();
152
- program.parse(process.argv);
152
+ await program.parseAsync(process.argv);
153
153
  })();
@@ -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`.