trello-cli-unofficial 0.5.0 → 0.6.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 (2) hide show
  1. package/README.md +122 -47
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -5,8 +5,10 @@
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
7
  [![Tests](https://img.shields.io/badge/tests-57%20passing-brightgreen.svg)](./tests)
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
+ [![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)
8
10
 
9
- An unofficial Trello CLI using Power-Up authentication, built with Bun for maximum performance.
11
+ An unofficial Trello CLI using Power-Up authentication, built with Bun for maximum performance. Features automated CI/CD with semantic versioning and NPM publishing.
10
12
 
11
13
  ## 🚀 Features
12
14
 
@@ -18,51 +20,55 @@ An unofficial Trello CLI using Power-Up authentication, built with Bun for maxim
18
20
  - ✏️ **CRUD Operations**: Create, read, update, and delete cards
19
21
  - 📦 **Move Cards**: Between lists in the same board
20
22
  - 🛠️ **Traditional CLI**: Also works as a command-line tool
23
+ - 🤖 **Automated CI/CD**: Semantic versioning and NPM publishing on every release
24
+ - 🔒 **Secure Publishing**: NPM provenance with GitHub Actions OIDC
21
25
 
22
26
  ## 📦 Installation
23
27
 
24
28
  ### Prerequisites
25
29
 
26
- - [Bun](https://bun.sh/) installed
30
+ - [Bun](https://bun.sh/) or Node.js installed
27
31
  - Trello account with Power-Up enabled
28
32
 
29
- ### Global Installation (Recommended)
33
+ ### NPM Installation (Recommended)
30
34
 
31
35
  ```bash
32
- # Clone the repository
33
- git clone https://github.com/JaegerCaiser/trello-cli-unofficial.git
34
- cd trello-cli-unofficial
36
+ # Install globally via NPM
37
+ npm install -g trello-cli-unofficial
35
38
 
36
- # Install dependencies
37
- bun install
39
+ # Or using Bun
40
+ bun add -g trello-cli-unofficial
38
41
 
39
- # Install globally (optional)
40
- bun link
42
+ # Verify installation
43
+ tcu --version
41
44
  ```
42
45
 
43
- ### Local Installation
46
+ ### Manual Installation (Development)
44
47
 
45
48
  ```bash
46
- # Clone and install
49
+ # Clone the repository
47
50
  git clone https://github.com/JaegerCaiser/trello-cli-unofficial.git
48
51
  cd trello-cli-unofficial
52
+
53
+ # Install dependencies
49
54
  bun install
55
+
56
+ # Install globally (optional)
57
+ bun link
50
58
  ```
51
59
 
52
60
  ## 🔧 Configuration
53
61
 
54
- ### First Run
62
+ ### First Run Setup
55
63
 
56
64
  On first run, the CLI will guide you through setup:
57
65
 
58
66
  ```bash
59
67
  # Run the CLI
60
- bun run main.ts
61
-
62
- # Or if installed globally
63
- trello-cli-unofficial
64
- # or use the shortcut:
65
68
  tcu
69
+
70
+ # Or if running from source
71
+ bun run main.ts
66
72
  ```
67
73
 
68
74
  The CLI will ask for your Trello token. To get it:
@@ -75,7 +81,7 @@ The CLI will ask for your Trello token. To get it:
75
81
  ### Manual Configuration
76
82
 
77
83
  ```bash
78
- # Configure token
84
+ # Configure token interactively
79
85
  tcu setup
80
86
 
81
87
  # View current configuration
@@ -98,11 +104,11 @@ The token is automatically saved in `~/.trello-cli-unofficial/config.json`:
98
104
  ### Interactive Mode (Recommended)
99
105
 
100
106
  ```bash
101
- # With global installation
107
+ # Start interactive mode
102
108
  tcu
103
109
 
104
- # Or directly
105
- bun run main.ts
110
+ # Or the full command name
111
+ trello-cli-unofficial
106
112
  ```
107
113
 
108
114
  Main menu options:
@@ -116,14 +122,17 @@ Main menu options:
116
122
  ### Direct Commands
117
123
 
118
124
  ```bash
119
- # View boards
125
+ # View all boards
120
126
  tcu boards
121
127
 
122
- # Interactive mode
128
+ # Start interactive mode
123
129
  tcu interactive
124
130
 
125
131
  # Configure token
126
132
  tcu setup
133
+
134
+ # Show version
135
+ tcu --version
127
136
  ```
128
137
 
129
138
  ## 📚 Usage Examples
@@ -153,6 +162,38 @@ tcu
153
162
  - **Delete**: Confirm before removing
154
163
  - **Move**: Select destination list
155
164
 
165
+ ## 🤖 CI/CD & Automation
166
+
167
+ This project uses automated CI/CD with semantic versioning:
168
+
169
+ ### Version Bumping
170
+
171
+ - `feat:` commits → Minor version bump (0.5.0 → 0.6.0)
172
+ - `fix:` commits → Patch version bump (0.5.0 → 0.5.1)
173
+ - `BREAKING CHANGE:` → Major version bump (0.5.0 → 1.0.0)
174
+
175
+ ### Automated Publishing
176
+
177
+ Every push to `main` branch triggers:
178
+ 1. **CI Pipeline**: Linting, type checking, tests, and build
179
+ 2. **Release Pipeline**: Version bump, NPM publish, GitHub release
180
+ 3. **Security**: NPM provenance with signed builds
181
+
182
+ ### Conventional Commits
183
+
184
+ ```bash
185
+ # Feature commit (minor version)
186
+ git commit -m "feat: add new card templates"
187
+
188
+ # Bug fix (patch version)
189
+ git commit -m "fix: handle network timeouts gracefully"
190
+
191
+ # Breaking change (major version)
192
+ git commit -m "feat!: redesign authentication flow
193
+
194
+ BREAKING CHANGE: token format changed"
195
+ ```
196
+
156
197
  ## 🛠️ Development
157
198
 
158
199
  ### Project Structure
@@ -161,12 +202,13 @@ tcu
161
202
  trello-cli-unofficial/
162
203
  ├── src/
163
204
  │ ├── domain/ # Business logic & entities
164
- │ ├── application/ # Use cases
205
+ │ ├── application/ # Use cases & orchestration
165
206
  │ ├── infrastructure/ # External implementations
166
- │ └── presentation/ # CLI controllers
167
- ├── tests/ # Test suite
207
+ │ └── presentation/ # CLI controllers & UI
208
+ ├── tests/ # Test suite (57 tests)
209
+ ├── .github/workflows/ # CI/CD pipelines
168
210
  ├── main.ts # Entry point
169
- ├── package.json # Dependencies
211
+ ├── package.json # Dependencies & scripts
170
212
  └── README.md # This documentation
171
213
  ```
172
214
 
@@ -180,46 +222,64 @@ trello-cli-unofficial/
180
222
  ### Available Scripts
181
223
 
182
224
  ```bash
183
- # Run
225
+ # Run locally
184
226
  bun run main.ts
185
227
 
186
- # Development
187
- bun run dev
228
+ # Development with watch mode
229
+ bun run --watch main.ts
188
230
 
189
- # Build
231
+ # Build for production
190
232
  bun run build
191
233
 
192
- # Tests
234
+ # Run tests
193
235
  bun test
194
236
 
237
+ # Run tests with coverage
238
+ bun test:coverage
239
+
195
240
  # Validation (lint + typecheck + test)
196
241
  bun run validate
242
+
243
+ # Type checking only
244
+ bun run typecheck
245
+
246
+ # Linting only
247
+ bun run lint
197
248
  ```
198
249
 
199
250
  ## 🔒 Security
200
251
 
201
- - Token saved locally in protected file
252
+ - Token saved locally in protected file (`~/.trello-cli-unofficial/config.json`)
202
253
  - No data sent to external servers
203
- - Uses HTTPS for all Trello communications
254
+ - Uses HTTPS for all Trello API communications
204
255
  - Compatible with Trello's Power-Up authentication
256
+ - NPM packages published with provenance attestation
205
257
 
206
258
  ## 🐛 Troubleshooting
207
259
 
208
260
  ### 401 Unauthorized Error
209
261
 
210
- - Verify the token is correct
262
+ - Verify the token is correct and starts with `ATTA`
211
263
  - Confirm the Power-Up has necessary permissions
212
- - Try generating a new token
264
+ - Try generating a new token from [trello.com/power-ups/admin](https://trello.com/power-ups/admin)
213
265
 
214
266
  ### Network Error
215
267
 
216
268
  - Check your internet connection
217
- - Confirm api.trello.com is accessible
269
+ - Confirm `api.trello.com` is accessible
270
+ - Try again in a few minutes
218
271
 
219
272
  ### Configuration Not Saving
220
273
 
221
274
  - Check write permissions in `~/.trello-cli-unofficial/`
222
275
  - Run as user with appropriate permissions
276
+ - Try running `tcu setup` again
277
+
278
+ ### Installation Issues
279
+
280
+ - Ensure Bun or Node.js is installed
281
+ - Try `npm install -g trello-cli-unofficial` if Bun fails
282
+ - Check that `tcu` command is in your PATH
223
283
 
224
284
  ## 🤝 Contributing
225
285
 
@@ -227,29 +287,47 @@ Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md)
227
287
 
228
288
  1. Fork the project
229
289
  2. Create a feature branch (`git checkout -b feature/AmazingFeature`)
230
- 3. Commit your changes (`git commit -m 'feat: add some amazing feature'`)
290
+ 3. Commit your changes using conventional commits (`git commit -m 'feat: add some amazing feature'`)
231
291
  4. Run the tests (`bun run validate`)
232
292
  5. Push to the branch (`git push origin feature/AmazingFeature`)
233
293
  6. Open a Pull Request
234
294
 
295
+ ### Development Setup
296
+
297
+ ```bash
298
+ # Clone and setup
299
+ git clone https://github.com/JaegerCaiser/trello-cli-unofficial.git
300
+ cd trello-cli-unofficial
301
+ bun install
302
+
303
+ # Run tests
304
+ bun test
305
+
306
+ # Start development
307
+ bun run --watch main.ts
308
+ ```
309
+
235
310
  ## 📜 License
236
311
 
237
312
  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
238
313
 
239
314
  ## 🙏 Acknowledgments
240
315
 
241
- - [Trello API](https://developer.atlassian.com/cloud/trello/) - Official Trello API
316
+ - [Trello API](https://developer.atlassian.com/cloud/trello/) - Official Trello REST API
242
317
  - [Bun](https://bun.sh/) - Ultra-fast JavaScript runtime
243
318
  - [Inquirer](https://github.com/SBoudrias/Inquirer.js) - Interactive command-line interface
244
319
  - [Commander](https://github.com/tj/commander.js) - CLI framework for Node.js
320
+ - [GitHub Actions](https://github.com/features/actions) - CI/CD automation
245
321
 
246
322
  ## 📊 Project Status
247
323
 
248
- - ✅ Initial release (v0.1.0)
324
+ - ✅ Latest version: **v0.5.0**
249
325
  - 🚀 57 tests passing
250
- - 📦 Clean DDD architecture
251
- - 🎨 ESLint + TypeScript strict
326
+ - 📦 Clean Domain-Driven Design architecture
327
+ - 🎨 ESLint + TypeScript strict mode
252
328
  - ⚡ Performance optimized with Bun
329
+ - 🤖 Automated CI/CD with semantic versioning
330
+ - 🔒 Secure publishing with NPM provenance
253
331
 
254
332
  ---
255
333
 
@@ -257,7 +335,4 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
257
335
 
258
336
  ---
259
337
 
260
- **Made with ❤️ and Bun**
261
- # Test
262
- # Test commit for trusted publisher
263
- # Test trusted publisher
338
+ **Made with ❤️, Bun, and automated CI/CD**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "trello-cli-unofficial",
3
3
  "type": "module",
4
- "version": "0.5.0",
4
+ "version": "0.6.0",
5
5
  "private": false,
6
6
  "description": "Unofficial Trello CLI using Power-Up authentication, built with Bun for maximum performance",
7
7
  "author": "Matheus Caiser <matheus.kaiser@gmail.com> (https://www.mrdeveloper.com.br/)",