optikit 1.2.4 β 1.3.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/.claude/commands/build.md +57 -0
- package/.claude/commands/clean.md +45 -0
- package/.claude/commands/generate.md +64 -0
- package/.claude/commands/rollback.md +67 -0
- package/.claude/commands/run.md +63 -0
- package/.claude/commands/setup.md +69 -0
- package/.claude/commands/sync-docs.md +148 -0
- package/.claude/commands/version.md +63 -0
- package/.claude/settings.local.json +28 -0
- package/.claude-plugin/marketplace.json +36 -0
- package/.claude-plugin/plugin.json +25 -0
- package/.history/README_20260325211923.md +268 -0
- package/.history/README_20260325212116.md +268 -0
- package/.history/README_20260325212234.md +266 -0
- package/.history/README_20260325221838.md +321 -0
- package/.history/README_20260325221920.md +327 -0
- package/.history/README_20260325222245.md +328 -0
- package/.history/README_20260325222247.md +328 -0
- package/.mcp.json +8 -0
- package/CHANGELOG.md +79 -46
- package/CLAUDE.md +57 -206
- package/OPTIKIT_AGENT.md +398 -0
- package/README.md +293 -60
- package/dist/cli.js +75 -241
- package/dist/commands/build/commands.js +146 -0
- package/dist/commands/build/testflight.js +14 -0
- package/dist/commands/clean/commands.js +41 -0
- package/dist/commands/clean/flutter.js +8 -14
- package/dist/commands/clean/ios.js +12 -15
- package/dist/commands/config/aliases.js +122 -0
- package/dist/commands/config/commands.js +49 -0
- package/dist/commands/config/initApp.js +191 -0
- package/dist/commands/config/rollback.js +15 -4
- package/dist/commands/config/upgrade.js +36 -0
- package/dist/commands/mcp/commands.js +21 -0
- package/dist/commands/mcp/server.js +27 -0
- package/dist/commands/mcp/setup.js +62 -0
- package/dist/commands/mcp/tools.js +359 -0
- package/dist/commands/project/commands.js +132 -0
- package/dist/commands/project/devices.js +10 -26
- package/dist/commands/project/doctor.js +58 -0
- package/dist/commands/project/generate.js +183 -30
- package/dist/commands/project/setup.js +10 -28
- package/dist/commands/project/status.js +65 -0
- package/dist/commands/version/bump.js +96 -82
- package/dist/commands/version/commands.js +63 -0
- package/dist/commands/version/update.js +36 -24
- package/dist/constants.js +6 -1
- package/dist/styles.js +42 -5
- package/dist/utils/helpers/error.js +14 -0
- package/dist/utils/helpers/file.js +1 -1
- package/dist/utils/helpers/version.js +2 -1
- package/dist/utils/services/backup.js +12 -1
- package/dist/utils/services/command.js +1 -34
- package/dist/utils/services/exec.js +76 -101
- package/dist/utils/services/logger.js +10 -4
- package/dist/utils/validators/validation.js +24 -12
- package/docs/INSTALLATION.md +72 -0
- package/docs/TROUBLESHOOT.md +140 -0
- package/docs/USAGE.md +185 -0
- package/docs/VERSION_MANAGEMENT.md +177 -0
- package/package.json +7 -11
- package/src/cli.ts +82 -362
- package/src/commands/build/commands.ts +169 -0
- package/src/commands/build/testflight.ts +18 -0
- package/src/commands/clean/commands.ts +43 -0
- package/src/commands/clean/flutter.ts +9 -13
- package/src/commands/clean/ios.ts +13 -13
- package/src/commands/config/aliases.ts +150 -0
- package/src/commands/config/commands.ts +50 -0
- package/src/commands/config/initApp.ts +213 -0
- package/src/commands/config/rollback.ts +16 -4
- package/src/commands/config/upgrade.ts +40 -0
- package/src/commands/mcp/commands.ts +23 -0
- package/src/commands/mcp/server.ts +35 -0
- package/src/commands/mcp/setup.ts +69 -0
- package/src/commands/mcp/tools.ts +365 -0
- package/src/commands/project/commands.ts +132 -0
- package/src/commands/project/devices.ts +11 -24
- package/src/commands/project/doctor.ts +81 -0
- package/src/commands/project/generate.ts +211 -32
- package/src/commands/project/setup.ts +13 -30
- package/src/commands/project/status.ts +72 -0
- package/src/commands/version/bump.ts +124 -85
- package/src/commands/version/commands.ts +76 -0
- package/src/commands/version/update.ts +86 -75
- package/src/constants.ts +7 -1
- package/src/styles.ts +49 -7
- package/src/utils/helpers/error.ts +16 -0
- package/src/utils/helpers/file.ts +1 -1
- package/src/utils/helpers/version.ts +2 -1
- package/src/utils/services/backup.ts +17 -1
- package/src/utils/services/command.ts +1 -58
- package/src/utils/services/exec.ts +92 -117
- package/src/utils/services/logger.ts +12 -4
- package/src/utils/validators/validation.ts +24 -12
- package/CODE_QUALITY.md +0 -398
- package/ENHANCEMENTS.md +0 -310
- package/FEATURE_ENHANCEMENTS.md +0 -435
- package/INSTALLATION.md +0 -118
- package/SAFETY_FEATURES.md +0 -396
- package/TROUBLESHOOT.md +0 -60
- package/USAGE.md +0 -388
- package/VERSION_MANAGEMENT.md +0 -438
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
<h1 align="center">π OptiKit CLI</h1>
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<strong>Build, version, and deploy Flutter apps in one CLI.</strong><br/>
|
|
5
|
+
The command-line toolkit for Flutter & Opticore developers.
|
|
6
|
+
</p>
|
|
7
|
+
|
|
8
|
+
<p align="center">
|
|
9
|
+
<a href="https://www.npmjs.com/package/optikit"><img src="https://img.shields.io/npm/v/optikit?style=flat-square&color=cyan&label=npm" alt="npm"/></a>
|
|
10
|
+
<a href="https://flutter.dev"><img src="https://img.shields.io/badge/Flutter-Compatible-02569B?style=flat-square&logo=flutter&logoColor=white" alt="Flutter"/></a>
|
|
11
|
+
<img src="https://img.shields.io/badge/MCP-Supported-orange?style=flat-square" alt="MCP Supported"/>
|
|
12
|
+
<img src="https://img.shields.io/badge/Platform-macOS%20%7C%20Linux%20%7C%20Windows-blue?style=flat-square" alt="Platform"/>
|
|
13
|
+
<a href="https://pub.dev/packages/opticore"><img src="https://img.shields.io/badge/Opticore-pub.dev-teal?style=flat-square" alt="Opticore"/></a>
|
|
14
|
+
<a href="https://www.linkedin.com/in/dev-mahmoud-elshenawy/"><img src="https://img.shields.io/badge/Creator-Mahmoud%20El%20Shenawy-blue?style=flat-square" alt="Creator"/></a>
|
|
15
|
+
<a href="./LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow?style=flat-square" alt="License"/></a>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
<p align="center">
|
|
19
|
+
<a href="https://www.buymeacoffee.com/m.elshenawy">
|
|
20
|
+
<img src="https://img.shields.io/badge/Buy%20Me%20A%20Coffee-Support%20My%20Work-FFDD00?style=for-the-badge&logo=buymeacoffee&logoColor=0D1117" alt="Buy Me A Coffee"/>
|
|
21
|
+
</a>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## β‘ Install & Go
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install -g optikit
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
You get two commands β `optikit` (full name) and `ok` (shorthand). Both work identically.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
optikit init # π§ Setup OptiKit in your project
|
|
36
|
+
optikit bump patch # π¦ 1.0.0 β 1.0.1
|
|
37
|
+
optikit apk # ποΈ Build release APK
|
|
38
|
+
optikit tf -o # π TestFlight: bump iOS + build IPA + open
|
|
39
|
+
optikit gen module login -r # π§© Generate BLoC module with route
|
|
40
|
+
optikit aliases # π See all shortcuts
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
> π‘ Prefer shorter commands? Use `ok` instead of `optikit` β every example above works with both.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## π₯ Why OptiKit?
|
|
48
|
+
|
|
49
|
+
| Feature | Description |
|
|
50
|
+
|---------|-------------|
|
|
51
|
+
| π€ **Claude Code Plugin** | AI understands your project and acts on it via MCP |
|
|
52
|
+
| β
**Short aliases** | Every command has a memorable shortcut |
|
|
53
|
+
| β
**Combo flags** | Clean, bump, build, and open in one command |
|
|
54
|
+
| β
**Smart versioning** | Dual iOS/Android build numbers handled automatically |
|
|
55
|
+
| β
**Auto backups** | Version files backed up before every change |
|
|
56
|
+
| β
**Module scaffolding** | Full BLoC pattern generated in one command |
|
|
57
|
+
| β
**FVM support** | Built-in Flutter Version Manager integration |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## π Commands at a Glance
|
|
62
|
+
|
|
63
|
+
> Every command has a short alias. Run `optikit aliases` to see the full list in your terminal.
|
|
64
|
+
|
|
65
|
+
### ποΈ Build
|
|
66
|
+
|
|
67
|
+
| Command | Alias | What it does |
|
|
68
|
+
|---------|-------|-------------|
|
|
69
|
+
| `optikit flutter-build-apk` | `apk` | Build release APK |
|
|
70
|
+
| `optikit flutter-build-bundle` | `aab` | Build release AAB |
|
|
71
|
+
| `optikit flutter-build-ios` | `ios` | Build iOS app |
|
|
72
|
+
| `optikit flutter-build-ipa` | `ipa` | Build release IPA |
|
|
73
|
+
| `optikit testflight` | `tf` | Bump iOS build + build IPA |
|
|
74
|
+
|
|
75
|
+
**Combo flags** β mix and match on any build command:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
optikit apk --clean # π§Ή Clean β build
|
|
79
|
+
optikit ipa -b patch -o # π¦ Bump β build β open output
|
|
80
|
+
optikit ipa --clean -i -o # π§Ή Clean β bump iOS β build β open
|
|
81
|
+
optikit tf -o # π TestFlight β open output
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### π§Ή Clean
|
|
85
|
+
|
|
86
|
+
| Command | Alias | What it does |
|
|
87
|
+
|---------|-------|-------------|
|
|
88
|
+
| `optikit clean` | `c` | Clean Flutter project |
|
|
89
|
+
| `optikit clean-flutter` | `cf` | Clean Flutter (explicit) |
|
|
90
|
+
| `optikit clean-ios` | `ci` | Clean iOS / CocoaPods |
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
optikit clean -a # Clean all (Flutter + iOS)
|
|
94
|
+
optikit ci -cu # Clean iOS + cache + repo update
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### π¦ Version
|
|
98
|
+
|
|
99
|
+
| Command | Alias | What it does |
|
|
100
|
+
|---------|-------|-------------|
|
|
101
|
+
| `optikit version` | `v` | Show current version |
|
|
102
|
+
| `optikit bump patch` | | Bug fix: 1.0.0 β 1.0.1 |
|
|
103
|
+
| `optikit bump minor` | | Feature: 1.0.0 β 1.1.0 |
|
|
104
|
+
| `optikit bump major` | | Breaking: 1.0.0 β 2.0.0 |
|
|
105
|
+
| `optikit bump-ios` | `bi` | Bump iOS build only |
|
|
106
|
+
| `optikit bump-android` | `ba` | Bump Android build only |
|
|
107
|
+
| `optikit bump-build` | `bb` | Bump both build numbers |
|
|
108
|
+
|
|
109
|
+
> π Deep dive: **[Version Management](docs/VERSION_MANAGEMENT.md)**
|
|
110
|
+
|
|
111
|
+
### π§© Generate
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
optikit gen module login # Scaffold BLoC module
|
|
115
|
+
optikit gen module login -r # Scaffold + register route
|
|
116
|
+
optikit gen repo user # Generate repository
|
|
117
|
+
optikit route settings # Add route to app_router.dart
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### π± Run & Open
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
optikit run # Run app on device
|
|
124
|
+
optikit rs # Interactive device picker
|
|
125
|
+
optikit devs # List connected devices
|
|
126
|
+
optikit xcode # Open in Xcode
|
|
127
|
+
optikit studio # Open in Android Studio
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### π§ Tools
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
optikit info # Project status snapshot
|
|
134
|
+
optikit dr # Environment health check
|
|
135
|
+
optikit undo # List/restore backups
|
|
136
|
+
optikit up # Check for CLI updates
|
|
137
|
+
optikit vscode # Setup VS Code settings
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## π― Common Workflows
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# π TestFlight upload
|
|
146
|
+
optikit tf -o
|
|
147
|
+
|
|
148
|
+
# π¦ Release APK with version bump
|
|
149
|
+
optikit apk -b patch -o
|
|
150
|
+
|
|
151
|
+
# π§Ή Full clean rebuild
|
|
152
|
+
optikit ipa --clean -o
|
|
153
|
+
|
|
154
|
+
# π§© New feature module
|
|
155
|
+
optikit gen module user_profile -r
|
|
156
|
+
|
|
157
|
+
# π Check project state
|
|
158
|
+
optikit info
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## βοΈ Configuration
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
optikit init # Creates .optikitrc.json
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
```json
|
|
170
|
+
{
|
|
171
|
+
"backupRetentionCount": 5,
|
|
172
|
+
"useFvmByDefault": true,
|
|
173
|
+
"autoBackup": true
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
| Option | Default | Description |
|
|
178
|
+
|--------|---------|-------------|
|
|
179
|
+
| `backupRetentionCount` | `5` | Number of backups to keep per file |
|
|
180
|
+
| `useFvmByDefault` | `true` | Use FVM for all Flutter commands |
|
|
181
|
+
| `autoBackup` | `true` | Backup files before version changes |
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## πΎ Backups & Rollback
|
|
186
|
+
|
|
187
|
+
OptiKit **automatically backs up** version files before any modification:
|
|
188
|
+
|
|
189
|
+
| File | Backed up before |
|
|
190
|
+
|------|-----------------|
|
|
191
|
+
| `pubspec.yaml` | Version bumps, clean |
|
|
192
|
+
| `ios/Runner.xcodeproj/project.pbxproj` | Version bumps |
|
|
193
|
+
| `ios/Runner/Info.plist` | Version bumps |
|
|
194
|
+
|
|
195
|
+
Backups are stored in `.optikit-backup/` directories next to the original files with timestamps:
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
your-project/
|
|
199
|
+
βββ pubspec.yaml
|
|
200
|
+
βββ .optikit-backup/
|
|
201
|
+
β βββ pubspec_2026-03-25T10-30-00-000Z.yaml
|
|
202
|
+
β βββ pubspec_2026-03-25T11-15-30-000Z.yaml
|
|
203
|
+
βββ ios/Runner.xcodeproj/
|
|
204
|
+
βββ project.pbxproj
|
|
205
|
+
βββ .optikit-backup/
|
|
206
|
+
βββ project_2026-03-25T10-30-00-000Z.pbxproj
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**Manage backups:**
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
optikit undo # π List all backups
|
|
213
|
+
optikit undo --restore 1 # β»οΈ Restore backup #1
|
|
214
|
+
optikit undo --before 2026-03-20 # π
Filter backups by date
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Old backups are automatically cleaned up (keeps last 5 by default, configurable via `backupRetentionCount`).
|
|
218
|
+
|
|
219
|
+
> π‘ `.optikit-backup/` is added to `.gitignore` during `optikit init`.
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## π€ AI-Powered with Claude Code
|
|
224
|
+
|
|
225
|
+
<p align="center">
|
|
226
|
+
<a href="https://github.com/dev-mahmoud-elshenawy/optikit"><img src="https://img.shields.io/badge/Claude%20Code-Plugin-blueviolet?style=for-the-badge" alt="Claude Code Plugin"/></a>
|
|
227
|
+
<img src="https://img.shields.io/badge/MCP-Supported-orange?style=for-the-badge" alt="MCP Supported"/>
|
|
228
|
+
<img src="https://img.shields.io/badge/Transport-stdio-green?style=for-the-badge" alt="stdio Transport"/>
|
|
229
|
+
</p>
|
|
230
|
+
|
|
231
|
+
OptiKit ships as a **Claude Code plugin** powered by the **Model Context Protocol (MCP)**. Claude doesn't just run commands β it **understands your Flutter project** and makes intelligent decisions.
|
|
232
|
+
|
|
233
|
+
### π§ How It Works
|
|
234
|
+
|
|
235
|
+
You describe what you need. Claude **picks the right tools automatically**:
|
|
236
|
+
|
|
237
|
+
| You say | Claude does |
|
|
238
|
+
|---------|-----------|
|
|
239
|
+
| *"Fix this build error"* | Runs `clean` β `build` automatically |
|
|
240
|
+
| *"Prepare a TestFlight build"* | Runs `testflight` (bump iOS + build IPA) |
|
|
241
|
+
| *"Create a login feature"* | Generates BLoC module + registers route |
|
|
242
|
+
| *"We need to release v2.0"* | Bumps major version + builds both platforms |
|
|
243
|
+
| *"What version are we on?"* | Shows version with iOS & Android build numbers |
|
|
244
|
+
| *"Undo the last version bump"* | Lists backups and restores the right one |
|
|
245
|
+
|
|
246
|
+
### β‘ Setup in Seconds
|
|
247
|
+
|
|
248
|
+
**Option 1 β Plugin Marketplace:**
|
|
249
|
+
```bash
|
|
250
|
+
/plugin marketplace add dev-mahmoud-elshenawy/optikit
|
|
251
|
+
/plugin install optikit
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
**Option 2 β One Command:**
|
|
255
|
+
```bash
|
|
256
|
+
optikit setup-claude
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
That's it. All OptiKit tools are instantly available to Claude.
|
|
260
|
+
|
|
261
|
+
### π οΈ Available Tool Categories
|
|
262
|
+
|
|
263
|
+
| Category | What Claude can do |
|
|
264
|
+
|----------|--------------------|
|
|
265
|
+
| ποΈ **Build** | Build APK, AAB, iOS, IPA with clean/bump/open combos |
|
|
266
|
+
| π§Ή **Clean** | Fix stale caches, CocoaPods issues, full project cleanup |
|
|
267
|
+
| π¦ **Version** | Bump versions, manage iOS/Android build numbers independently |
|
|
268
|
+
| π§© **Generate** | Scaffold BLoC modules, repositories, and auto-register routes |
|
|
269
|
+
| π± **Run** | Launch app on devices, list connected devices |
|
|
270
|
+
| π§ **Diagnostics** | Health checks, project status, backup management |
|
|
271
|
+
| βοΈ **Config** | Project setup, VS Code config, upgrade checks |
|
|
272
|
+
|
|
273
|
+
The MCP server runs locally via stdio β fast, private, no cloud dependency.
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
optikit setup-claude # β
Register with Claude Code
|
|
277
|
+
optikit setup-claude --uninstall # β Remove when needed
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## π Documentation
|
|
283
|
+
|
|
284
|
+
| Doc | Description |
|
|
285
|
+
|-----|-------------|
|
|
286
|
+
| π **[Command Reference](docs/USAGE.md)** | All commands, flags, and examples |
|
|
287
|
+
| π¦ **[Version Management](docs/VERSION_MANAGEMENT.md)** | iOS/Android dual build strategy |
|
|
288
|
+
| π§ **[Installation Guide](docs/INSTALLATION.md)** | NPM, Homebrew, source install |
|
|
289
|
+
| π **[Troubleshooting](docs/TROUBLESHOOT.md)** | Common issues and quick fixes |
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## β‘ Supercharge Development with Opticore
|
|
294
|
+
|
|
295
|
+
**OptiKit CLI** is the companion tool for **[Opticore](https://pub.dev/packages/opticore)** β a lightweight BLoC-based micro-framework for Flutter.
|
|
296
|
+
|
|
297
|
+
| Together they give you | |
|
|
298
|
+
|---|---|
|
|
299
|
+
| π§© **Module scaffolding** | Generate full BLoC modules that plug directly into Opticore |
|
|
300
|
+
| π£οΈ **Auto-routing** | Register routes in `app_router.dart` with one flag |
|
|
301
|
+
| ποΈ **App initialization** | Scaffold `main.dart`, config, and router for Opticore projects |
|
|
302
|
+
| π¦ **Smart builds** | Build, version, and clean with short commands and combo flags |
|
|
303
|
+
|
|
304
|
+
> π‘ **Not using Opticore?** No problem β build, version, clean, and run commands work with **any Flutter project**.
|
|
305
|
+
|
|
306
|
+
π¦ **[OptiKit on NPM](https://www.npmjs.com/package/optikit)** | π **[GitHub](https://github.com/dev-mahmoud-elshenawy/optikit)** | π **[Opticore on pub.dev](https://pub.dev/packages/opticore)**
|
|
307
|
+
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
## π€ Created By
|
|
311
|
+
|
|
312
|
+
<div align="center">
|
|
313
|
+
|
|
314
|
+
### Built with β€οΈ by [Mahmoud El Shenawy](https://github.com/dev-mahmoud-elshenawy)
|
|
315
|
+
|
|
316
|
+
[](https://www.linkedin.com/in/dev-mahmoud-elshenawy)
|
|
317
|
+
[](https://github.com/dev-mahmoud-elshenawy)
|
|
318
|
+
[](https://medium.com/@dev-mahmoud-elshenawy)
|
|
319
|
+
|
|
320
|
+
</div>
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## π License
|
|
325
|
+
|
|
326
|
+
[](./LICENSE)
|
|
327
|
+
|
|
328
|
+
**OptiKit** is open-source under the **[MIT License](./LICENSE)**. Free for personal and commercial use.
|
package/.mcp.json
ADDED
package/CHANGELOG.md
CHANGED
|
@@ -1,69 +1,102 @@
|
|
|
1
|
-
# Changelog
|
|
1
|
+
# π Changelog
|
|
2
2
|
|
|
3
|
-
All notable changes to
|
|
3
|
+
All notable changes to **OptiKit CLI** are documented here.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## π Versioning Strategy
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
β’ MINOR: New features or improvements that are backward compatible.
|
|
9
|
-
β’ PATCH: Bug fixes and minor improvements that are backward compatible.
|
|
7
|
+
We follow **Semantic Versioning (SemVer)**:
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
- π **MAJOR**: Breaking changes that may affect compatibility
|
|
10
|
+
- π **MINOR**: New features or improvements (backward compatible)
|
|
11
|
+
- π **PATCH**: Bug fixes and minor improvements
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
---
|
|
14
14
|
|
|
15
|
-
###
|
|
15
|
+
### π [1.3.0] - MCP Plugin, Short Aliases & Combo Flags
|
|
16
16
|
|
|
17
|
-
- **
|
|
18
|
-
-
|
|
19
|
-
- `
|
|
20
|
-
- `
|
|
21
|
-
-
|
|
22
|
-
-
|
|
17
|
+
- π€ **Claude Code Integration**:
|
|
18
|
+
- Built-in MCP server with 28 tools β Claude understands your Flutter project and acts on it
|
|
19
|
+
- `optikit mcp` starts the MCP server (stdio transport)
|
|
20
|
+
- `optikit setup-claude` registers the plugin with Claude Code (macOS, Linux, Windows)
|
|
21
|
+
- `optikit setup-claude --uninstall` removes the plugin cleanly
|
|
22
|
+
- Available as a Claude Code plugin via marketplace
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
- π **New Features**:
|
|
25
|
+
- `ok` binary β use `ok` or `optikit` interchangeably, no shell alias needed
|
|
26
|
+
- 23 short aliases for all commands (`apk`, `ipa`, `tf`, `ci`, `bi`, `v`, `gen`, `rs`, `info`, `dr`, `undo`, `up`, and more)
|
|
27
|
+
- Combo build flags β `--clean`, `-o` (open), `-b` (bump), `-i` (bump-ios) on all build commands
|
|
28
|
+
- `testflight` / `tf` command β bump iOS build + build IPA in one step
|
|
29
|
+
- `aliases` command β full reference of all shortcuts, flags, and examples
|
|
30
|
+
- Short flags across commands β `-f`, `-a`, `-c`, `-u`, `-r`, `-i`
|
|
31
|
+
- Elapsed time display on build commands
|
|
32
|
+
- Tab completion via `optikit completion`
|
|
25
33
|
|
|
26
|
-
- **
|
|
27
|
-
-
|
|
34
|
+
- ποΈ **Improvements**:
|
|
35
|
+
- CLI modularized into domain-specific command files
|
|
36
|
+
- Enhanced `--help` with grouped aliases and combo examples
|
|
37
|
+
- Branded startup banner with version display
|
|
38
|
+
- Logger upgraded with icons (β β β βΉ) and new `step()` / `dim()` methods
|
|
28
39
|
|
|
29
|
-
|
|
40
|
+
- π **Documentation**:
|
|
41
|
+
- README, USAGE, VERSION_MANAGEMENT, INSTALLATION rewritten
|
|
42
|
+
- New TROUBLESHOOT.md for common issues
|
|
43
|
+
- Removed 4 redundant internal docs
|
|
30
44
|
|
|
31
|
-
|
|
45
|
+
- π **Changes**:
|
|
46
|
+
- `clean` alias changed from `ca` to `c`
|
|
47
|
+
- `flavor` flag on `run`/`run-select` no longer uses `-f` (conflicts with `--disable-fvm`)
|
|
32
48
|
|
|
33
|
-
|
|
34
|
-
- `devices` - List all connected devices with numbered display, showing device names, platforms, IDs, and types (Physical/Emulator)
|
|
35
|
-
- `run` - Run Flutter app on a specific device with support for `--device`, `--release`, `--flavor`, and FVM options
|
|
36
|
-
- `run-select` - Interactive device selection with numbered prompts for easy device targeting
|
|
37
|
-
- **Enhanced Architecture:** Reorganized codebase with domain-based folder structure for better maintainability:
|
|
38
|
-
- Commands organized by domain (build, clean, version, project, config)
|
|
39
|
-
- Utilities categorized into validators, helpers, and services
|
|
40
|
-
- Improved import paths and module organization
|
|
49
|
+
### β‘ [1.2.5] - Simultaneous Build Bump
|
|
41
50
|
|
|
42
|
-
|
|
51
|
+
- Added `bump-build` command β increment both Android and iOS build numbers at once
|
|
43
52
|
|
|
44
|
-
|
|
45
|
-
- **Code Quality:** Enhanced TypeScript type safety and error handling across device management features
|
|
53
|
+
### π― [1.2.4] - iOS Build Number Accuracy
|
|
46
54
|
|
|
47
|
-
|
|
55
|
+
- Fixed `bump-ios` to read actual iOS build number from `project.pbxproj`
|
|
56
|
+
- `version` command now shows Android and iOS build numbers separately
|
|
48
57
|
|
|
49
|
-
###
|
|
58
|
+
### π§Ή [1.2.3] - Silent Validation
|
|
50
59
|
|
|
51
|
-
-
|
|
60
|
+
- Removed unwanted version output during command validation
|
|
52
61
|
|
|
53
|
-
|
|
62
|
+
### π§ [1.2.2] - Command Naming Fix
|
|
54
63
|
|
|
55
|
-
|
|
64
|
+
- Fixed yargs command conflicts breaking version bumps
|
|
65
|
+
- Fixed major/minor/patch bumps only incrementing Android build
|
|
66
|
+
- Simplified names: `version bump <type>` β `bump <type>`
|
|
67
|
+
- Default `useFvmByDefault` changed to `true`
|
|
56
68
|
|
|
57
|
-
|
|
69
|
+
### π [1.2.1] - Open Build Output
|
|
58
70
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
- Updated the CLI to support the latest version of Opticore.
|
|
71
|
+
- Added `open-ipa`, `open-apk`, `open-bundle` β access build artifacts
|
|
72
|
+
- Cross-platform support (macOS, Windows, Linux)
|
|
62
73
|
|
|
63
|
-
|
|
64
|
-
### Enhanced
|
|
65
|
-
- Improved error handling and messaging for better user experience.
|
|
74
|
+
### π± [1.2.0] - Device Management
|
|
66
75
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
-
|
|
76
|
+
- Added `devices`, `run`, `run-select` β device management commands
|
|
77
|
+
- Interactive device picker with numbered prompts
|
|
78
|
+
- Reorganized codebase by domain (build, clean, version, project, config)
|
|
79
|
+
|
|
80
|
+
### βοΈ [1.1.1] - VS Code Setup
|
|
81
|
+
|
|
82
|
+
- Added `setup-vscode` β auto-configure VS Code for FVM
|
|
83
|
+
|
|
84
|
+
### π [1.0.4] - Opticore Compatibility
|
|
85
|
+
|
|
86
|
+
- Updated CLI for latest Opticore version
|
|
87
|
+
|
|
88
|
+
### π [1.0.3] - Optimization
|
|
89
|
+
|
|
90
|
+
- Optimized Opticore compatibility
|
|
91
|
+
|
|
92
|
+
### π‘οΈ [1.0.2] - Error Handling
|
|
93
|
+
|
|
94
|
+
- Improved error handling and messaging
|
|
95
|
+
|
|
96
|
+
### π [1.0.1] - Initial Release
|
|
97
|
+
|
|
98
|
+
- First release of OptiKit CLI
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
Stay updated with the latest enhancements and fixes! π
|