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.
Files changed (104) hide show
  1. package/.claude/commands/build.md +57 -0
  2. package/.claude/commands/clean.md +45 -0
  3. package/.claude/commands/generate.md +64 -0
  4. package/.claude/commands/rollback.md +67 -0
  5. package/.claude/commands/run.md +63 -0
  6. package/.claude/commands/setup.md +69 -0
  7. package/.claude/commands/sync-docs.md +148 -0
  8. package/.claude/commands/version.md +63 -0
  9. package/.claude/settings.local.json +28 -0
  10. package/.claude-plugin/marketplace.json +36 -0
  11. package/.claude-plugin/plugin.json +25 -0
  12. package/.history/README_20260325211923.md +268 -0
  13. package/.history/README_20260325212116.md +268 -0
  14. package/.history/README_20260325212234.md +266 -0
  15. package/.history/README_20260325221838.md +321 -0
  16. package/.history/README_20260325221920.md +327 -0
  17. package/.history/README_20260325222245.md +328 -0
  18. package/.history/README_20260325222247.md +328 -0
  19. package/.mcp.json +8 -0
  20. package/CHANGELOG.md +79 -46
  21. package/CLAUDE.md +57 -206
  22. package/OPTIKIT_AGENT.md +398 -0
  23. package/README.md +293 -60
  24. package/dist/cli.js +75 -241
  25. package/dist/commands/build/commands.js +146 -0
  26. package/dist/commands/build/testflight.js +14 -0
  27. package/dist/commands/clean/commands.js +41 -0
  28. package/dist/commands/clean/flutter.js +8 -14
  29. package/dist/commands/clean/ios.js +12 -15
  30. package/dist/commands/config/aliases.js +122 -0
  31. package/dist/commands/config/commands.js +49 -0
  32. package/dist/commands/config/initApp.js +191 -0
  33. package/dist/commands/config/rollback.js +15 -4
  34. package/dist/commands/config/upgrade.js +36 -0
  35. package/dist/commands/mcp/commands.js +21 -0
  36. package/dist/commands/mcp/server.js +27 -0
  37. package/dist/commands/mcp/setup.js +62 -0
  38. package/dist/commands/mcp/tools.js +359 -0
  39. package/dist/commands/project/commands.js +132 -0
  40. package/dist/commands/project/devices.js +10 -26
  41. package/dist/commands/project/doctor.js +58 -0
  42. package/dist/commands/project/generate.js +183 -30
  43. package/dist/commands/project/setup.js +10 -28
  44. package/dist/commands/project/status.js +65 -0
  45. package/dist/commands/version/bump.js +96 -82
  46. package/dist/commands/version/commands.js +63 -0
  47. package/dist/commands/version/update.js +36 -24
  48. package/dist/constants.js +6 -1
  49. package/dist/styles.js +42 -5
  50. package/dist/utils/helpers/error.js +14 -0
  51. package/dist/utils/helpers/file.js +1 -1
  52. package/dist/utils/helpers/version.js +2 -1
  53. package/dist/utils/services/backup.js +12 -1
  54. package/dist/utils/services/command.js +1 -34
  55. package/dist/utils/services/exec.js +76 -101
  56. package/dist/utils/services/logger.js +10 -4
  57. package/dist/utils/validators/validation.js +24 -12
  58. package/docs/INSTALLATION.md +72 -0
  59. package/docs/TROUBLESHOOT.md +140 -0
  60. package/docs/USAGE.md +185 -0
  61. package/docs/VERSION_MANAGEMENT.md +177 -0
  62. package/package.json +7 -11
  63. package/src/cli.ts +82 -362
  64. package/src/commands/build/commands.ts +169 -0
  65. package/src/commands/build/testflight.ts +18 -0
  66. package/src/commands/clean/commands.ts +43 -0
  67. package/src/commands/clean/flutter.ts +9 -13
  68. package/src/commands/clean/ios.ts +13 -13
  69. package/src/commands/config/aliases.ts +150 -0
  70. package/src/commands/config/commands.ts +50 -0
  71. package/src/commands/config/initApp.ts +213 -0
  72. package/src/commands/config/rollback.ts +16 -4
  73. package/src/commands/config/upgrade.ts +40 -0
  74. package/src/commands/mcp/commands.ts +23 -0
  75. package/src/commands/mcp/server.ts +35 -0
  76. package/src/commands/mcp/setup.ts +69 -0
  77. package/src/commands/mcp/tools.ts +365 -0
  78. package/src/commands/project/commands.ts +132 -0
  79. package/src/commands/project/devices.ts +11 -24
  80. package/src/commands/project/doctor.ts +81 -0
  81. package/src/commands/project/generate.ts +211 -32
  82. package/src/commands/project/setup.ts +13 -30
  83. package/src/commands/project/status.ts +72 -0
  84. package/src/commands/version/bump.ts +124 -85
  85. package/src/commands/version/commands.ts +76 -0
  86. package/src/commands/version/update.ts +86 -75
  87. package/src/constants.ts +7 -1
  88. package/src/styles.ts +49 -7
  89. package/src/utils/helpers/error.ts +16 -0
  90. package/src/utils/helpers/file.ts +1 -1
  91. package/src/utils/helpers/version.ts +2 -1
  92. package/src/utils/services/backup.ts +17 -1
  93. package/src/utils/services/command.ts +1 -58
  94. package/src/utils/services/exec.ts +92 -117
  95. package/src/utils/services/logger.ts +12 -4
  96. package/src/utils/validators/validation.ts +24 -12
  97. package/CODE_QUALITY.md +0 -398
  98. package/ENHANCEMENTS.md +0 -310
  99. package/FEATURE_ENHANCEMENTS.md +0 -435
  100. package/INSTALLATION.md +0 -118
  101. package/SAFETY_FEATURES.md +0 -396
  102. package/TROUBLESHOOT.md +0 -60
  103. package/USAGE.md +0 -388
  104. 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
+ [![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?logo=linkedin&logoColor=white&style=for-the-badge)](https://www.linkedin.com/in/dev-mahmoud-elshenawy)
317
+ [![GitHub](https://img.shields.io/badge/GitHub-181717?logo=github&logoColor=white&style=for-the-badge)](https://github.com/dev-mahmoud-elshenawy)
318
+ [![Medium](https://img.shields.io/badge/Medium-000000?logo=medium&logoColor=white&style=for-the-badge)](https://medium.com/@dev-mahmoud-elshenawy)
319
+
320
+ </div>
321
+
322
+ ---
323
+
324
+ ## πŸ“œ License
325
+
326
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)](./LICENSE)
327
+
328
+ **OptiKit** is open-source under the **[MIT License](./LICENSE)**. Free for personal and commercial use.
package/.mcp.json ADDED
@@ -0,0 +1,8 @@
1
+ {
2
+ "mcpServers": {
3
+ "optikit": {
4
+ "command": "optikit",
5
+ "args": ["mcp"]
6
+ }
7
+ }
8
+ }
package/CHANGELOG.md CHANGED
@@ -1,69 +1,102 @@
1
- # Changelog
1
+ # πŸ“Œ Changelog
2
2
 
3
- All notable changes to this project are documented in this file. Each release includes details about new features, improvements, bug fixes, and any breaking changes. This changelog helps users and developers track the evolution of the project and understand how different versions may impact their use of the tool.
3
+ All notable changes to **OptiKit CLI** are documented here.
4
4
 
5
- We follow Semantic Versioning (SemVer) to indicate the nature of changes:
5
+ ## πŸ”„ Versioning Strategy
6
6
 
7
- β€’ MAJOR: Breaking changes that may affect compatibility.
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
- Each section lists the changes in chronological order, with the most recent release at the top. We also include links to relevant discussions or issues when appropriate.
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
- ## [1.2.1]
13
+ ---
14
14
 
15
- ### Added
15
+ ### 🌟 [1.3.0] - MCP Plugin, Short Aliases & Combo Flags
16
16
 
17
- - **Open Build Output Commands:** New commands to quickly access build artifacts:
18
- - `open-ipa` - Opens the IPA build output directory (`build/ios/ipa/`)
19
- - `open-apk` - Opens the APK build output directory (`build/app/outputs/flutter-apk/`)
20
- - `open-bundle` - Opens the Android Bundle output directory (`build/app/outputs/bundle/release/`)
21
- - **Cross-Platform Support:** All open commands work seamlessly on macOS (Finder), Windows (Explorer), and Linux (default file manager)
22
- - **Smart Validation:** Commands check if build output exists before attempting to open, with helpful error messages
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
- ### Improved
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
- - **Documentation:** Updated USAGE.md with comprehensive open build output commands section
27
- - **User Experience:** No need for shell aliases to access build outputs - built directly into the CLI
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
- ## [1.2.0]
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
- ### Added
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
- - **Device Management Commands:** New comprehensive device management system for Flutter development:
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
- ### Improved
51
+ - Added `bump-build` command β€” increment both Android and iOS build numbers at once
43
52
 
44
- - **Documentation:** Updated README.md with streamlined feature list and better documentation links
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
- ## [1.1.1]
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
- ### Added
58
+ ### 🧹 [1.2.3] - Silent Validation
50
59
 
51
- - **VS Code Setup Command:** Use the `setup-vscode` command to automatically create a `.vscode` folder with recommended Flutter settingsβ€”configured specifically for FVM. This command streamlines your project setup by setting the Flutter SDK path to `.fvm/flutter_sdk`, ensuring a smooth development experience for FVM users.
60
+ - Removed unwanted version output during command validation
52
61
 
53
- ## [1.0.4]
62
+ ### πŸ”§ [1.2.2] - Command Naming Fix
54
63
 
55
- ### Modified
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
- - Updated the CLI to support the latest version of Opticore.
69
+ ### πŸ“‚ [1.2.1] - Open Build Output
58
70
 
59
- ## [1.0.3]
60
- ### Optimized
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
- ## [1.0.2]
64
- ### Enhanced
65
- - Improved error handling and messaging for better user experience.
74
+ ### πŸ“± [1.2.0] - Device Management
66
75
 
67
- ## [1.0.1]
68
- ### Added
69
- - Initial prototype with basic CLI command structure.
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! πŸš€