@traisetech/autopilot 0.1.6 → 0.1.8

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 CHANGED
@@ -1,67 +1,92 @@
1
- ## v0.1.1 – Package Hygiene
2
-
3
- ### Fixed
4
- - Resolved npm publish warnings by adding `files` whitelist
5
- - Renamed package to scoped `@praisetechzw/autopilot`
6
- - Excluded unnecessary development files from distribution
7
-
8
- ## v0.1.0 Initial Release
9
-
10
- ### Added
11
- - Intelligent auto commit & push
12
- - Branch protection (main/master blocked)
13
- - Remote-ahead safety checks
14
- - Smart conventional commit messages
15
- - Per-repo config and ignore rules
16
-
17
- Built by Praise Masunga (PraiseTechzw).
18
- # Changelog
19
-
20
- All notable changes to this project will be documented in this file.
21
- This project follows Semantic Versioning (https://semver.org).
22
-
23
- ---
24
-
25
- ## [0.1.4] 2026-02-01
26
-
27
- ### Fixed
28
- - **Windows Compatibility**: Fixed critical issue where absolute paths on Windows caused ignore rules to fail.
29
- - **Watcher Noise**: Fixed infinite commit loops caused by `.vscode/time-analytics.json` and self-logging.
30
- - Fixed a critical CLI crash where `autopilot start` failed due to miswired Commander action handlers.
31
- - Improved command registration to ensure all CLI commands are correctly bound and validated at runtime.
32
- - Prevented undefined command handlers from causing runtime exceptions.
33
-
34
- ### Added
35
- - **Release Gates**: Added `npm run verify` and `prepublishOnly` hooks to prevent broken releases.
36
- - **Integration Tests**: Added full end-to-end test suite using `node:test`.
37
- - **Smart Init**: `autopilot init` now automatically adds `autopilot.log` to `.gitignore`.
38
- - Pre-publish verification pipeline to block publishing broken builds.
39
- - CLI smoke tests to ensure core commands (`init`, `start`, `status`, `doctor`) do not crash.
40
- - Test-only dry-run mode for watcher to allow safe automated testing.
41
- - Additional configuration and commit logic unit tests.
42
-
43
- ### Changed
44
- - Standardized command exports across all CLI commands.
45
- - Improved error messages for misconfigured or invalid commands.
46
- - Strengthened release hygiene and stability guarantees.
47
-
48
- ### Developer Experience
49
- - Added `prepublishOnly` guard to prevent accidental publishing of failing builds.
50
- - Improved Windows compatibility during testing and CLI execution.
51
-
52
- ---
53
-
54
- ## [0.1.3] – 2026-01-31
55
-
56
- ### Added
57
- - Initial public release of Autopilot CLI.
58
- - Intelligent Git automation with smart commit messages.
59
- - Background watcher with debouncing and safety rails.
60
- - Branch protection and remote-ahead detection.
61
- - `doctor` command for environment diagnostics.
62
- - Per-project configuration via `.autopilotrc.json`.
63
-
64
- ---
65
-
66
- ## [0.1.0] – Initial Development
67
- - Core architecture and foundational CLI commands.
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.1.8] - 2026-02-04
7
+
8
+ ### Reliability & Core
9
+ - **Watcher Engine Overhaul**:
10
+ - Implemented dual ignore checks (chokidar + internal matcher) to guarantee no ignored files trigger builds.
11
+ - Added "Max Wait" fallback (60s) to prevent debounce starvation on busy repos.
12
+ - Hardcoded critical ignores (`.git`, `node_modules`, `autopilot.log`) to prevent infinite loops.
13
+ - **Git Safety**:
14
+ - Added graceful fallback for push failures (logs warning instead of crashing).
15
+ - Enforced "tracked only" commits using `git status --porcelain`.
16
+ - **Test Mode**:
17
+ - Added `AUTOPILOT_TEST_MODE=1` flag for deterministic CI testing (foreground run + auto-exit).
18
+
19
+ ### CI/CD & Standards
20
+ - **GitHub Workflows**:
21
+ - `ci.yml`: Automated testing on Windows, Ubuntu, and macOS for every PR.
22
+ - `release.yml`: Automated GitHub Releases with changelog generation and tarball assets.
23
+ - `publish.yml`: Secure npm publishing via OIDC provenance.
24
+ - **Repository Standards**:
25
+ - Added Issue Templates (Bug/Feature), PR Template, `SECURITY.md`, and `CODEOWNERS`.
26
+
27
+ ### Fixed
28
+ - **Windows Paths**: Fixed path normalization issues causing ignore rules to fail on Windows.
29
+ - **Self-Triggering**: Fixed issue where writing `autopilot.log` could trigger a new commit loop.
30
+
31
+ ## [0.1.7] - 2026-02-01
32
+
33
+ ### Added
34
+ - **CLI Update Notifier**:
35
+ - Automatically checks for new versions on npm registry (once every 24 hours).
36
+ - Zero-dependency implementation using native Node.js `https`.
37
+ - Non-intrusive visual notification box on startup when updates are available.
38
+ - **Documentation**:
39
+ - Added live NPM download statistics to landing page and documentation sidebar.
40
+ - Enhanced install command widget with one-click copy.
41
+
42
+ ## [0.1.6] - 2026-02-01
43
+
44
+ ### Added
45
+ - **Smart Commit Generator 2.0**:
46
+ - Offline diff parsing using `git diff` (no external APIs).
47
+ - Conventional Commits compliance (`feat`, `fix`, `docs`, `style`, `test`).
48
+ - Intelligent scope detection for UI, Theme, Search, and Docs.
49
+ - Golden Test Suite with 10 fixtures for guaranteed message quality.
50
+ - **Developer Experience**:
51
+ - Added `npm run verify` script for pre-release checks.
52
+ - Improved Windows path normalization for reliable cross-platform usage.
53
+
54
+ ### Changed
55
+ - **Performance**: Switched from file-based status checks to staged diff analysis for commit messages.
56
+ - **Logic**: Reordered commit type priority (Style > Src > Test > Docs) to prevent misclassification of mixed changes.
57
+ - **Fix**: Resolved issue where new files were incorrectly flagged as `fix` instead of `feat`.
58
+
59
+ ## [0.1.4] - 2026-02-01
60
+
61
+ ### Fixed
62
+ - **Windows Compatibility**: Fixed critical issue where absolute paths on Windows caused ignore rules to fail.
63
+ - **Watcher Noise**: Fixed infinite commit loops caused by `.vscode/time-analytics.json` and self-logging.
64
+ - **CLI Crash**: Resolved `autopilot start` failure due to miswired Commander action handlers.
65
+
66
+ ### Added
67
+ - **Release Gates**: Added `npm run verify` and `prepublishOnly` hooks to prevent broken releases.
68
+ - **Integration Tests**: Added full end-to-end test suite using `node:test`.
69
+ - **Smart Init**: `autopilot init` now automatically adds `autopilot.log` to `.gitignore`.
70
+ - **Diagnostics**: Added `autopilot doctor` for environment health checks.
71
+
72
+ ## [0.1.3] - 2026-01-31
73
+
74
+ ### Added
75
+ - **Initial Public Release**: First stable release on npm as `@traisetech/autopilot`.
76
+ - **Core Features**:
77
+ - Intelligent auto commit & push.
78
+ - Background watcher with debouncing.
79
+ - Branch protection (blocks commits to `main`/`master` by default).
80
+ - Remote-ahead safety checks.
81
+ - Per-project configuration via `.autopilotrc.json`.
82
+
83
+ ## [0.1.1]
84
+
85
+ ### Changed
86
+ - **Package Hygiene**: Renamed package scope.
87
+ - **Distribution**: Added `files` whitelist to `package.json` to reduce install size.
88
+
89
+ ## [0.1.0]
90
+
91
+ ### Added
92
+ - **Prototype**: Initial development release with core architecture.
package/README.md CHANGED
@@ -1,2 +1,233 @@
1
-
2
- <!-- Autopilot test run: 2026-02-01 -->
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
+ **Intelligent Git automation that 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) • [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
+ - **🧠 Smart Commits**: Generates professional conventional commit messages automatically.
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
+ - **⚙️ Zero Config**: Works out of the box, but fully configurable via `.autopilotrc.json`.
91
+ - **🩺 Self-Healing**: Includes a `doctor` command to diagnose and fix issues.
92
+
93
+ ---
94
+
95
+ ## ⬇️ Installation
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
+ - **Branch Protection**: Will not run on branches listed in `blockedBranches`.
185
+ - **Remote Sync**: Checks if local branch is behind remote before acting.
186
+ - **Debouncing**: Waits for file changes to settle before committing.
187
+ - **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
+ - **Common Issue**: If commits aren't triggering, check if you are editing ignored files (e.g. `.vscode`, `node_modules`).
205
+ - **Autopilot detects changes but never commits**: This can happen if files are constantly changing (resetting the debounce timer) or if you are on a blocked branch. Check `autopilot.log` for details.
206
+
207
+ For more details, visit our [Documentation Site](https://autopilot-cli.vercel.app/docs/troubleshooting).
208
+
209
+ ---
210
+
211
+ ## 🧪 Verification (Smoke Test)
212
+
213
+ To verify that Autopilot is working correctly on your machine or in a CI environment, you can run the built-in verification suite. This runs the linter, the doctor diagnostic tool, and the full test suite.
214
+
215
+ ```bash
216
+ # Run the full verification suite
217
+ npm run verify
218
+ ```
219
+
220
+ If everything is green, you are good to go!
221
+
222
+ ---
223
+
224
+ ## 🤝 Contributing
225
+
226
+ Contributions, issues, and feature requests are welcome!
227
+ Feel free to check the [issues page](https://github.com/PraiseTechzw/autopilot-cli/issues).
228
+
229
+ Please read our [Contributing Guide](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests.
230
+
231
+ ## 📝 License
232
+
233
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
package/bin/autopilot.js CHANGED
@@ -1,68 +1,72 @@
1
- #!/usr/bin/env node
2
-
3
- const { Command } = require('commander');
4
- const initRepo = require('../src/commands/init');
5
- const startWatcher = require('../src/commands/start');
6
- const stopWatcher = require('../src/commands/stop');
7
- const statusWatcher = require('../src/commands/status');
8
- const doctor = require('../src/commands/doctor');
9
- const pkg = require('../package.json');
10
- const logger = require('../src/utils/logger');
11
-
12
- // Validate command handlers
13
- const commands = {
14
- init: initRepo,
15
- start: startWatcher,
16
- stop: stopWatcher,
17
- status: statusWatcher,
18
- doctor: doctor
19
- };
20
-
21
- // Runtime assertion to prevent wiring errors
22
- Object.entries(commands).forEach(([name, handler]) => {
23
- if (typeof handler !== 'function') {
24
- console.error(`\n❌ FATAL ERROR: Command handler for '${name}' is not a function.`);
25
- console.error(`Received: ${typeof handler}`);
26
- console.error('Please report this issue to the maintainer.\n');
27
- process.exit(1);
28
- }
29
- });
30
-
31
- const program = new Command();
32
-
33
- program
34
- .name('autopilot')
35
- .description('Git automation with safety rails')
36
- .version(pkg.version, '-v, --version', 'Show version');
37
-
38
- program
39
- .command('init')
40
- .description('Initialize autopilot configuration in repository')
41
- .action(initRepo);
42
-
43
- program
44
- .command('start')
45
- .description('Start autopilot watcher in foreground')
46
- .action(startWatcher);
47
-
48
- program
49
- .command('stop')
50
- .description('Stop the running autopilot watcher')
51
- .action(stopWatcher);
52
-
53
- program
54
- .command('status')
55
- .description('Show autopilot watcher status')
56
- .action(statusWatcher);
57
-
58
- program
59
- .command('doctor')
60
- .description('Diagnose and validate autopilot setup')
61
- .action(doctor);
62
-
63
- program
64
- .addHelpText('after', '\nBuilt by Praise Masunga (PraiseTechzw)')
65
- .addHelpCommand(true, 'Show help for command')
66
- .showHelpAfterError('(add --help for command information)');
67
-
68
- program.parse(process.argv);
1
+ #!/usr/bin/env node
2
+
3
+ const { Command } = require('commander');
4
+ const initRepo = require('../src/commands/init');
5
+ const startWatcher = require('../src/commands/start');
6
+ const stopWatcher = require('../src/commands/stop');
7
+ const statusWatcher = require('../src/commands/status');
8
+ const doctor = require('../src/commands/doctor');
9
+ const pkg = require('../package.json');
10
+ const logger = require('../src/utils/logger');
11
+ const { checkForUpdate } = require('../src/utils/update-check');
12
+
13
+ // Validate command handlers
14
+ const commands = {
15
+ init: initRepo,
16
+ start: startWatcher,
17
+ stop: stopWatcher,
18
+ status: statusWatcher,
19
+ doctor: doctor
20
+ };
21
+
22
+ // Runtime assertion to prevent wiring errors
23
+ Object.entries(commands).forEach(([name, handler]) => {
24
+ if (typeof handler !== 'function') {
25
+ console.error(`\n❌ FATAL ERROR: Command handler for '${name}' is not a function.`);
26
+ console.error(`Received: ${typeof handler}`);
27
+ console.error('Please report this issue to the maintainer.\n');
28
+ process.exit(1);
29
+ }
30
+ });
31
+
32
+ const program = new Command();
33
+
34
+ program
35
+ .name('autopilot')
36
+ .description('Git automation with safety rails')
37
+ .version(pkg.version, '-v, --version', 'Show version');
38
+
39
+ program
40
+ .command('init')
41
+ .description('Initialize autopilot configuration in repository')
42
+ .action(initRepo);
43
+
44
+ program
45
+ .command('start')
46
+ .description('Start autopilot watcher in foreground')
47
+ .action(startWatcher);
48
+
49
+ program
50
+ .command('stop')
51
+ .description('Stop the running autopilot watcher')
52
+ .action(stopWatcher);
53
+
54
+ program
55
+ .command('status')
56
+ .description('Show autopilot watcher status')
57
+ .action(statusWatcher);
58
+
59
+ program
60
+ .command('doctor')
61
+ .description('Diagnose and validate autopilot setup')
62
+ .action(doctor);
63
+
64
+ program
65
+ .addHelpText('after', '\nBuilt by Praise Masunga (PraiseTechzw)')
66
+ .addHelpCommand(true, 'Show help for command')
67
+ .showHelpAfterError('(add --help for command information)');
68
+
69
+ (async () => {
70
+ await checkForUpdate();
71
+ program.parse(process.argv);
72
+ })();
package/package.json CHANGED
@@ -1,58 +1,59 @@
1
- {
2
- "name": "@traisetech/autopilot",
3
- "version": "0.1.6",
4
- "publishConfig": {
5
- "access": "public"
6
- },
7
- "files": [
8
- "bin",
9
- "src",
10
- "docs",
11
- "README.md",
12
- "LICENSE",
13
- "CHANGELOG.md"
14
- ],
15
- "description": "An intelligent CLI tool that automatically commits and pushes your code so you can focus on building.",
16
- "keywords": [
17
- "git",
18
- "automation",
19
- "autocommit",
20
- "autopush",
21
- "developer-tools",
22
- "cli",
23
- "productivity",
24
- "git-workflow"
25
- ],
26
- "author": "Praise Masunga (PraiseTechzw)",
27
- "license": "MIT",
28
- "type": "commonjs",
29
- "bin": {
30
- "autopilot": "bin/autopilot.js"
31
- },
32
- "main": "src/index.js",
33
- "scripts": {
34
- "dev": "node bin/autopilot.js",
35
- "test": "node --test",
36
- "lint": "node -c bin/autopilot.js && node -c src/index.js",
37
- "verify": "node bin/autopilot.js --help && npm run test && node bin/autopilot.js doctor",
38
- "prepublishOnly": "npm run verify",
39
- "release:patch": "npm run verify && npm version patch && git push --follow-tags && echo \"\n🚀 Ready to publish! Run: npm publish --access public\""
40
- },
41
- "engines": {
42
- "node": ">=18.0.0"
43
- },
44
- "repository": {
45
- "type": "git",
46
- "url": "git+https://github.com/PraiseTechzw/autopilot-cli.git"
47
- },
48
- "bugs": {
49
- "url": "https://github.com/PraiseTechzw/autopilot-cli/issues"
50
- },
51
- "homepage": "https://github.com/PraiseTechzw/autopilot-cli#readme",
52
- "dependencies": {
53
- "chokidar": "^5.0.0",
54
- "commander": "^14.0.3",
55
- "execa": "^9.6.1",
56
- "fs-extra": "^11.3.3"
57
- }
58
- }
1
+ {
2
+ "name": "@traisetech/autopilot",
3
+ "version": "0.1.8",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "files": [
8
+ "bin",
9
+ "src",
10
+ "docs",
11
+ "README.md",
12
+ "LICENSE",
13
+ "CHANGELOG.md"
14
+ ],
15
+ "description": "An intelligent CLI tool that automatically commits and pushes your code so you can focus on building.",
16
+ "keywords": [
17
+ "git",
18
+ "automation",
19
+ "autocommit",
20
+ "autopush",
21
+ "developer-tools",
22
+ "cli",
23
+ "productivity",
24
+ "git-workflow"
25
+ ],
26
+ "author": "Praise Masunga (PraiseTechzw)",
27
+ "license": "MIT",
28
+ "type": "commonjs",
29
+ "bin": {
30
+ "autopilot": "bin/autopilot.js"
31
+ },
32
+ "main": "src/index.js",
33
+ "scripts": {
34
+ "dev": "node bin/autopilot.js",
35
+ "test": "node --test",
36
+ "lint": "node -c bin/autopilot.js && node -c src/index.js",
37
+ "verify": "node bin/autopilot.js --help && node bin/autopilot.js doctor && node --test",
38
+ "prepublishOnly": "npm run verify",
39
+ "release:patch": "npm run verify && npm version patch && git push --follow-tags && echo \"\n🚀 Ready to publish! Run: npm publish --access public\""
40
+ },
41
+ "engines": {
42
+ "node": ">=18.0.0"
43
+ },
44
+ "repository": {
45
+ "type": "git",
46
+ "url": "git+https://github.com/PraiseTechzw/autopilot-cli.git"
47
+ },
48
+ "bugs": {
49
+ "url": "https://github.com/PraiseTechzw/autopilot-cli/issues"
50
+ },
51
+ "homepage": "https://github.com/PraiseTechzw/autopilot-cli#readme",
52
+ "dependencies": {
53
+ "@traisetech/autopilot": "^0.1.7",
54
+ "chokidar": "^5.0.0",
55
+ "commander": "^14.0.3",
56
+ "execa": "^5.1.1",
57
+ "fs-extra": "^11.3.3"
58
+ }
59
+ }