trello-cli-unofficial 0.12.0 โ†’ 0.13.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/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ # [0.13.0](https://github.com/JaegerCaiser/trello-cli-unofficial/compare/v0.12.1...v0.13.0) (2025-11-19)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * make tests multilingual to support CI environment ([39db26a](https://github.com/JaegerCaiser/trello-cli-unofficial/commit/39db26ae871eabf5fe43970182217e56b94189b7))
7
+
8
+
9
+ ### Features
10
+
11
+ * implement card 1.12 - migration & backward compatibility ([adc668b](https://github.com/JaegerCaiser/trello-cli-unofficial/commit/adc668b961f8ae8bed6244b4fad2f70b104dbb46))
12
+
13
+ ## [0.12.1](https://github.com/JaegerCaiser/trello-cli-unofficial/compare/v0.12.0...v0.12.1) (2025-11-17)
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * **cli:** remove hardcoded version fallback in getVersion() ([72c04ef](https://github.com/JaegerCaiser/trello-cli-unofficial/commit/72c04ef59966efada5ba095f7e2c5282540015f6))
19
+
1
20
  # [0.12.0](https://github.com/JaegerCaiser/trello-cli-unofficial/compare/v0.11.6...v0.12.0) (2025-11-17)
2
21
 
3
22
 
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
  [![Bun](https://img.shields.io/badge/Bun-%23000000.svg?style=flat&logo=bun&logoColor=white)](https://bun.sh)
6
6
  [![TypeScript](https://img.shields.io/badge/TypeScript-%23007ACC.svg?style=flat&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
7
- [![Tests](https://img.shields.io/badge/tests-57%20passing-brightgreen.svg)](./tests)
7
+ [![Tests](https://img.shields.io/badge/tests-195%20passing-brightgreen.svg)](./tests)
8
8
  [![CI/CD](https://img.shields.io/github/actions/workflow/status/JaegerCaiser/trello-cli-unofficial/ci.yml?branch=main&label=CI)](https://github.com/JaegerCaiser/trello-cli-unofficial/actions)
9
9
  [![Release](https://img.shields.io/github/actions/workflow/status/JaegerCaiser/trello-cli-unofficial/release.yml?branch=main&label=Release)](https://github.com/JaegerCaiser/trello-cli-unofficial/actions)
10
10
 
@@ -16,9 +16,12 @@ An unofficial Trello CLI using Power-Up authentication, built with Bun for maxim
16
16
  - ๐Ÿ” **Power-Up Authentication**: Compatible with Trello's newer authentication system
17
17
  - ๐Ÿ’พ **Persistent Configuration**: Automatically saves your token
18
18
  - ๐ŸŽฏ **Interactive Interface**: Intuitive menu with interactive prompts
19
- - ๐Ÿ“‹ **Complete Management**: Boards, lists, cards
19
+ - ๐Ÿ“‹ **Complete Management**: Boards, lists, cards with detailed information
20
20
  - โœ๏ธ **CRUD Operations**: Create, read, update, and delete cards
21
21
  - ๐Ÿ“ฆ **Move Cards**: Between lists in the same board
22
+ - ๐Ÿ‘€ **Detailed Views**: Show comprehensive board and card details
23
+ - ๐Ÿ“Š **Multiple Output Formats**: Table, JSON, CSV formats
24
+ - ๐Ÿท๏ธ **Rich Metadata**: Labels, members, checklists, and attachments support
22
25
  - ๐Ÿ› ๏ธ **Traditional CLI**: Also works as a command-line tool
23
26
  - ๐ŸŒ **Internationalization**: Support for Portuguese (pt-BR) and English (en) with auto-detection
24
27
  - ๐Ÿค– **Automated CI/CD**: Semantic versioning and NPM publishing on every release
@@ -50,11 +53,9 @@ npm install -g trello-cli-unofficial
50
53
  tcu --version
51
54
  ```
52
55
 
53
- # Ready to use immediately!
56
+ **Ready to use immediately!**
54
57
 
55
- tcu --version
56
-
57
- ````
58
+ `tcu --version`
58
59
 
59
60
  #### Windows Installation
60
61
 
@@ -213,7 +214,31 @@ Main menu options:
213
214
 
214
215
  ```bash
215
216
  # View all boards
216
- tcu boards
217
+ tcu boards list
218
+
219
+ # Show detailed board information
220
+ tcu boards show <boardId>
221
+
222
+ # View lists in a board
223
+ tcu lists list <boardId>
224
+
225
+ # View cards in a list
226
+ tcu cards list <listId>
227
+
228
+ # Show detailed card information
229
+ tcu cards show <cardId>
230
+
231
+ # Create a new card
232
+ tcu cards create <listId> <name> [--desc "description"]
233
+
234
+ # Update an existing card
235
+ tcu cards update <cardId> --name "new name" [--desc "new description"]
236
+
237
+ # Move a card to another list
238
+ tcu cards move <cardId> --to <listId>
239
+
240
+ # Delete a card
241
+ tcu cards delete <cardId>
217
242
 
218
243
  # Start interactive mode
219
244
  tcu interactive
@@ -223,10 +248,110 @@ tcu setup
223
248
 
224
249
  # Show version
225
250
  tcu --version
251
+
252
+ # Output format options (available for most commands)
253
+ tcu boards list --format json
254
+ tcu boards list --format csv
255
+ tcu boards list --format table # default
256
+ ```
257
+
258
+ ## ๐Ÿ—๏ธ Command Structure
259
+
260
+ The CLI uses a hierarchical subcommand structure for better organization:
261
+
262
+ ```
263
+ tcu [command] [subcommand] [options] [arguments]
264
+ ```
265
+
266
+ ### Main Commands
267
+
268
+ - **`boards`** - Manage Trello boards
269
+ - `list` - List all boards
270
+ - `show <boardId>` - Show detailed board information
271
+ - `create <name>` - Create a new board
272
+ - `delete <boardId>` - Delete a board
273
+
274
+ - **`lists`** - Manage Trello lists
275
+ - `list <boardId>` - List all lists in a board
276
+ - `create <boardId> <name>` - Create a new list
277
+ - `delete <listId>` - Delete a list
278
+ - `move <listId> <position>` - Move list to new position
279
+
280
+ - **`cards`** - Manage Trello cards
281
+ - `list <listId>` - List all cards in a list
282
+ - `show <cardId>` - Show detailed card information
283
+ - `create <listId> <name>` - Create a new card
284
+ - `update <cardId>` - Update an existing card
285
+ - `move <cardId>` - Move card to another list
286
+ - `delete <cardId>` - Delete a card
287
+
288
+ - **`config`** - Configuration management
289
+ - `setup` - Configure Trello token
290
+ - `show` - Display current configuration
291
+
292
+ ### Global Options
293
+
294
+ - `--format <format>` - Output format: `table` (default), `json`, `csv`
295
+ - `--help` - Show help for any command
296
+ - `--version` - Show CLI version
297
+
298
+ ### Interactive Mode
299
+
300
+ ```bash
301
+ # Start interactive menu
302
+ tcu
303
+
304
+ # Or explicitly
305
+ tcu interactive
226
306
  ```
227
307
 
228
308
  ## ๐Ÿ“š Usage Examples
229
309
 
310
+ ### View Boards
311
+
312
+ ```bash
313
+ # List all your boards
314
+ tcu boards list
315
+
316
+ # Show detailed information about a specific board
317
+ tcu boards show 60d5ecb74e2b8c3b8c8c8c8c
318
+
319
+ # Export boards to JSON
320
+ tcu boards list --format json
321
+
322
+ # Export boards to CSV
323
+ tcu boards list --format csv
324
+ ```
325
+
326
+ ### Manage Lists
327
+
328
+ ```bash
329
+ # List all lists in a board
330
+ tcu lists list 60d5ecb74e2b8c3b8c8c8c8c
331
+ ```
332
+
333
+ ### Manage Cards
334
+
335
+ ```bash
336
+ # List all cards in a list
337
+ tcu cards list 60d5ecb74e2b8c3b8c8c8c8d
338
+
339
+ # Show detailed information about a card
340
+ tcu cards show 60d5ecb74e2b8c3b8c8c8c8e
341
+
342
+ # Create a new card
343
+ tcu cards create 60d5ecb74e2b8c3b8c8c8c8d "Implement new feature" --desc "Add support for card templates"
344
+
345
+ # Update an existing card
346
+ tcu cards update 60d5ecb74e2b8c3b8c8c8c8e --name "Updated feature name" --desc "Updated description"
347
+
348
+ # Move a card to another list
349
+ tcu cards move 60d5ecb74e2b8c3b8c8c8c8e --to 60d5ecb74e2b8c3b8c8c8c8f
350
+
351
+ # Delete a card
352
+ tcu cards delete 60d5ecb74e2b8c3b8c8c8c8e
353
+ ```
354
+
230
355
  ### Create a Card
231
356
 
232
357
  ```bash
@@ -246,12 +371,6 @@ tcu
246
371
  # Optionally: edit, delete, or move cards
247
372
  ```
248
373
 
249
- ### Manage Cards
250
-
251
- - **Edit**: Change name and description
252
- - **Delete**: Confirm before removing
253
- - **Move**: Select destination list
254
-
255
374
  ### Show Card Details
256
375
 
257
376
  ```bash
@@ -259,6 +378,64 @@ tcu
259
378
  tcu cards show <cardId>
260
379
  ```
261
380
 
381
+ ### Output Formats
382
+
383
+ ```bash
384
+ # Table format (default)
385
+ tcu boards list
386
+
387
+ # JSON format
388
+ tcu boards list --format json
389
+
390
+ # CSV format
391
+ tcu boards list --format csv
392
+
393
+ # All formats work with most commands
394
+ tcu cards list <listId> --format json
395
+ tcu lists list <boardId> --format csv
396
+ ```
397
+
398
+ ## ๐Ÿ”„ Backward Compatibility
399
+
400
+ ### Legacy Command Support
401
+
402
+ During the transition period, the CLI maintains backward compatibility with older command formats. These legacy commands will show deprecation warnings but continue to work:
403
+
404
+ ```bash
405
+ # Legacy commands (show deprecation warnings)
406
+ tcu boards # โ†’ Use "tcu boards list" instead
407
+ tcu lists legacy <boardName> # โ†’ Use "tcu lists list <boardId>" instead
408
+ tcu cards legacy <boardName> <listName> # โ†’ Use "tcu cards list <listId>" instead
409
+
410
+ # Legacy card management commands
411
+ tcu create-card <boardName> <listName> <cardName>
412
+ tcu move-card <cardId> <listName>
413
+ tcu delete-card <cardId>
414
+ ```
415
+
416
+ ### Migration Guide
417
+
418
+ | Old Command | New Command | Status |
419
+ |-------------|-------------|--------|
420
+ | `tcu boards` | `tcu boards list` | โš ๏ธ Deprecated |
421
+ | `tcu lists <boardName>` | `tcu lists list <boardId>` | โš ๏ธ Deprecated |
422
+ | `tcu cards <boardName> <listName>` | `tcu cards list <listId>` | โš ๏ธ Deprecated |
423
+ | `tcu create-card <boardName> <listName> <name>` | `tcu cards create <listId> <name>` | โš ๏ธ Deprecated |
424
+ | `tcu move-card <cardId> <listName>` | `tcu cards move <cardId> --to <listId>` | โš ๏ธ Deprecated |
425
+ | `tcu delete-card <cardId>` | `tcu cards delete <cardId>` | โš ๏ธ Deprecated |
426
+
427
+ **Migration Timeline:**
428
+ - **Current:** Legacy commands work with deprecation warnings
429
+ - **Future:** Legacy commands will be removed (TBD)
430
+
431
+ ### Why the Changes?
432
+
433
+ The new command structure provides:
434
+ - **Better organization** with hierarchical subcommands
435
+ - **Improved discoverability** with `tcu <command> --help`
436
+ - **Consistency** with modern CLI patterns
437
+ - **Future extensibility** for additional subcommands
438
+
262
439
  ## ๐Ÿค– CI/CD & Automation
263
440
 
264
441
  This project uses automated CI/CD with semantic versioning based on **commit messages**:
@@ -357,6 +534,51 @@ bun run typecheck
357
534
  bun run lint
358
535
  ```
359
536
 
537
+ ## ๐Ÿ”ง Architecture & Extensibility
538
+
539
+ ### Domain-Driven Design Structure
540
+
541
+ The CLI follows Domain-Driven Design principles with clear separation of concerns:
542
+
543
+ ```
544
+ src/
545
+ โ”œโ”€โ”€ domain/ # Business logic & entities
546
+ โ”‚ โ”œโ”€โ”€ entities/ # Board, List, Card entities
547
+ โ”‚ โ”œโ”€โ”€ repositories/ # Repository interfaces
548
+ โ”‚ โ””โ”€โ”€ services/ # Domain services (Authentication)
549
+ โ”œโ”€โ”€ application/ # Use cases & business logic
550
+ โ”‚ โ””โ”€โ”€ use-cases/ # Business operations
551
+ โ”œโ”€โ”€ infrastructure/ # External implementations
552
+ โ”‚ โ”œโ”€โ”€ repositories/ # Trello API, File system implementations
553
+ โ”‚ โ””โ”€โ”€ external/ # External service integrations
554
+ โ”œโ”€โ”€ presentation/ # CLI interface layer
555
+ โ”‚ โ””โ”€โ”€ cli/ # Command controllers & UI
556
+ โ””โ”€โ”€ shared/ # Cross-cutting concerns
557
+ โ”œโ”€โ”€ ErrorHandler.ts
558
+ โ”œโ”€โ”€ OutputFormatter.ts
559
+ โ””โ”€โ”€ types.ts
560
+ ```
561
+
562
+ ### Adding New Commands
563
+
564
+ To extend the CLI with new functionality:
565
+
566
+ 1. **Create a Use Case** in `src/application/use-cases/`
567
+ 2. **Implement Repository Interface** if needed
568
+ 3. **Add Controller Method** in appropriate CLI controller
569
+ 4. **Register Command** in `CommandController.ts`
570
+ 5. **Add Tests** following the existing pattern
571
+
572
+ ### Output Formatters
573
+
574
+ The CLI supports multiple output formats through the `OutputFormatter` class:
575
+
576
+ - **Table**: Human-readable tabular output (default)
577
+ - **JSON**: Machine-readable structured data
578
+ - **CSV**: Spreadsheet-compatible format
579
+
580
+ All formatters handle complex nested data structures automatically.
581
+
360
582
  ## ๐Ÿงช Cross-Platform Development Testing
361
583
 
362
584
  This project includes tools for testing cross-platform compatibility during development:
@@ -552,12 +774,15 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
552
774
 
553
775
  ## ๐Ÿ“Š Project Status
554
776
 
555
- - ๐Ÿš€ 57 tests passing
777
+ - ๐Ÿš€ 195 tests passing (100% coverage)
556
778
  - ๐Ÿ“ฆ Clean Domain-Driven Design architecture
557
779
  - ๐ŸŽจ ESLint + TypeScript strict mode
558
780
  - โšก Performance optimized with Bun
559
781
  - ๐Ÿค– Automated CI/CD with semantic versioning
560
782
  - ๐Ÿ”’ Secure publishing with NPM provenance
783
+ - ๐ŸŒ Internationalization (pt-BR/en)
784
+ - ๐Ÿ“Š Multiple output formats (table/json/csv)
785
+ - ๐Ÿ—๏ธ Hierarchical command structure
561
786
 
562
787
  ---
563
788