trello-cli-unofficial 0.5.0 → 0.6.1
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 +121 -47
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,8 +5,10 @@
|
|
|
5
5
|
[](https://bun.sh)
|
|
6
6
|
[](https://www.typescriptlang.org/)
|
|
7
7
|
[](./tests)
|
|
8
|
+
[](https://github.com/JaegerCaiser/trello-cli-unofficial/actions)
|
|
9
|
+
[](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
|
-
###
|
|
33
|
+
### NPM Installation (Recommended)
|
|
30
34
|
|
|
31
35
|
```bash
|
|
32
|
-
#
|
|
33
|
-
|
|
34
|
-
cd trello-cli-unofficial
|
|
36
|
+
# Install globally via NPM
|
|
37
|
+
npm install -g trello-cli-unofficial
|
|
35
38
|
|
|
36
|
-
#
|
|
37
|
-
bun
|
|
39
|
+
# Or using Bun
|
|
40
|
+
bun add -g trello-cli-unofficial
|
|
38
41
|
|
|
39
|
-
#
|
|
40
|
-
|
|
42
|
+
# Verify installation
|
|
43
|
+
tcu --version
|
|
41
44
|
```
|
|
42
45
|
|
|
43
|
-
###
|
|
46
|
+
### Manual Installation (Development)
|
|
44
47
|
|
|
45
48
|
```bash
|
|
46
|
-
# Clone
|
|
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
|
-
#
|
|
107
|
+
# Start interactive mode
|
|
102
108
|
tcu
|
|
103
109
|
|
|
104
|
-
# Or
|
|
105
|
-
|
|
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
|
-
#
|
|
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
|
|
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
|
-
#
|
|
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,46 @@ 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)
|
|
249
324
|
- 🚀 57 tests passing
|
|
250
|
-
- 📦 Clean
|
|
251
|
-
- 🎨 ESLint + TypeScript strict
|
|
325
|
+
- 📦 Clean Domain-Driven Design architecture
|
|
326
|
+
- 🎨 ESLint + TypeScript strict mode
|
|
252
327
|
- ⚡ Performance optimized with Bun
|
|
328
|
+
- 🤖 Automated CI/CD with semantic versioning
|
|
329
|
+
- 🔒 Secure publishing with NPM provenance
|
|
253
330
|
|
|
254
331
|
---
|
|
255
332
|
|
|
@@ -257,7 +334,4 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
257
334
|
|
|
258
335
|
---
|
|
259
336
|
|
|
260
|
-
**Made with
|
|
261
|
-
# Test
|
|
262
|
-
# Test commit for trusted publisher
|
|
263
|
-
# Test trusted publisher
|
|
337
|
+
**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.
|
|
4
|
+
"version": "0.6.1",
|
|
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/)",
|