@sppg2001/atomize 1.0.1 โ†’ 1.1.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/README.md CHANGED
@@ -7,27 +7,29 @@
7
7
  [![Node Version](https://img.shields.io/node/v/@sppg2001/atomize)](https://nodejs.org)
8
8
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue.svg)](https://www.typescriptlang.org/)
9
9
 
10
-
11
10
  **Break down stories, build up velocity.**
12
11
 
13
- Atomize is a CLI tool that automatically generates granular tasks from user stories using YAML templates. Streamline your agile workflow with AI-powered task breakdowns, preset templates, and smart estimation distribution.
12
+ Atomize is a CLI tool that automatically generates granular tasks from user stories using YAML templates. Streamline your agile workflow with AI-powered task breakdowns, preset templates, and smart estimation distribution.
14
13
 
15
14
  ---
16
15
 
17
- ## Features
16
+ ## Features
18
17
 
19
- - **๐Ÿค– AI-Powered Generation** - Create templates using Google Gemini or local Ollama (completely free)
20
- - **๐Ÿ“‹ Preset Templates** - Start with battle-tested templates for common workflows
21
- - **๐Ÿง  Story Learning** - Generate templates by analyzing your existing work items
22
- - **๐ŸŽฏ Smart Estimation** - Automatically distribute story points across tasks
23
- - **๐Ÿ”— Azure DevOps Integration** - Native support with more platforms coming soon
24
- - **โšก Zero Config** - Works out of the box with sensible defaults
25
- - **๐ŸŽจ Interactive Wizards** - User-friendly prompts guide you through everything
26
- - **โœ… Built-in Validation** - Catch template errors before they cause problems
18
+ - **AI-Powered Generation** - Create templates using Google Gemini or local Ollama (completely free)
19
+ - **Preset Templates** - Start with battle-tested templates for common workflows
20
+ - **Story Learning** - Generate templates by analyzing your existing work items (single or multiple stories)
21
+ - **Pattern Detection** - Identify common task patterns across multiple stories with confidence scoring
22
+ - **Smart Estimation** - Automatically distribute story points across tasks with conditional percentage support
23
+ - **Strict & Lenient Validation** - Flexible QA modes to enforce template quality
24
+ - **Azure DevOps Integration** - Native support with WIQL queries and full field mapping
25
+ - **Zero Config** - Works out of the box with sensible defaults
26
+ - **Interactive Wizards** - User-friendly prompts guide you through everything
27
+ - **Built-in Validation** - Catch template errors before they cause problems
28
+ - **CI/CD Ready** - Automation-friendly with `--no-interactive` and JSON report output
27
29
 
28
30
  ---
29
31
 
30
- ## ๐Ÿ“ฆ Installation
32
+ ## Installation
31
33
 
32
34
  ### Global Installation (Recommended)
33
35
 
@@ -52,7 +54,7 @@ bun run dev
52
54
 
53
55
  ---
54
56
 
55
- ## ๐ŸŽฏ Quick Start
57
+ ## Quick Start
56
58
 
57
59
  ### 1. Generate Tasks from a Template
58
60
 
@@ -60,7 +62,7 @@ bun run dev
60
62
  # Use a preset template
61
63
  atomize generate templates/backend-api.yaml
62
64
 
63
- # Interactive mode
65
+ # Interactive mode (prompts for template and options)
64
66
  atomize generate
65
67
  ```
66
68
 
@@ -73,9 +75,12 @@ atomize template create --ai "Backend API with authentication"
73
75
  # From a preset
74
76
  atomize template create --preset backend-api
75
77
 
76
- # Learn from an existing story
78
+ # Learn from one existing story
77
79
  atomize template create --from-story STORY-123
78
80
 
81
+ # Learn from multiple stories (better pattern detection)
82
+ atomize template create --from-stories STORY-1,STORY-2,STORY-3
83
+
79
84
  # Step-by-step wizard
80
85
  atomize template create --scratch
81
86
  ```
@@ -83,12 +88,16 @@ atomize template create --scratch
83
88
  ### 3. Validate a Template
84
89
 
85
90
  ```bash
91
+ # Lenient mode (default) โ€” only hard errors block use
86
92
  atomize validate templates/my-template.yaml
93
+
94
+ # Strict mode โ€” warnings also become errors
95
+ atomize validate templates/my-template.yaml --strict
87
96
  ```
88
97
 
89
98
  ---
90
99
 
91
- ## ๐Ÿ“– Usage Guide
100
+ ## Usage Guide
92
101
 
93
102
  ### Generate Command
94
103
 
@@ -104,16 +113,27 @@ atomize generate templates/backend-api.yaml \
104
113
  --execute \
105
114
  --verbose
106
115
 
107
- # Dry run (preview only)
116
+ # Dry run (preview only โ€” default behavior)
108
117
  atomize generate templates/backend-api.yaml --dry-run
118
+
119
+ # CI/CD mode with JSON report
120
+ atomize generate templates/backend-api.yaml \
121
+ --execute \
122
+ --no-interactive \
123
+ --output report.json
109
124
  ```
110
125
 
111
- **Options:**
112
- - `--platform <type>` - Platform to use (azure-devops, mock)
113
- - `--execute` - Actually create tasks (default is dry-run)
126
+ **Key Options:**
127
+ - `--platform <type>` - Platform: `azure-devops` or `mock`
128
+ - `--execute` - Actually create tasks (default is dry-run preview)
114
129
  - `--dry-run` - Preview without creating tasks
115
130
  - `--continue-on-error` - Keep processing if errors occur
131
+ - `--story-concurrency <n>` - Parallel story processing (default: 3, max: 10)
132
+ - `--task-concurrency <n>` - Parallel task creation per story (default: 5, max: 20)
133
+ - `--dependency-concurrency <n>` - Parallel dependency link creation (default: 5, max: 10)
116
134
  - `--verbose` - Show detailed output
135
+ - `--no-interactive` - Skip all prompts (for automation)
136
+ - `-o, --output <file>` - Write JSON report to file
117
137
 
118
138
  **Example Output:**
119
139
  ```
@@ -133,15 +153,21 @@ Summary:
133
153
  #### Create a Template
134
154
 
135
155
  ```bash
136
- # AI-powered (best for quick starts)
156
+ # best for quick starts
137
157
  atomize template create --ai "Create template for React component development"
138
158
 
139
159
  # From preset (fastest)
140
160
  atomize template create --preset frontend-feature
141
161
 
142
- # Learn from story (best for matching your workflow)
162
+ # Learn from a single story (matches your workflow)
143
163
  atomize template create --from-story STORY-456 --platform azure-devops
144
164
 
165
+ # Learn from multiple stories (best pattern detection)
166
+ atomize template create \
167
+ --from-stories STORY-1,STORY-2,STORY-3 \
168
+ --normalize \
169
+ --output my-templates/learned.yaml
170
+
145
171
  # Interactive wizard (most control)
146
172
  atomize template create --scratch
147
173
  ```
@@ -163,13 +189,13 @@ atomize template list
163
189
  ```bash
164
190
  atomize validate templates/my-template.yaml
165
191
 
166
- # With detailed output
167
- atomize validate templates/my-template.yaml --verbose
192
+ # Strict mode โ€” warnings become errors (recommended for team/production templates)
193
+ atomize validate templates/my-template.yaml --strict --verbose
168
194
  ```
169
195
 
170
196
  ---
171
197
 
172
- ## ๐Ÿ—๏ธ Template Structure
198
+ ## Template Structure
173
199
 
174
200
  Templates are YAML files that define how to break down user stories into tasks.
175
201
 
@@ -200,19 +226,16 @@ tasks:
200
226
  description: "Implement business logic and validation"
201
227
  estimationPercent: 40
202
228
  activity: "Development"
203
- tags: ["implementation"]
204
229
 
205
230
  - title: "Write Tests"
206
231
  description: "Unit and integration tests"
207
232
  estimationPercent: 30
208
233
  activity: "Testing"
209
- tags: ["testing"]
210
234
 
211
235
  - title: "Code Review & Documentation"
212
236
  description: "Review and document the implementation"
213
237
  estimationPercent: 15
214
238
  activity: "Documentation"
215
- tags: ["review", "docs"]
216
239
 
217
240
  # Estimation settings
218
241
  estimation:
@@ -229,12 +252,16 @@ validation:
229
252
  ### Template Features
230
253
 
231
254
  #### Variable Interpolation
232
- Use story data in task titles and descriptions:
233
- - `${story.title}` - Story title
234
- - `${story.id}` - Story ID
235
- - `${story.description}` - Story description
255
+
256
+ ```yaml
257
+ - title: "Design: ${story.title}"
258
+ - description: "Story ${story.id}: ${story.description}"
259
+ ```
260
+
261
+ Available variables: `${story.title}`, `${story.id}`, `${story.description}`, `${story.estimation}`, `${story.tags}`
236
262
 
237
263
  #### Task Assignment
264
+
238
265
  ```yaml
239
266
  assignTo: "@ParentAssignee" # Inherit from story
240
267
  assignTo: "@Me" # Current user
@@ -242,13 +269,29 @@ assignTo: "user@email.com" # Specific user
242
269
  ```
243
270
 
244
271
  #### Conditional Tasks
272
+
245
273
  ```yaml
246
274
  - title: "Security Review"
247
275
  estimationPercent: 10
248
276
  condition: '${story.tags} CONTAINS "security"'
249
277
  ```
250
278
 
279
+ #### Conditional Estimation (v1.1)
280
+
281
+ Adapt task percentage based on story properties. First matching rule wins; `estimationPercent` is the fallback.
282
+
283
+ ```yaml
284
+ - title: "Implementation"
285
+ estimationPercent: 50 # Default
286
+ estimationPercentCondition:
287
+ - condition: '${story.tags} CONTAINS "critical"'
288
+ percent: 60 # More weight for critical stories
289
+ - condition: "${story.estimation} >= 13"
290
+ percent: 55 # More work for large stories
291
+ ```
292
+
251
293
  #### Task Dependencies
294
+
252
295
  ```yaml
253
296
  tasks:
254
297
  - id: "design"
@@ -258,28 +301,32 @@ tasks:
258
301
  - id: "implement"
259
302
  title: "Implementation"
260
303
  estimationPercent: 60
261
- dependsOn: ["design"] # Must complete design first
304
+ dependsOn: ["design"] # Must complete design first
262
305
  ```
263
306
 
264
307
  ---
265
308
 
266
- ## ๐Ÿค– AI-Powered Template Creation
309
+ ## AI-Powered Template Creation
267
310
 
268
- Atomize supports two free AI providers for template generation:
311
+ Atomize supports two free AI providers:
269
312
 
270
- ### Google Gemini (Cloud - Recommended)
313
+ ### Google Gemini (Cloud โ€” Recommended)
271
314
 
272
315
  1. Get a free API key: https://makersuite.google.com/app/apikey
273
316
  2. Set environment variable:
274
317
  ```bash
275
318
  export GOOGLE_AI_API_KEY="your-key-here"
276
319
  ```
277
- 3. Create templates:
320
+ For windows
321
+ ```bash
322
+ set GOOGLE_AI_API_KEY=your-key
323
+ ```
324
+ 4. Create templates:
278
325
  ```bash
279
326
  atomize template create --ai "Backend API with OAuth authentication"
280
327
  ```
281
328
 
282
- ### Ollama (Local - Complete Privacy)
329
+ ### Ollama (Local โ€” Complete Privacy)
283
330
 
284
331
  1. Install Ollama: https://ollama.ai
285
332
  2. Download a model:
@@ -298,13 +345,12 @@ Atomize supports two free AI providers for template generation:
298
345
  ### AI Tips
299
346
 
300
347
  - Be specific: "Backend API with JWT auth, rate limiting, and PostgreSQL"
301
- - Mention your tech stack: "React component with TypeScript and Tailwind CSS"
302
348
  - Specify testing requirements: "Include unit tests and E2E tests"
303
- - Refine iteratively: Use the refine option to adjust the generated template
349
+ - Use the refinement loop to iterate: Accept, Refine, Regenerate, or Cancel
304
350
 
305
351
  ---
306
352
 
307
- ## ๐Ÿ”— Platform Setup
353
+ ## Platform Setup
308
354
 
309
355
  ### Azure DevOps
310
356
 
@@ -318,8 +364,14 @@ Atomize supports two free AI providers for template generation:
318
364
  export AZURE_DEVOPS_PROJECT="YourProject"
319
365
  export AZURE_DEVOPS_PAT="your-personal-access-token"
320
366
  ```
367
+ For Windows
368
+ ```bash
369
+ set AZURE_DEVOPS_ORG_URL="https://dev.azure.com/your-org"
370
+ set AZURE_DEVOPS_PROJECT="YourProject"
371
+ set AZURE_DEVOPS_PAT="your-personal-access-token"
372
+ ```
321
373
 
322
- 3. **Or Use Interactive Setup**
374
+ 4. **Or Use Interactive Setup**
323
375
  ```bash
324
376
  atomize generate templates/backend-api.yaml
325
377
  # CLI will prompt for configuration
@@ -331,9 +383,36 @@ Atomize supports two free AI providers for template generation:
331
383
  atomize generate templates/backend-api.yaml --platform mock
332
384
  ```
333
385
 
386
+ No configuration required. Includes 7 built-in sample stories.
387
+
388
+ ---
389
+
390
+ ## Strict vs Lenient Validation
391
+
392
+ Atomize has two validation modes:
393
+
394
+ | Mode | Warnings | Best For |
395
+ |------|----------|----------|
396
+ | **Lenient** (default) | Non-blocking | Development, personal templates |
397
+ | **Strict** | Treated as errors | Team templates, CI/CD pipelines |
398
+
399
+ ```bash
400
+ # Default (lenient) โ€” only hard errors block use
401
+ atomize validate my-template.yaml
402
+
403
+ # Strict โ€” warnings also fail validation
404
+ atomize validate my-template.yaml --strict
405
+ ```
406
+
407
+ You can also set the mode in the template itself:
408
+ ```yaml
409
+ validation:
410
+ mode: "strict"
411
+ ```
412
+
334
413
  ---
335
414
 
336
- ## Real-World Examples
415
+ ## Real-World Examples
337
416
 
338
417
  ### Example 1: Backend API Feature
339
418
 
@@ -349,11 +428,28 @@ atomize generate templates/backend-api.yaml --platform mock
349
428
 
350
429
  **Total:** 10 story points perfectly distributed
351
430
 
352
- ## ๐Ÿ› ๏ธ Advanced Usage
431
+ ### Example 2: Multi-Story Learning
353
432
 
354
- ### Custom Filters
433
+ ```bash
434
+ # Learn from your team's best stories
435
+ atomize template create \
436
+ --from-stories STORY-100,STORY-115,STORY-132,STORY-148 \
437
+ --platform azure-devops \
438
+ --normalize \
439
+ --output team-templates/backend-standard.yaml
440
+
441
+ # Validate the learned template
442
+ atomize validate team-templates/backend-standard.yaml --strict
443
+
444
+ # Apply it
445
+ atomize generate team-templates/backend-standard.yaml --execute
446
+ ```
447
+
448
+ ---
355
449
 
356
- Filter stories with precise criteria:
450
+ ## Advanced Usage
451
+
452
+ ### Custom Filters
357
453
 
358
454
  ```yaml
359
455
  filter:
@@ -369,33 +465,25 @@ filter:
369
465
  min: 1
370
466
  max: 2
371
467
  excludeIfHasTasks: true
468
+ customFields:
469
+ - field: "Custom.Team"
470
+ operator: "equals"
471
+ value: "Platform Engineering"
372
472
  ```
373
473
 
374
- ### Estimation Strategies
474
+ ### Estimation Settings
375
475
 
376
476
  ```yaml
377
477
  estimation:
378
- strategy: "percentage" # Distribute story points by percentage
379
- rounding: "nearest" # nearest, up, down, none
380
- minimumTaskPoints: 0.5 # Minimum points per task
381
- ```
382
-
383
- ### Learning from Existing Stories
384
-
385
- ```bash
386
- # Analyze a story and create a template
387
- atomize template create --from-story STORY-123
388
-
389
- # With percentage normalization
390
- atomize template create --from-story STORY-123 --normalize
391
-
392
- # Keep original percentages
393
- atomize template create --from-story STORY-123 --no-normalize
478
+ strategy: "percentage" # Distribute story points by percentage
479
+ rounding: "nearest" # nearest, up, down, none
480
+ minimumTaskPoints: 0.5 # Minimum points per task
481
+ ifParentHasNoEstimation: "skip" # skip, warn, use-default
394
482
  ```
395
483
 
396
484
  ---
397
485
 
398
- ## ๐Ÿงช Testing
486
+ ## Testing
399
487
 
400
488
  ```bash
401
489
  # Run all tests
@@ -414,65 +502,32 @@ bun test --watch
414
502
  ### Development Setup
415
503
 
416
504
  ```bash
417
- # Clone the repository
418
505
  git clone https://github.com/Simao-Pereira-Gomes/atomize.git
419
506
  cd atomize
420
-
421
- # Install dependencies
422
507
  bun install
423
-
424
- # Run in development mode
425
508
  bun run dev
426
-
427
- # Run tests
428
509
  bun test
429
-
430
- # Build
431
510
  bun run build
432
511
  ```
433
512
 
434
513
  ---
435
514
 
436
- ## ๐Ÿ“ Roadmap
437
-
438
- ### v0.1.0 - Initial Release โœ…
439
- - [x] Core task generation engine
440
- - [x] Azure DevOps integration
441
- - [x] AI-powered template creation
442
- - [x] Preset templates
443
- - [x] Story learning
444
- - [x] Interactive wizards
445
-
446
- ### v0.2.0 - Enhanced Features
447
- - [ ] GitHub Issues integration
448
- - [ ] Jira integration
449
- - [ ] VS Code extension
450
-
451
- ### v0.3.0 - Advanced Capabilities
452
- - [ ] Multi-story batch processing
453
- - [ ] Custom estimation formulas
454
- - [ ] Template inheritance
455
- - [ ] Workflow automation
456
- - [ ] Analytics dashboard
457
-
458
- ---
515
+ ## Troubleshooting
459
516
 
460
- ## ๐Ÿ› Troubleshooting
517
+ ### "Not authenticated" error
461
518
 
462
- ### Common Issues
463
-
464
- **"Not authenticated" error**
465
519
  ```bash
466
- # Make sure environment variables are set
520
+ # Check environment variables are set
467
521
  echo $AZURE_DEVOPS_PAT
468
522
 
469
- # Or use interactive mode
470
- atomize generate --interactive
523
+ # Or use interactive mode (will prompt)
524
+ atomize generate templates/backend-api.yaml
471
525
  ```
472
526
 
473
- **"Template validation failed"**
527
+ ### "Template validation failed"
528
+
474
529
  ```bash
475
- # Check your template
530
+ # Get detailed output
476
531
  atomize validate templates/my-template.yaml --verbose
477
532
 
478
533
  # Common issues:
@@ -481,24 +536,39 @@ atomize validate templates/my-template.yaml --verbose
481
536
  # - Missing required fields
482
537
  ```
483
538
 
484
- **AI provider not available**
539
+ ### "AI provider not available"
540
+
485
541
  ```bash
486
542
  # For Gemini
487
543
  export GOOGLE_AI_API_KEY="your-key"
544
+ set GOOGLE_AI_API_KEY="your-key"
488
545
 
489
546
  # For Ollama
490
- ollama serve # Must be running
547
+ ollama serve # Must be running
491
548
  ollama pull llama3.2 # Model must be downloaded
492
549
  ```
493
550
 
494
551
  ---
495
552
 
496
- ## ๐Ÿ“„ License
553
+ ## Documentation
554
+
555
+ - [Getting Started](./docs/Getting-Started.md) - First steps and core concepts
556
+ - [CLI Reference](./docs/Cli-Reference.md) - Complete command and flag reference
557
+ - [Template Reference](./docs/Template-Reference.md) - Full template schema
558
+ - [Validation Modes](./docs/Validation-Modes.md) - Strict vs lenient explained
559
+ - [Story Learner](./docs/Story-Learner.md) - Generate templates from existing stories
560
+ - [Common Validation Errors](./docs/Common-Validation-Errors.md) - Fix validation failures
561
+ - [Platform Guide](./docs/Platform-Guide.md) - Azure DevOps setup
562
+ - [Template Wizard Guide](./docs/template-wizard-guide.md) - Interactive wizard walkthrough
563
+
564
+ ---
565
+
566
+ ## License
497
567
 
498
568
  MIT License - see [LICENSE](LICENSE) file for details
499
569
 
500
- ## ๐Ÿ“ง Support
570
+ ## Support
501
571
 
502
- - ๐Ÿ› [Report a Bug](https://github.com/Simao-Pereira-Gomes/atomize/issues)
503
- - ๐Ÿ’ก [Request a Feature](https://github.com/Simao-Pereira-Gomes/atomize/issues)
504
- - ๐Ÿ’ฌ [Discussions](https://github.com/Simao-Pereira-Gomes/atomize/discussions)
572
+ - [Report a Bug](https://github.com/Simao-Pereira-Gomes/atomize/issues)
573
+ - [Request a Feature](https://github.com/Simao-Pereira-Gomes/atomize/issues)
574
+ - [Discussions](https://github.com/Simao-Pereira-Gomes/atomize/discussions)