@boltic/cli 1.0.6-beta.11 → 1.0.6-beta.14

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/README.md CHANGED
@@ -1,148 +1,505 @@
1
1
  # ⚡ Boltic CLI
2
2
 
3
- > A powerful CLI tool for creating, managing, and publishing Boltic integrations.
3
+ > **Professional CLI tool for creating, managing, and publishing Boltic Workflow integrations with enterprise-grade features and seamless developer experience.**
4
4
 
5
5
  [![NPM Version](https://img.shields.io/npm/v/@boltic/cli)](https://www.npmjs.com/package/@boltic/cli)
6
- [![GitHub Repo](https://img.shields.io/badge/GitHub-Repo-blue?logo=github)](https://github.com/<your-username>/<your-repo>)
6
+ [![GitHub Repo](https://img.shields.io/badge/GitHub-Repo-blue?logo=github)](https://github.com/bolticio/cli)
7
7
  [![License](https://img.shields.io/npm/l/@boltic/cli)](./LICENSE)
8
+ [![Node.js Package](https://github.com/bolticio/cli/actions/workflows/npm-publish.yml/badge.svg)](https://github.com/bolticio/cli/actions/workflows/npm-publish.yml)
9
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
10
+ [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/bolticio/cli/graphs/commit-activity)
11
+
12
+ <div align="center">
13
+
14
+ ![Boltic CLI](https://img.shields.io/badge/Boltic-CLI-00D4AA?style=for-the-badge&logo=node.js&logoColor=white)
15
+
16
+ **Streamline your integration development workflow with Boltic CLI**
17
+
18
+ [Features](#-features) • [Installation](#-installation) • [Quick Start](#-quick-start) • [Documentation](#-documentation) • [Contributing](#-contributing)
19
+
20
+ </div>
21
+
22
+ ---
23
+
24
+ ## 📋 Table of Contents
25
+
26
+ - [✨ Features](#-features)
27
+ - [🚀 Quick Start](#-quick-start)
28
+ - [📦 Installation](#-installation)
29
+ - [🔐 Authentication](#-authentication)
30
+ - [🧩 Integration Management](#-integration-management)
31
+ - [📚 Command Reference](#-command-reference)
32
+ - [🛠️ Development Workflow](#️-development-workflow)
33
+ - [🔧 Configuration](#-configuration)
34
+ - [🛡️ Security](#-security)
35
+ - [🐛 Troubleshooting](#-troubleshooting)
36
+ - [📖 Documentation](#-documentation)
37
+ - [🤝 Contributing](#-contributing)
38
+ - [📄 License](#-license)
39
+
40
+ ---
41
+
42
+ ## ✨ Features
43
+
44
+ - 🔐 **Secure Authentication** - Enterprise-grade token management with secure storage
45
+ - 🚀 **Rapid Integration Development** - Create integrations in minutes, not hours
46
+ - 📦 **Smart Project Management** - Automated folder structure and configuration
47
+ - 🔄 **Real-time Synchronization** - Instant sync with Boltic Cloud platform
48
+ - 🎯 **Type-safe Development** - Support for Workflow Activities and Triggers
49
+ - 🎨 **Rich Interactive UI** - Beautiful command-line interface with progress indicators
50
+ - 📊 **Comprehensive Validation** - Built-in validation for all integration components
51
+ - 🔧 **Developer Experience** - Hot reload, debugging tools, and comprehensive error handling
52
+ - 🌐 **Multi-platform Support** - Works seamlessly on Windows, macOS, and Linux
53
+ - 📈 **Version Control Integration** - Git-friendly workflow with proper ignore patterns
54
+
55
+ ---
56
+
57
+ ## 🚀 Quick Start
58
+
59
+ Get up and running with Boltic CLI in under 2 minutes:
60
+
61
+ ```bash
62
+ # Install Boltic CLI globally
63
+ npm install -g @boltic/cli
64
+
65
+ # Authenticate with your Boltic account
66
+ boltic login
67
+
68
+ # Create your first integration
69
+ boltic integration create
70
+
71
+ # Sync your changes
72
+ boltic integration sync
73
+
74
+ # Submit for review
75
+ boltic integration submit
76
+ ```
8
77
 
9
78
  ---
10
79
 
11
80
  ## 📦 Installation
12
81
 
13
- Install Boltic CLI globally via NPM:
82
+ ### Prerequisites
83
+
84
+ - **Node.js** 18.0.0 or higher
85
+ - **npm** 8.0.0 or higher
86
+ - **Git** (for version control)
87
+
88
+ ### Global Installation (Recommended)
14
89
 
15
90
  ```bash
16
91
  npm install -g @boltic/cli
17
92
  ```
18
93
 
94
+ ### Verify Installation
95
+
96
+ ```bash
97
+ boltic --version
98
+ ```
99
+
100
+ ### Development Installation
101
+
102
+ For contributors and developers:
103
+
104
+ ```bash
105
+ # Clone the repository
106
+ git clone https://github.com/bolticio/cli.git
107
+ cd cli
108
+
109
+ # Install dependencies
110
+ npm install
111
+
112
+ # Link for development
113
+ npm link
114
+
115
+ # Run tests
116
+ npm test
117
+ ```
118
+
19
119
  ---
20
120
 
21
121
  ## 🔐 Authentication
22
122
 
23
- To log in:
123
+ Boltic CLI uses a secure OAuth 2.0 flow with browser-based authentication for enhanced security and user experience.
124
+
125
+ ### Initial Login
24
126
 
25
127
  ```bash
26
128
  boltic login
27
129
  ```
28
130
 
29
- Follow the interactive prompt to enter your credentials. Your token will be stored securely for future use.
131
+ The authentication process follows these steps:
132
+
133
+ 1. **Browser Launch**: CLI automatically opens your default browser to the Boltic login page
134
+ 2. **OAuth Flow**: Complete the authentication in your browser (email/password or SSO)
135
+ 3. **Token Exchange**: CLI automatically exchanges the authorization code for access tokens
136
+ 4. **Secure Storage**: Tokens are encrypted and stored in your system's keychain
137
+
138
+ ### Authentication Flow
139
+
140
+ ```bash
141
+ # Start authentication
142
+ boltic login
143
+
144
+ # CLI will:
145
+ # 1. Generate a unique request code
146
+ # 2. Open browser to: https://console.fynd.com/auth/sign-in
147
+ # 3. Wait for you to complete login in browser
148
+ # 4. Poll for session data (up to 5 minutes)
149
+ # 5. Exchange session for bearer token
150
+ # 6. Store tokens securely
151
+ ```
152
+
153
+ ### Secure Token Storage
154
+
155
+ Your authentication credentials are securely stored using your system's native keychain:
156
+
157
+ - **macOS**: Keychain Access (`boltic-cli` service)
158
+ - **Windows**: Credential Manager (`boltic-cli` service)
159
+ - **Linux**: Secret Service API (`boltic-cli` service)
160
+
161
+ **Stored Credentials:**
162
+
163
+ - `token`: Bearer token for API authentication
164
+ - `session`: Session cookie for web requests
165
+ - `account_id`: Your Boltic account identifier
166
+
167
+ ### Logout and Token Management
168
+
169
+ ```bash
170
+ # Clear all stored credentials
171
+ boltic logout
172
+
173
+ # Check authentication status
174
+ boltic integration list # Will prompt login if not authenticated
175
+ ```
176
+
177
+ ### Troubleshooting Authentication
178
+
179
+ #### Common Issues
180
+
181
+ **Browser doesn't open automatically:**
182
+
183
+ ```bash
184
+ # Manual login URL will be displayed
185
+ # Copy and paste the URL into your browser
186
+ ```
187
+
188
+ **Authentication timeout:**
189
+
190
+ ```bash
191
+ # Retry login (5-minute timeout)
192
+ boltic login
193
+ ```
194
+
195
+ **Connection issues:**
196
+
197
+ ```bash
198
+ # Check network connectivity
199
+ ping console.fynd.com
200
+
201
+ # Try different environment
202
+ boltic env set fcz0
203
+ boltic login
204
+ ```
30
205
 
31
206
  ---
32
207
 
33
208
  ## 🧩 Integration Management
34
209
 
35
- ### Create a New Integration
210
+ ### Creating New Integrations
36
211
 
37
212
  ```bash
38
213
  boltic integration create
39
214
  ```
40
215
 
41
- You’ll be prompted to enter:
216
+ #### Interactive Setup Process
217
+
218
+ The CLI will guide you through:
42
219
 
43
- - **Name**: Letters and underscores only (e.g., My_Integration)
44
- - **Icon**: Select an SVG file from your computer
45
- - **Integration Type**:
46
- - Workflow Activity: Reusable components that perform specific tasks
47
- - Workflow Trigger: Components that start your workflow based on external events
48
- - You can choose to create both types for the same integration
220
+ 1. **Integration Details**
221
+ - Name (alphanumeric + underscores only)
222
+ - Description (human-readable)
223
+ - AI-generated description
49
224
 
50
- - **Descriptions**
51
- - Human-readable and AI-generated
225
+ 2. **Visual Assets**
226
+ - Icon selection (SVG format required)
227
+ - Brand colors and styling
52
228
 
53
- - **Integration Group**
54
- - e.g., Analytics, CRM, ERP, Marketing, Payment, Social Media, Other
229
+ 3. **Integration Type**
230
+ - **Workflow Activity**: Reusable components for specific tasks
231
+ - **Workflow Trigger**: Event-driven components that initiate workflows
232
+ - **Both**: Create both types simultaneously
233
+
234
+ 4. **Categorization**
235
+ - Integration Group (Analytics, CRM, ERP, Marketing, etc.)
236
+ - Tags and metadata
237
+
238
+ #### Generated Project Structure
239
+
240
+ ```
241
+ my-integration/
242
+ ├── schemas/
243
+ │ ├── resources/
244
+ │ │ └── resource1.json
245
+ │ ├── authentication.json
246
+ │ ├── base.json
247
+ │ └── webhook.json
248
+ ├── Authentication.mdx
249
+ ├── Documentation.mdx
250
+ └── spec.json
251
+ ```
55
252
 
56
- ### ✏️ Edit an Integration
253
+ **File Descriptions:**
254
+
255
+ - **`schemas/`** - Schema definitions for the integration
256
+ - **`resources/`** - Resource-specific schemas (e.g., `resource1.json`)
257
+ - **`authentication.json`** - Authentication configuration and parameters
258
+ - **`base.json`** - Base integration configuration and parameters
259
+ - **`webhook.json`** - Webhook configuration (for trigger integrations)
260
+
261
+ - **`Authentication.mdx`** - Authentication documentation in Markdown format
262
+ - **`Documentation.mdx`** - General integration documentation
263
+ - **`spec.json`** - Integration specification and metadata
264
+
265
+ ### Managing Existing Integrations
266
+
267
+ #### Edit Integration
57
268
 
58
269
  ```bash
270
+ # Edit current integration
59
271
  boltic integration edit
272
+
60
273
  ```
61
274
 
62
- ### 🔄 Sync an Integration
275
+ #### Sync Changes
63
276
 
64
277
  ```bash
278
+ # Sync all changes
65
279
  boltic integration sync
66
280
  ```
67
281
 
68
- ### 🚀 Publish an Integration
282
+ #### Pull Latest Changes
69
283
 
70
284
  ```bash
71
- boltic integration publish
285
+ # Pull latest from Boltic Cloud
286
+ boltic integration pull
287
+ ```
288
+
289
+ #### Submit for Review
290
+
291
+ ```bash
292
+ # Submit for publishing review
293
+ boltic integration submit
72
294
  ```
73
295
 
74
296
  ---
75
297
 
76
- ## 📌 Command Reference
298
+ ## 📚 Command Reference
299
+
300
+ ### Core Commands
77
301
 
78
- | Command | Description |
79
- | ---------------------------- | -------------------------------------------------------- |
80
- | `boltic login` | Authenticate with Boltic |
81
- | `boltic integration create` | Create a new integration |
82
- | `boltic integration sync` | Sync changes to your draft |
83
- | `boltic integration publish` | Submit integration for review |
84
- | `boltic integration pull` | Pull the latest changes of an integration from the Cloud |
85
- | `boltic integration edit` | Edit an existing integration |
86
- | `boltic help` | Show CLI help |
87
- | `boltic version` | Display CLI version |
302
+ | Command | Description | Options |
303
+ | ---------------- | --------------------------------- | ------- |
304
+ | `boltic login` | Authenticate with Boltic platform | |
305
+ | `boltic logout` | Clear stored credentials | |
306
+ | `boltic version` | Display CLI version | |
307
+ | `boltic help` | Show comprehensive help | |
308
+
309
+ ### Integration Commands
310
+
311
+ | Command | Description | Options |
312
+ | --------------------------- | ------------------------- | --------------------- |
313
+ | `boltic integration create` | Create new integration | Interactive prompts |
314
+ | `boltic integration edit` | Edit existing integration | Interactive prompt |
315
+ | `boltic integration sync` | Sync local changes | Interactive prompt |
316
+ | `boltic integration pull` | Pull latest changes | Interactive prompt |
317
+ | `boltic integration submit` | Submit for review | |
318
+ | `boltic integration status` | Check integration status | Interactive selection |
319
+ | `boltic integration help` | Show integration help | |
320
+
321
+ ### Help and Documentation
322
+
323
+ ```bash
324
+ # General help
325
+ boltic help
326
+
327
+ # Command-specific help
328
+ boltic integration help
329
+ boltic login help
330
+ ```
88
331
 
89
332
  ---
90
333
 
91
- ## 🔁 Typical Workflow
334
+ ## 🛠️ Development Workflow
335
+
336
+ ### Typical Development Cycle
92
337
 
93
338
  ```bash
94
- # Step 1: Authenticate
339
+ # 1. Start Development
340
+ boltic integration create
341
+ cd my-integration
342
+
343
+ # 2. Make Changes
344
+ # Edit your integration files...
345
+
346
+ # 3. Sync Changes
347
+ boltic integration sync
348
+
349
+ # 4. Iterate
350
+ # Make more changes and sync...
351
+
352
+ # 5. Submit for Review
353
+ boltic integration submit
354
+ ```
355
+
356
+ ---
357
+
358
+ ## 🐛 Troubleshooting
359
+
360
+ ### Common Issues
361
+
362
+ #### Authentication Problems
363
+
364
+ ```bash
365
+ # Clear stored credentials
366
+ boltic logout
367
+
368
+ # Re-authenticate
95
369
  boltic login
96
370
 
97
- # Step 2: Start a new integration
98
- boltic integration create
371
+ # Check connection
372
+ ping console.fynd.com
373
+ ```
374
+
375
+ #### Sync Issues
376
+
377
+ ```bash
378
+ # Check status
379
+ boltic integration status
99
380
 
100
- # Step 3: Save changes
381
+ # Force sync
101
382
  boltic integration sync
102
383
 
103
- # Step 5: Submit for publishing and review
104
- boltic integration publish
384
+ ```
105
385
 
106
- # Step 6: Pull the latest changes of a integration. Please call this command inside a integration folder.
107
- boltic integration pull
386
+ #### Network Issues
108
387
 
109
- # Step 7: Use this command if you don't have folder of a particular integration. Please call this command outside of any existing integration folder.
110
- boltic integration edit
388
+ ```bash
389
+ # Test connectivity
390
+ ping console.fynd.com
391
+
392
+ # Check API status
393
+ boltic integration status
394
+
395
+ # Enable verbose logging for debugging
396
+ boltic --verbose integration sync
397
+ ```
398
+
399
+ ### Debug Mode
400
+
401
+ ```bash
402
+ # Enable verbose logging
403
+ boltic --verbose integration sync
404
+
405
+ # Run with verbose output for any command
406
+ boltic --verbose integration create
407
+ boltic --verbose login
408
+ ```
409
+
410
+ ### Getting Help
411
+
412
+ ```bash
413
+ # Comprehensive help
414
+ boltic help
415
+
416
+ # Command-specific help
417
+ boltic integration help
111
418
  ```
112
419
 
113
420
  ---
114
421
 
115
- ## 🛠️ Troubleshooting
422
+ ## 📖 Documentation
423
+
424
+ ### Official Resources
425
+
426
+ - 📚 **[Boltic Documentation](https://docs.boltic.io)** - Complete API reference and guides
427
+ - 🎥 **[Video Tutorials](https://boltic.io/tutorials)** - Step-by-step video guides
428
+ - 💡 **[Examples Repository](https://github.com/bolticio/examples)** - Real-world integration examples
429
+ - 🚀 **[Quick Start Guide](https://docs.boltic.io/quickstart)** - Get started in 5 minutes
116
430
 
117
- ### Login Errors
431
+ ### Community Resources
118
432
 
119
- - Make sure you're online and using valid credentials.
120
- - Retry `boltic login` if your token has expired.
433
+ - 🐛 **[Issue Tracker](https://github.com/bolticio/cli/issues)** - Report bugs and request features
434
+ - 📝 **[Blog](https://boltic.io/blog)** - Latest updates and best practices
121
435
 
122
- ### Integration Issues
436
+ ### CLI Documentation
123
437
 
124
- - Ensure all required fields (e.g., name, type, icon URL) are filled.
125
- - Verify the icon URL is publicly accessible.
126
- - Double-check the selected integration type and group.
438
+ ```bash
439
+ # Open documentation in browser
440
+ boltic docs
441
+ ```
127
442
 
128
443
  ---
129
444
 
130
- ## 📚 Help
445
+ ## 🤝 Contributing
446
+
447
+ We welcome contributions from the community! Here's how you can help:
131
448
 
132
- Get help directly in the CLI:
449
+ ### Development Setup
133
450
 
134
451
  ```bash
135
- # View all commands
136
- boltic help
452
+ # Fork and clone
453
+ git clone https://github.com/your-username/cli.git
454
+ cd cli
137
455
 
138
- # View integration command options
139
- boltic integration help
456
+ # Install dependencies
457
+ npm install
458
+
459
+ # Link for development
460
+ npm link
461
+
462
+ # Run tests
463
+ npm test
140
464
  ```
141
465
 
142
- Or visit the [Boltic Docs](https://docs.boltic.io) for full documentation.
466
+ ### Contribution Guidelines
467
+
468
+ 1. **Fork the repository**
469
+ 2. **Create a feature branch**: `git checkout -b feature/amazing-feature`
470
+ 3. **Make your changes** with proper tests
471
+ 4. **Run the test suite**: `npm test`
472
+ 5. **Commit your changes**: `git commit -m 'Add amazing feature'`
473
+ 6. **Push to the branch**: `git push origin feature/amazing-feature`
474
+ 7. **Open a Pull Request**
475
+
476
+ ### Code Standards
477
+
478
+ - Follow **ESLint** configuration
479
+ - Write **comprehensive tests** for new features
480
+ - Update **documentation** for API changes
481
+ - Follow **conventional commits** for commit messages
143
482
 
144
483
  ---
145
484
 
146
- ## 🧾 License
485
+ ## 📄 License
486
+
487
+ This project is licensed under the **ISC License** - see the [LICENSE](LICENSE) file for details.
488
+
489
+ ---
490
+
491
+ ## 🙏 Acknowledgments
492
+
493
+ - **Boltic Team** - For building an amazing platform
494
+ - **Open Source Contributors** - For their valuable contributions
495
+ - **Community** - For feedback, bug reports, and feature requests
496
+
497
+ ---
498
+
499
+ <div align="center">
500
+
501
+ **Made with ❤️ by the Boltic Team**
502
+
503
+ [Website](https://boltic.io) • [Documentation](https://docs.boltic.io) • [Support](https://support.boltic.io) • [Discord](https://discord.gg/boltic)
147
504
 
148
- MIT © [Boltic](https://boltic.io)
505
+ </div>