@sppg2001/atomize 2.0.0 → 3.0.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 (28) hide show
  1. package/README.md +93 -551
  2. package/{templates/mixins/docs.yaml → catalog/mixins/documentation.atomize.yaml} +1 -1
  3. package/{templates/mixins/security.yaml → catalog/mixins/security-review.atomize.yaml} +1 -1
  4. package/{templates/mixins/testing.yaml → catalog/mixins/test-coverage.atomize.yaml} +1 -1
  5. package/{templates/templates/custom-saved-query.yaml → catalog/templates/agile-story-breakdown-saved-query.atomize.yaml} +2 -2
  6. package/{templates/templates/custom.yaml → catalog/templates/agile-story-breakdown.atomize.yaml} +2 -2
  7. package/{templates/templates/bug.yaml → catalog/templates/bug-fix.atomize.yaml} +1 -1
  8. package/{templates/templates/feature.yaml → catalog/templates/feature-development.atomize.yaml} +1 -1
  9. package/dist/cli/index.js +17866 -21738
  10. package/package.json +19 -16
  11. package/LICENSE +0 -21
  12. package/docs/Auth-Guide.md +0 -257
  13. package/docs/Cli-Reference.md +0 -959
  14. package/docs/Common-Validation-Errors.md +0 -556
  15. package/docs/Getting-Started.md +0 -540
  16. package/docs/Platform-Guide.md +0 -662
  17. package/docs/Story-Learner.md +0 -324
  18. package/docs/Template-Reference.md +0 -743
  19. package/docs/Validation-Modes.md +0 -252
  20. package/docs/template-wizard-guide.md +0 -738
  21. package/examples/README.md +0 -220
  22. package/examples/advanced-filtering.yaml +0 -113
  23. package/examples/backend.yaml +0 -124
  24. package/examples/conditional-dependencies-template.yaml +0 -145
  25. package/examples/conditional-percentage-template.yaml +0 -167
  26. package/examples/frontend.yaml +0 -123
  27. package/examples/fullstack.yaml +0 -167
  28. /package/{templates/templates/backend-api.yaml → catalog/templates/backend-api.atomize.yaml} +0 -0
@@ -1,738 +0,0 @@
1
- # Template Creation Wizard - User Guide
2
-
3
- ## Overview
4
-
5
- The Template Creation Wizard is an interactive command-line tool that helps you create production-ready task templates for Atomize. It guides you through a step-by-step process to configure all aspects of your template without requiring any prior knowledge of YAML structure.
6
-
7
- ## Features
8
-
9
- ✅ **Interactive Step-by-Step Wizard** - Six clear steps guide you through template creation
10
- ✅ **Input Validation** - All inputs are validated in real-time with helpful error messages
11
- ✅ **Preview Before Saving** - Review and edit your template before committing
12
- ✅ **Error Recovery** - Cancel at any step or retry on errors
13
-
14
- ## Creation Modes
15
-
16
- `template create` supports four modes. If you run it without flags, you are prompted to pick one:
17
-
18
- | Mode | Flag | Best for |
19
- |------|------|----------|
20
- | From existing template | `--from <name>` | Customizing a built-in or team template |
21
- | AI-assisted | `--ai` | Generating a first draft from a plain-language description |
22
- | Story Learner | `--from-stories <ids>` | Capturing proven patterns from real work items |
23
- | From scratch | `--scratch` | Full control via the interactive wizard |
24
-
25
- ---
26
-
27
- ## From an Existing Template
28
-
29
- Start from a built-in or previously installed catalog template and customise it. This is the quickest way to create a team-specific variant of a standard template.
30
-
31
- ```bash
32
- # See what's available
33
- atomize template list
34
-
35
- # Copy backend-api as a starting point
36
- atomize template create --from backend-api
37
- ```
38
-
39
- The wizard opens pre-populated with the source template's tasks, filter, and estimation settings. Edit what you need and save under a new name.
40
-
41
- ```bash
42
- # Skip the mode prompt and go straight to the wizard with a pre-filled template
43
- atomize template create --from backend-api --save-as my-backend-api
44
- ```
45
-
46
- > **Migrating from v1?** The `--preset` flag was replaced by `--from` in v2. `--from backend-api` is the direct equivalent of the old `--preset backend-api`.
47
-
48
- ---
49
-
50
- ## AI-Assisted Generation
51
-
52
- Describe the template you need in plain language and let the AI generate a first draft. You review, validate, and refine the result — the AI handles the structural boilerplate.
53
-
54
- ### Prerequisites
55
-
56
- You need a **GitHub Models** connection profile:
57
-
58
- ```bash
59
- atomize auth add my-ai
60
- # When prompted for profile type, select: GitHub Models
61
- # Enter your GitHub personal access token (models:read scope required)
62
- atomize auth test my-ai
63
- ```
64
-
65
- ### Basic AI generation
66
-
67
- ```bash
68
- atomize template create --ai
69
- ```
70
-
71
- You will be prompted to describe the template you want. Example prompt:
72
-
73
- ```
74
- Describe the template:
75
- › A template for backend API stories. Tasks should cover API design,
76
- database schema, core implementation, unit tests, integration tests,
77
- and a code review. Estimation split should reflect that implementation
78
- takes roughly twice the time of testing.
79
- ```
80
-
81
- Atomize sends your description to GitHub Models and returns a ready-to-review YAML template. You can accept it, edit it in the wizard, or regenerate with a refined prompt.
82
-
83
- ### Grounded generation
84
-
85
- Pass `--ground` to give the AI additional context from your actual Azure DevOps workspace — field names, common tags, work item types, and past story patterns. This produces output that fits your team's conventions without manual editing.
86
-
87
- ```bash
88
- atomize template create --ai --ground --profile work-ado
89
- ```
90
-
91
- Use `--ground` when:
92
- - Your ADO project uses custom fields or non-standard work item types
93
- - You want task titles and activity types to match your team's existing naming
94
- - You are generating a template that will run against real stories (not mock)
95
-
96
- Skip `--ground` when:
97
- - You are prototyping a generic template for testing
98
- - You do not have an ADO profile configured yet
99
-
100
- ### Specifying an AI profile
101
-
102
- If you have more than one GitHub Models profile, pass `--ai-profile` to select one:
103
-
104
- ```bash
105
- atomize template create --ai --ai-profile my-ai
106
- ```
107
-
108
- You can also set `ATOMIZE_AI_PROFILE` to avoid passing the flag every time.
109
-
110
- ### Post-generation workflow
111
-
112
- AI-generated templates are a starting point, not a finished product. Always:
113
-
114
- 1. **Review the generated YAML** — the wizard shows a full preview before saving.
115
- 2. **Validate:**
116
- ```bash
117
- atomize validate template:<name> --strict
118
- ```
119
- 3. **Test with mock data:**
120
- ```bash
121
- atomize generate template:<name> --platform mock
122
- ```
123
- 4. **Refine** — common things to adjust: estimation splits, task titles, filter criteria, `condition` fields.
124
-
125
- ### Troubleshooting
126
-
127
- **"No GitHub Models profile found"**
128
-
129
- You have not yet added a GitHub Models profile. Run `atomize auth add` and select GitHub Models as the profile type.
130
-
131
- **"AI generation failed"**
132
-
133
- - Run `atomize auth test <profile>` to verify the token is valid.
134
- - GitHub Models may be rate-limiting your token — wait a moment and retry.
135
- - If the error persists, try without `--ground` to rule out an ADO connectivity issue.
136
-
137
- **"Generated template does not validate"**
138
-
139
- The AI occasionally produces YAML that fails strict validation (e.g. estimation not summing to 100%). Open the template for editing from the preview screen and fix the flagged fields.
140
-
141
- ---
142
-
143
- ## Getting Started
144
-
145
- ### Basic Usage
146
-
147
- ```bash
148
- # Start the template creation wizard
149
- atomize template create --scratch
150
-
151
- # Or use the interactive mode selector
152
- atomize template create
153
- ```
154
-
155
- ## Wizard Steps
156
-
157
- ### Step 1: Basic Information
158
-
159
- Configure the fundamental properties of your template:
160
-
161
- - **Template Name** (required, max 200 chars)
162
- - Choose a clear, descriptive name
163
- - Example: "Backend API Development"
164
-
165
- - **Description** (optional, max 500 chars)
166
- - Detailed explanation of what this template is for
167
- - Example: "Template for developing RESTful API endpoints with tests"
168
-
169
- - **Author** (optional)
170
- - Your name or team name
171
- - Default: "Atomize"
172
-
173
- - **Tags** (optional)
174
- - Comma-separated tags for categorization
175
- - Example: "backend, api, development"
176
-
177
- **Validation:**
178
- - Template name cannot be empty
179
- - All fields respect maximum character limits
180
-
181
- ### Step 2: Filter Configuration
182
-
183
- Define which work items this template applies to.
184
-
185
- The wizard first asks **how you want to select work items**:
186
-
187
- ```
188
- How do you want to select work items?
189
- › Build a filter — choose types, states, tags, etc.
190
- Use a saved query — reference an existing Azure DevOps query by ID or path
191
- ```
192
-
193
- ---
194
-
195
- #### Option A: Build a filter (structured)
196
-
197
- **Basic Filters:**
198
- - **Work Item Types** - Select from common types or add custom ones
199
- - User Story, Bug, Task, Epic, Feature, Issue
200
-
201
- - **States** - Select which work item states should match
202
- - New, Active, Removed, Resolved, Closed
203
-
204
- - **Exclude if has tasks** - Prevent applying to items that already have tasks
205
-
206
- **Advanced Filters:**
207
- - Area paths
208
- - Iterations
209
- - Assigned to (email addresses)
210
- - Priority range (1-4)
211
- - Tags (include/exclude)
212
- - Custom fields
213
- - Custom WIQL query
214
-
215
- ---
216
-
217
- #### Option B: Use a saved query
218
-
219
- Reference an existing flat query saved in your Azure DevOps project. Atomize fetches the query's WIQL at run time and applies any supported post-filters on top of it.
220
-
221
- **Prompts:**
222
-
223
- 1. **Reference by path or ID?**
224
- ```
225
- How do you want to reference the saved query?
226
- › By path — e.g. Shared Queries/My Team/Open Stories
227
- By ID — paste the query's UUID
228
- ```
229
-
230
- 2. **Query path** (if path selected)
231
- ```
232
- Saved query path:
233
- › Shared Queries/My Team/Open Stories
234
- ```
235
- Run `atomize queries list` beforehand to discover available paths.
236
-
237
- 3. **Query ID** (if ID selected)
238
- ```
239
- Saved query ID (UUID):
240
- › xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
241
- ```
242
- Must be a valid UUID v4 (format: `xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`).
243
- Run `atomize queries list` to copy the exact ID from the table.
244
-
245
- 4. **Exclude if has tasks** - Prevent applying to items that already have tasks
246
- (Available even when using a saved query.)
247
-
248
- > **Tip:** Run `atomize queries list` to see all saved queries with their paths and IDs before creating a template.
249
- > ```bash
250
- > atomize queries list
251
- > atomize queries list --folder "Shared Queries/My Team"
252
- > ```
253
-
254
- **Rules:**
255
- - The referenced query must be a **flat list** query (not a tree or direct-links query).
256
- - The query must already exist in Azure DevOps — it is not created by Atomize.
257
- - You cannot specify both a path and an ID; the wizard enforces this automatically.
258
-
259
- ---
260
-
261
- **Validation:**
262
- - Warning shown if no filters are configured
263
- - Can continue with empty filter (will match all work items)
264
- - Mixed use of a saved query and structured filter fields produces a warning at generate time
265
-
266
- ### Step 3: Task Configuration
267
-
268
- Create the tasks that will be added to matching work items:
269
-
270
- **For Each Task:**
271
- - **Task ID** (optional, max 30 chars)
272
- - Unique identifier for dependencies
273
- - Example: "design-api"
274
-
275
- - **Title** (required, max 500 chars)
276
- - Clear, actionable task name
277
- - Example: "Design RESTful API endpoints"
278
-
279
- - **Description** (optional, max 2000 chars)
280
- - Detailed task description
281
-
282
- - **Estimation Percentage** (0-100)
283
- - What percentage of the story this task represents
284
- - Will be normalized to 100% total
285
-
286
- **Advanced Options** (optional):
287
- - Assignment (@ParentAssignee or specific email)
288
- - Activity type (Development, Testing, Design, etc.)
289
- - Acceptance criteria (with optional checklist format)
290
- - Tags
291
- - Dependencies (task IDs this task depends on)
292
- - Condition (structured task condition)
293
- - Custom fields (browse ADO task fields and store them by reference name)
294
- - Priority (1-4)
295
-
296
- **Validation:**
297
- - At least one task is required
298
- - All tasks must have titles
299
- - Estimation percentages validated (0-100)
300
- - Dependencies must reference valid task IDs
301
-
302
- **Custom field authoring:**
303
- - The wizard can fetch available task fields from ADO and present them by display name
304
- - Picklist fields use a constrained select prompt instead of free-form entry
305
- - When the same field exists on the parent story, the wizard can insert `{{ story.customFields['Reference.Name'] }}` as the task value
306
- - The saved template always stores the field reference name internally
307
-
308
- **Normalization:**
309
- If total estimation ≠ 100%, you'll be prompted to normalize:
310
- ```
311
- Total estimation is 80% (should be 100%)
312
- Normalize estimations to sum to 100%? (Y/n)
313
- ```
314
-
315
- **Edge Cases Handled:**
316
- - Single task → Automatically set to 100%
317
- - All tasks at 0% → Distributed equally
318
- - Decimal percentages → Rounded to integers
319
- - Remainder → Added to last task to ensure exactly 100%
320
-
321
- ### Step 4: Estimation Settings
322
-
323
- Configure how story points are calculated:
324
-
325
- - **Estimation Strategy**: percentage (default)
326
- - **Rounding**: nearest | up | down | none
327
- - **Minimum Task Points**: Minimum points per task (0 for no minimum)
328
-
329
- ### Step 5: Validation Rules (Optional)
330
-
331
- Add constraints to ensure template correctness:
332
-
333
- **Total Estimation Validation:**
334
- - Must equal 100%
335
- - Range (e.g., 95-105%)
336
- - No validation
337
-
338
- **Task Count Limits:**
339
- - Minimum number of tasks
340
- - Maximum number of tasks
341
-
342
- ### Step 6: Metadata (Optional)
343
-
344
- Add metadata to help others understand your template:
345
-
346
- - **Category** - e.g., "Backend Development"
347
- - **Difficulty** - beginner | intermediate | advanced
348
- - **Recommended For** - Comma-separated list
349
- - **Estimation Guidelines** - Free text guidance
350
-
351
- ## Preview and Save
352
-
353
- After completing all steps, you'll see a formatted preview:
354
-
355
- ```
356
- Template Preview
357
- ==================================================
358
-
359
- Basic Information:
360
- Name: Backend API Development
361
- Description: Template for RESTful API development
362
- Author: Development Team
363
- Tags: backend, api
364
-
365
- Filter Configuration:
366
- Work Item Types: User Story
367
- States: New, Active
368
- Excludes items that already have tasks
369
-
370
- Tasks (4):
371
- 1. Design API endpoints [20%] ████
372
- Design RESTful API endpoints
373
- 2. Implement endpoints [40%] ████████
374
- Implement API endpoints with validation
375
- 3. Write tests [25%] █████
376
- Write unit and integration tests
377
- 4. Documentation [15%] ███
378
- Document API endpoints and usage
379
-
380
- Total Estimation: 100% ✓
381
-
382
- Estimation Settings:
383
- Rounding: nearest
384
-
385
- What would you like to do?
386
- › Save template
387
- View full YAML
388
- Edit template
389
- Cancel
390
- ```
391
-
392
- ### Preview Actions
393
-
394
- 1. **Save template** - Proceed to final save confirmation
395
- 2. **View full YAML** - See the complete YAML representation
396
- 3. **Edit template** - Modify any section before saving
397
- 4. **Cancel** - Abort template creation
398
-
399
- ### Edit Mode
400
-
401
- If you choose "Edit template", you can modify:
402
- - Basic Information
403
- - Filter Configuration
404
- - Tasks (replaces all tasks)
405
- - Estimation Settings
406
- - Validation Rules
407
- - Metadata
408
-
409
- After editing, you'll return to the preview.
410
-
411
- ### Final Confirmation
412
-
413
- Before saving, one final prompt:
414
-
415
- ```
416
- 📋 Final confirmation before saving...
417
-
418
- Save this template? (Y/n)
419
- ```
420
-
421
- ## Edge Cases and Limits
422
-
423
- ### Character Limits
424
- - Template name: 200 characters
425
- - Template description: 500 characters
426
- - Task title: 500 characters
427
- - Task description: 2000 characters
428
- - Task ID: 30 characters
429
-
430
- ### Special Characters
431
- All special characters are supported:
432
- - Unicode characters (你好, emoji)
433
- - HTML-like content (escaped automatically)
434
- - Quotes (single and double)
435
- - Special symbols (!@#$%^&*)
436
-
437
- ### Maximum Limits
438
- - Tasks: No hard limit, but warning shown after 20 tasks
439
- - Tags: No limit
440
- - Acceptance criteria: No limit
441
- - Dependencies: No limit (must be valid task IDs)
442
-
443
- ### Estimation Edge Cases
444
-
445
- #### Single Task with 100%
446
- ```
447
- Input: 1 task with 50%
448
- Output: 1 task with 100%
449
- ```
450
-
451
- #### Multiple Tasks with 0%
452
- ```
453
- Input: 3 tasks with 0% each
454
- Output: Tasks with 34%, 33%, 33%
455
- ```
456
-
457
- #### Decimal Percentages
458
- ```
459
- Input: 3 tasks with 33.33% each
460
- Output: Tasks with 33%, 33%, 34% (totaling 100%)
461
- ```
462
-
463
- #### Very Small Values
464
- ```
465
- Input: 3 tasks with 0.1%, 0.2%, 0.3%
466
- Output: Tasks scaled proportionally to 100%
467
- ```
468
-
469
- ## Error Handling
470
-
471
- ### Validation Errors
472
-
473
- Clear error messages for all validation failures:
474
-
475
- ```
476
- ✗ Configuration error: At least one task is required.
477
- Please add tasks to your template.
478
- ```
479
-
480
- ```
481
- ✗ Configuration error: Template name is required
482
- ```
483
-
484
- ```
485
- ✗ Configuration error: 2 task(s) are missing titles.
486
- All tasks must have a title.
487
- ```
488
-
489
- ### Cancellation
490
-
491
- You can cancel at any step:
492
-
493
- ```
494
- ⚠ Template creation cancelled
495
- ```
496
-
497
- No files are created or modified when you cancel.
498
-
499
- ### Retry on Error
500
-
501
- If an error occurs during task configuration, you'll be prompted:
502
-
503
- ```
504
- Error configuring tasks: [error message]
505
-
506
- Try again? (Y/n)
507
- ```
508
-
509
- ## Examples
510
-
511
- ### Example 1: Simple Backend Template
512
-
513
- ```bash
514
- atomize template create --scratch
515
-
516
- # Step 1: Basic Information
517
- Template name: Backend API
518
- Description: Simple backend API development
519
- Author: Dev Team
520
- Tags: backend, api
521
-
522
- # Step 2: Filter
523
- Work Item Types: [User Story]
524
- States: [New, Active]
525
- Exclude if has tasks: Yes
526
-
527
- # Step 3: Tasks
528
- Task 1:
529
- Title: Design API
530
- Estimation: 30%
531
-
532
- Task 2:
533
- Title: Implement API
534
- Estimation: 50%
535
-
536
- Task 3:
537
- Title: Write Tests
538
- Estimation: 20%
539
-
540
- # Normalize? Yes
541
- # → Tasks normalized to 30%, 50%, 20% (already 100%)
542
-
543
- # Step 4: Estimation
544
- Rounding: nearest
545
- Minimum points: 0
546
-
547
- # Step 5: Validation
548
- Add validation? No
549
-
550
- # Step 6: Metadata
551
- Add metadata? No
552
-
553
- # Preview → Save → Confirm
554
- ```
555
-
556
- ### Example 2: Saved Query Filter
557
-
558
- ```bash
559
- atomize queries list --folder "Shared Queries"
560
-
561
- atomize template create --scratch
562
-
563
- # Step 2: Filter Configuration
564
- How do you want to select work items?
565
- › Use a saved query
566
-
567
- Reference by path or ID?
568
- › By path
569
-
570
- Saved query path:
571
- › Shared Queries/My Team/Open Stories
572
-
573
- Exclude if has tasks: Yes
574
-
575
- # Continue with Steps 3–6 as normal
576
- ```
577
-
578
- The generated YAML will include:
579
-
580
- ```yaml
581
- filter:
582
- savedQuery:
583
- path: "Shared Queries/My Team/Open Stories"
584
- excludeIfHasTasks: true
585
- ```
586
-
587
- ---
588
-
589
- ### Example 3: Complex Template with Dependencies
590
-
591
- ```bash
592
- atomize template create --scratch
593
-
594
- # Step 3: Tasks with dependencies
595
- Task 1:
596
- ID: design
597
- Title: API Design
598
- Estimation: 20%
599
- Advanced: Yes
600
- Activity: Design
601
-
602
- Task 2:
603
- ID: implement
604
- Title: Implementation
605
- Estimation: 40%
606
- Advanced: Yes
607
- Depends on: design
608
- Activity: Development
609
-
610
- Task 3:
611
- ID: test
612
- Title: Testing
613
- Estimation: 30%
614
- Advanced: Yes
615
- Depends on: implement
616
- Activity: Testing
617
- Acceptance criteria:
618
- - All endpoints return correct status codes
619
- - All edge cases are covered
620
- Display as checklist: Yes
621
-
622
- Task 4:
623
- ID: docs
624
- Title: Documentation
625
- Estimation: 10%
626
- Advanced: Yes
627
- Depends on: implement
628
- Activity: Documentation
629
- ```
630
-
631
- ## Best Practices
632
-
633
- ### Naming
634
- - Use descriptive, specific names
635
- - Include the domain/area (e.g., "Backend", "Frontend", "DevOps")
636
- - Keep names concise but meaningful
637
-
638
- ### Task Breakdown
639
- - Break work into 3-8 tasks typically
640
- - Each task should be independently testable
641
- - Use task IDs for dependencies
642
- - Set realistic estimation percentages
643
-
644
- ### Filters
645
- - Be specific to avoid accidental matches
646
- - Use "excludeIfHasTasks" to prevent duplicate applications
647
- - Test filters with your actual work items
648
- - Prefer **saved queries** when your team already maintains a query in Azure DevOps — it keeps filter logic in one place
649
- - Run `atomize queries list` to explore available queries before creating a template
650
-
651
- ### Estimation
652
- - Use percentage-based for flexibility
653
- - Choose rounding strategy based on your workflow
654
- - Consider setting minimum task points to avoid 0-point tasks
655
-
656
- ### Validation
657
- - Use validation rules for critical templates
658
- - Set task count limits for consistency
659
- - Require 100% estimation for production templates
660
-
661
- ## Troubleshooting
662
-
663
- ### Template won't save
664
- - Check for validation errors in preview
665
- - Ensure at least one task exists
666
- - Verify all required fields are filled
667
-
668
- ### Estimation doesn't sum to 100%
669
- - Use the normalization feature when prompted
670
- - Check for decimal values that may round incorrectly
671
- - Verify all tasks have estimation percentages
672
-
673
- ### Dependencies not working
674
- - Ensure task IDs are unique
675
- - Check that dependent task IDs exist
676
- - Dependencies must reference tasks in the same template
677
-
678
- ### Special characters causing issues
679
- - All unicode and special characters are supported
680
- - If issues persist, check your terminal encoding
681
-
682
- ## Command-Line Options
683
-
684
- | Flag | Description |
685
- |------|-------------|
686
- | `--from <name>` | Start from an existing catalog template |
687
- | `--from-stories <ids>` | Learn from existing stories (comma-separated IDs) |
688
- | `--ai` | AI-assisted generation |
689
- | `--ground` | Ground AI generation with ADO workspace context (requires `--ai`) |
690
- | `--ai-profile <name>` | GitHub Models profile to use for AI (uses default if omitted) |
691
- | `--scratch` | Go directly to the interactive wizard |
692
- | `--type <type>` | Create a `template` or `mixin` |
693
- | `--save-as <name>` | Catalog name for the saved result |
694
- | `--profile <name>` | ADO profile for `--from-stories` and field suggestions |
695
-
696
- ## Related Commands
697
-
698
- ```bash
699
- # List available catalog templates and mixins
700
- atomize template list
701
-
702
- # Validate a template before using it
703
- atomize validate template:<name> --strict
704
-
705
- # Test with mock data (no ADO connection needed)
706
- atomize generate template:<name> --platform mock
707
-
708
- # Generate for real
709
- atomize generate template:<name> --execute
710
-
711
- # Discover saved queries (useful before configuring a savedQuery filter)
712
- atomize queries list
713
- atomize queries list --folder "Shared Queries/My Team"
714
- ```
715
-
716
- After creating your template:
717
-
718
- 1. **Validate it:**
719
- ```bash
720
- atomize validate template:<name> --strict
721
- ```
722
-
723
- 2. **Test with mock data:**
724
- ```bash
725
- atomize generate template:<name> --platform mock
726
- ```
727
-
728
- 3. **Review generated tasks** before applying to production:
729
- ```bash
730
- atomize generate template:<name> --verbose
731
- ```
732
-
733
- ## Support
734
-
735
- For issues or questions:
736
- - GitHub: https://github.com/Simao-Pereira-Gomes/Atomize/issues
737
- - Check validation output for detailed error messages
738
- - Review the template YAML for syntax issues