@sppg2001/atomize 1.0.3 โ†’ 1.2.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/.env.example CHANGED
@@ -1,3 +1,17 @@
1
- AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-org
2
- AZURE_DEVOPS_PROJECT=YourProject
3
- AZURE_DEVOPS_PAT=your-personal-access-token
1
+ # Atomize environment variables
2
+ #
3
+ # These can be set in your shell profile (~/.zshrc, ~/.bashrc) or passed
4
+ # explicitly via: atomize --env-file /path/to/.env <command>
5
+ #
6
+ # Shell environment always takes precedence over --env-file values.
7
+
8
+ # Personal Access Token used by `atomize auth add` when running non-interactively.
9
+ # Prefer setting this in your CI/CD platform's secrets store rather than a .env file.
10
+ # ATOMIZE_PAT=your-personal-access-token
11
+
12
+ # Default connection profile to use when --profile is not specified.
13
+ # Run `atomize auth list` to see available profiles.
14
+ # ATOMIZE_PROFILE=work-ado
15
+
16
+ # Winston log level: error, warn, info, debug (default: warn).
17
+ # LOG_LEVEL=warn
package/README.md CHANGED
@@ -7,27 +7,28 @@
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 preset templates, story learning, 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
+ - **Preset Templates** - Start with battle-tested templates for common workflows
19
+ - **Story Learning** - Generate templates by analyzing your existing work items (single or multiple stories)
20
+ - **Pattern Detection** - Identify common task patterns across multiple stories with confidence scoring
21
+ - **Smart Estimation** - Automatically distribute story points across tasks with conditional percentage support
22
+ - **Strict & Lenient Validation** - Flexible QA modes to enforce template quality
23
+ - **Azure DevOps Integration** - Native support with WIQL queries and full field mapping
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
27
+ - **CI/CD Ready** - Automation-friendly with JSON report output
27
28
 
28
29
  ---
29
30
 
30
- ## ๐Ÿ“ฆ Installation
31
+ ## Installation
31
32
 
32
33
  ### Global Installation (Recommended)
33
34
 
@@ -52,43 +53,59 @@ bun run dev
52
53
 
53
54
  ---
54
55
 
55
- ## ๐ŸŽฏ Quick Start
56
+ ## Quick Start
57
+
58
+ ### 1. Connect to Azure DevOps
59
+
60
+ ```bash
61
+ # Add your first connection profile (interactive wizard)
62
+ atomize auth add work-ado
63
+
64
+ # Verify it works
65
+ atomize auth test work-ado
66
+ ```
67
+
68
+ You'll be prompted for your Organization URL, project, team, and a [Personal Access Token](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate).
56
69
 
57
- ### 1. Generate Tasks from a Template
70
+ ### 2. Generate Tasks from a Template
58
71
 
59
72
  ```bash
60
- # Use a preset template
73
+ # Use a preset template (dry-run by default โ€” safe to try)
61
74
  atomize generate templates/backend-api.yaml
62
75
 
63
- # Interactive mode
76
+ # When ready to create tasks for real
77
+ atomize generate templates/backend-api.yaml --execute
78
+
79
+ # Interactive mode (prompts for everything)
64
80
  atomize generate
65
81
  ```
66
82
 
67
- ### 2. Create Your First Template
83
+ ### 3. Create Your First Template
68
84
 
69
85
  ```bash
70
- # AI-powered creation (free!)
71
- atomize template create --ai "Backend API with authentication"
72
-
73
86
  # From a preset
74
87
  atomize template create --preset backend-api
75
88
 
76
- # Learn from an existing story
77
- atomize template create --from-story STORY-123
89
+ # Learn from multiple stories (better pattern detection)
90
+ atomize template create --from-stories STORY-1,STORY-2,STORY-3
78
91
 
79
92
  # Step-by-step wizard
80
93
  atomize template create --scratch
81
94
  ```
82
95
 
83
- ### 3. Validate a Template
96
+ ### 4. Validate a Template
84
97
 
85
98
  ```bash
99
+ # Lenient mode (default) โ€” only hard errors block use
86
100
  atomize validate templates/my-template.yaml
101
+
102
+ # Strict mode โ€” warnings also become errors
103
+ atomize validate templates/my-template.yaml --strict
87
104
  ```
88
105
 
89
106
  ---
90
107
 
91
- ## ๐Ÿ“– Usage Guide
108
+ ## Usage Guide
92
109
 
93
110
  ### Generate Command
94
111
 
@@ -104,16 +121,29 @@ atomize generate templates/backend-api.yaml \
104
121
  --execute \
105
122
  --verbose
106
123
 
107
- # Dry run (preview only)
108
- atomize generate templates/backend-api.yaml --dry-run
124
+ # Dry run (default โ€” no --execute needed)
125
+ atomize generate templates/backend-api.yaml
126
+
127
+ # CI/CD mode with JSON report
128
+ atomize generate templates/backend-api.yaml \
129
+ --execute \
130
+ --yes \
131
+ --output report.json
109
132
  ```
110
133
 
111
- **Options:**
112
- - `--platform <type>` - Platform to use (azure-devops, mock)
113
- - `--execute` - Actually create tasks (default is dry-run)
114
- - `--dry-run` - Preview without creating tasks
134
+ **Key Options:**
135
+ - `--platform <type>` - Platform: `azure-devops` or `mock`
136
+ - `--profile <name>` - Named connection profile to use (see `atomize auth add`)
137
+ - `--execute` - Actually create tasks (default is dry-run preview)
138
+ - `-y, --yes` - Required with `--execute` in non-interactive mode to acknowledge live task creation
115
139
  - `--continue-on-error` - Keep processing if errors occur
140
+ - `--story-concurrency <n>` - Parallel story processing (default: 3, max: 10)
141
+ - `--task-concurrency <n>` - Parallel task creation per story (default: 5, max: 20)
142
+ - `--dependency-concurrency <n>` - Parallel dependency link creation (default: 5, max: 10)
116
143
  - `--verbose` - Show detailed output
144
+ - `-o, --output <file>` - Write JSON report to file
145
+
146
+ In non-interactive mode, `--execute` now requires `--yes`. This prevents unattended task creation from wrapper scripts or CI jobs that did not explicitly acknowledge the mutation.
117
147
 
118
148
  **Example Output:**
119
149
  ```
@@ -133,14 +163,13 @@ Summary:
133
163
  #### Create a Template
134
164
 
135
165
  ```bash
136
- # AI-powered (best for quick starts)
137
- atomize template create --ai "Create template for React component development"
138
-
139
166
  # From preset (fastest)
140
167
  atomize template create --preset frontend-feature
141
168
 
142
- # Learn from story (best for matching your workflow)
143
- atomize template create --from-story STORY-456 --platform azure-devops
169
+ # Learn from multiple stories (best pattern detection)
170
+ atomize template create \
171
+ --from-stories STORY-1,STORY-2,STORY-3 \
172
+ --output my-templates/learned.yaml
144
173
 
145
174
  # Interactive wizard (most control)
146
175
  atomize template create --scratch
@@ -149,7 +178,7 @@ atomize template create --scratch
149
178
  #### List Available Presets
150
179
 
151
180
  ```bash
152
- atomize template list
181
+ atomize template presets
153
182
  ```
154
183
 
155
184
  **Available Presets:**
@@ -163,13 +192,13 @@ atomize template list
163
192
  ```bash
164
193
  atomize validate templates/my-template.yaml
165
194
 
166
- # With detailed output
167
- atomize validate templates/my-template.yaml --verbose
195
+ # Strict mode โ€” warnings become errors (recommended for team/production templates)
196
+ atomize validate templates/my-template.yaml --strict --verbose
168
197
  ```
169
198
 
170
199
  ---
171
200
 
172
- ## ๐Ÿ—๏ธ Template Structure
201
+ ## Template Structure
173
202
 
174
203
  Templates are YAML files that define how to break down user stories into tasks.
175
204
 
@@ -200,19 +229,16 @@ tasks:
200
229
  description: "Implement business logic and validation"
201
230
  estimationPercent: 40
202
231
  activity: "Development"
203
- tags: ["implementation"]
204
232
 
205
233
  - title: "Write Tests"
206
234
  description: "Unit and integration tests"
207
235
  estimationPercent: 30
208
236
  activity: "Testing"
209
- tags: ["testing"]
210
237
 
211
238
  - title: "Code Review & Documentation"
212
239
  description: "Review and document the implementation"
213
240
  estimationPercent: 15
214
241
  activity: "Documentation"
215
- tags: ["review", "docs"]
216
242
 
217
243
  # Estimation settings
218
244
  estimation:
@@ -229,12 +255,16 @@ validation:
229
255
  ### Template Features
230
256
 
231
257
  #### 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
258
+
259
+ ```yaml
260
+ - title: "Design: ${story.title}"
261
+ - description: "Story ${story.id}: ${story.description}"
262
+ ```
263
+
264
+ Available variables: `${story.title}`, `${story.id}`, `${story.description}`, `${story.estimation}`, `${story.tags}`
236
265
 
237
266
  #### Task Assignment
267
+
238
268
  ```yaml
239
269
  assignTo: "@ParentAssignee" # Inherit from story
240
270
  assignTo: "@Me" # Current user
@@ -242,13 +272,29 @@ assignTo: "user@email.com" # Specific user
242
272
  ```
243
273
 
244
274
  #### Conditional Tasks
275
+
245
276
  ```yaml
246
277
  - title: "Security Review"
247
278
  estimationPercent: 10
248
279
  condition: '${story.tags} CONTAINS "security"'
249
280
  ```
250
281
 
282
+ #### Conditional Estimation (v1.1)
283
+
284
+ Adapt task percentage based on story properties. First matching rule wins; `estimationPercent` is the fallback.
285
+
286
+ ```yaml
287
+ - title: "Implementation"
288
+ estimationPercent: 50 # Default
289
+ estimationPercentCondition:
290
+ - condition: '${story.tags} CONTAINS "critical"'
291
+ percent: 60 # More weight for critical stories
292
+ - condition: "${story.estimation} >= 13"
293
+ percent: 55 # More work for large stories
294
+ ```
295
+
251
296
  #### Task Dependencies
297
+
252
298
  ```yaml
253
299
  tasks:
254
300
  - id: "design"
@@ -258,82 +304,78 @@ tasks:
258
304
  - id: "implement"
259
305
  title: "Implementation"
260
306
  estimationPercent: 60
261
- dependsOn: ["design"] # Must complete design first
307
+ dependsOn: ["design"] # Must complete design first
262
308
  ```
263
309
 
264
310
  ---
265
311
 
266
- ## ๐Ÿค– AI-Powered Template Creation
312
+ ## Platform Setup
267
313
 
268
- Atomize supports two free AI providers for template generation:
314
+ ### Azure DevOps
269
315
 
270
- ### Google Gemini (Cloud - Recommended)
316
+ 1. **Get a Personal Access Token (PAT)**
317
+ - Go to: `https://dev.azure.com/[your-org]/_usersSettings/tokens`
318
+ - Create token with `Work Items (Read, Write)` scope
271
319
 
272
- 1. Get a free API key: https://makersuite.google.com/app/apikey
273
- 2. Set environment variable:
320
+ 2. **Save a connection profile**
274
321
  ```bash
275
- export GOOGLE_AI_API_KEY="your-key-here"
322
+ atomize auth add work-ado
323
+ # Prompts for org URL, project, team, and PAT
276
324
  ```
277
- 3. Create templates:
278
- ```bash
279
- atomize template create --ai "Backend API with OAuth authentication"
280
- ```
281
-
282
- ### Ollama (Local - Complete Privacy)
283
325
 
284
- 1. Install Ollama: https://ollama.ai
285
- 2. Download a model:
326
+ 3. **Test the connection**
286
327
  ```bash
287
- ollama pull llama3.2
328
+ atomize auth test work-ado
288
329
  ```
289
- 3. Start the service:
290
- ```bash
291
- ollama serve
292
- ```
293
- 4. Create templates:
330
+
331
+ 4. **Generate tasks**
294
332
  ```bash
295
- atomize template create --ai-provider ollama --ai "Mobile-first React component"
333
+ # Use the profile explicitly
334
+ atomize generate templates/backend-api.yaml --profile work-ado
335
+
336
+ # Or set it as default once
337
+ atomize auth use work-ado
338
+ atomize generate templates/backend-api.yaml
296
339
  ```
297
340
 
298
- ### AI Tips
341
+ See `atomize auth --help` for all profile management commands (`list`, `remove`, `rotate`).
299
342
 
300
- - Be specific: "Backend API with JWT auth, rate limiting, and PostgreSQL"
301
- - Mention your tech stack: "React component with TypeScript and Tailwind CSS"
302
- - Specify testing requirements: "Include unit tests and E2E tests"
303
- - Refine iteratively: Use the refine option to adjust the generated template
343
+ ### Mock Platform (Testing)
304
344
 
305
- ---
345
+ ```bash
346
+ atomize generate templates/backend-api.yaml --platform mock
347
+ ```
306
348
 
307
- ## ๐Ÿ”— Platform Setup
349
+ No configuration required. Includes 7 built-in sample stories.
308
350
 
309
- ### Azure DevOps
351
+ ---
310
352
 
311
- 1. **Get a Personal Access Token (PAT)**
312
- - Go to: `https://dev.azure.com/[your-org]/_usersSettings/tokens`
313
- - Create token with `Work Items (Read, Write)` scope
353
+ ## Strict vs Lenient Validation
314
354
 
315
- 2. **Configure Environment Variables**
316
- ```bash
317
- export AZURE_DEVOPS_ORG_URL="https://dev.azure.com/your-org"
318
- export AZURE_DEVOPS_PROJECT="YourProject"
319
- export AZURE_DEVOPS_PAT="your-personal-access-token"
320
- ```
355
+ Atomize has two validation modes:
321
356
 
322
- 3. **Or Use Interactive Setup**
323
- ```bash
324
- atomize generate templates/backend-api.yaml
325
- # CLI will prompt for configuration
326
- ```
327
-
328
- ### Mock Platform (Testing)
357
+ | Mode | Warnings | Best For |
358
+ |------|----------|----------|
359
+ | **Lenient** (default) | Non-blocking | Development, personal templates |
360
+ | **Strict** | Treated as errors | Team templates, CI/CD pipelines |
329
361
 
330
362
  ```bash
331
- atomize generate templates/backend-api.yaml --platform mock
363
+ # Default (lenient) โ€” only hard errors block use
364
+ atomize validate my-template.yaml
365
+
366
+ # Strict โ€” warnings also fail validation
367
+ atomize validate my-template.yaml --strict
368
+ ```
369
+
370
+ You can also set the mode in the template itself:
371
+ ```yaml
372
+ validation:
373
+ mode: "strict"
332
374
  ```
333
375
 
334
376
  ---
335
377
 
336
- ## Real-World Examples
378
+ ## Real-World Examples
337
379
 
338
380
  ### Example 1: Backend API Feature
339
381
 
@@ -349,53 +391,133 @@ atomize generate templates/backend-api.yaml --platform mock
349
391
 
350
392
  **Total:** 10 story points perfectly distributed
351
393
 
352
- ## ๐Ÿ› ๏ธ Advanced Usage
394
+ ### Example 2: Multi-Story Learning
353
395
 
354
- ### Custom Filters
396
+ ```bash
397
+ # Learn from your team's best stories
398
+ atomize template create \
399
+ --from-stories STORY-100,STORY-115,STORY-132,STORY-148 \
400
+ --platform azure-devops \
401
+ --output team-templates/backend-standard.yaml
402
+
403
+ # Validate the learned template
404
+ atomize validate team-templates/backend-standard.yaml --strict
405
+
406
+ # Apply it
407
+ atomize generate team-templates/backend-standard.yaml --execute
408
+ ```
409
+
410
+ ---
411
+
412
+ ## Advanced Usage
355
413
 
356
- Filter stories with precise criteria:
414
+ ### Custom Filters
357
415
 
358
416
  ```yaml
359
417
  filter:
418
+ team: "Backend Team" # Override team (replaces AZURE_DEVOPS_TEAM env var)
360
419
  workItemTypes: ["User Story", "Bug"]
361
420
  states: ["New", "Approved"]
421
+ statesExclude: ["Done", "Removed"] # Exclude items in these states
422
+ statesWereEver: ["In Review"] # Items that were ever in these states
362
423
  tags:
363
424
  include: ["backend"]
364
425
  exclude: ["deprecated"]
365
- areaPaths: ["MyProject\\Backend\\API"]
366
- iterations: ["Sprint 23", "Sprint 24"]
367
- assignedTo: ["john@company.com", "jane@company.com"]
426
+ areaPaths: ["MyProject\\Backend\\API"] # Exact match
427
+ areaPathsUnder: ["MyProject\\Backend"] # Match and all sub-areas
428
+ iterations: ["@CurrentIteration"] # Current sprint
429
+ iterationsUnder: ["MyProject\\Release 2"] # All sprints under a release
430
+ assignedTo: ["@Me", "jane@company.com"]
431
+ changedAfter: "@Today-7" # Changed in the last 7 days
432
+ createdAfter: "@Today-30" # Created in the last 30 days
368
433
  priority:
369
434
  min: 1
370
435
  max: 2
371
436
  excludeIfHasTasks: true
437
+ customFields:
438
+ - field: "Custom.Team"
439
+ operator: "equals"
440
+ value: "Platform Engineering"
372
441
  ```
373
442
 
374
- ### Estimation Strategies
443
+ ### Estimation Settings
375
444
 
376
445
  ```yaml
377
446
  estimation:
378
- strategy: "percentage" # Distribute story points by percentage
379
- rounding: "nearest" # nearest, up, down, none
380
- minimumTaskPoints: 0.5 # Minimum points per task
447
+ strategy: "percentage" # Distribute story points by percentage
448
+ rounding: "nearest" # nearest, up, down, none
449
+ minimumTaskPoints: 0.5 # Minimum points per task
450
+ ifParentHasNoEstimation: "skip" # skip, warn, use-default
381
451
  ```
382
452
 
383
- ### Learning from Existing Stories
453
+ ### Environment Variables
454
+
455
+ | Variable | Description | Default |
456
+ |---|---|---|
457
+ | `ATOMIZE_PROFILE` | Default connection profile when `--profile` is not specified | _(none)_ |
458
+ | `LOG_LEVEL` | Log verbosity: `error`, `warn`, `info`, `debug` | `warn` |
459
+
460
+ #### macOS / Linux
461
+
462
+ Add to your shell profile (`~/.zshrc`, `~/.bashrc`, etc.) and restart your terminal:
384
463
 
385
464
  ```bash
386
- # Analyze a story and create a template
387
- atomize template create --from-story STORY-123
465
+ export ATOMIZE_PROFILE=work-ado # Default connection profile
466
+ export LOG_LEVEL=warn # Log verbosity (optional)
467
+ ```
468
+
469
+ #### Windows (PowerShell)
470
+
471
+ To persist across sessions, set them as user environment variables:
472
+
473
+ ```powershell
474
+ [Environment]::SetEnvironmentVariable("ATOMIZE_PROFILE", "work-ado", "User")
475
+ [Environment]::SetEnvironmentVariable("LOG_LEVEL", "warn", "User")
476
+ ```
477
+
478
+ Or for the current session only:
479
+
480
+ ```powershell
481
+ $env:ATOMIZE_PROFILE = "work-ado"
482
+ $env:LOG_LEVEL = "warn"
483
+ ```
388
484
 
389
- # With percentage normalization
390
- atomize template create --from-story STORY-123 --normalize
485
+ #### Windows (Command Prompt)
391
486
 
392
- # Keep original percentages
393
- atomize template create --from-story STORY-123 --no-normalize
487
+ For the current session only:
488
+
489
+ ```cmd
490
+ set ATOMIZE_PROFILE=work-ado
491
+ set LOG_LEVEL=warn
492
+ ```
493
+
494
+ To persist, use **System Properties โ†’ Environment Variables** or `setx`:
495
+
496
+ ```cmd
497
+ setx ATOMIZE_PROFILE "work-ado"
498
+ ```
499
+
500
+ > **Note:** `setx` changes take effect in new terminal windows, not the current one.
501
+
502
+ #### Using `--env-file` for explicit file-based config
503
+
504
+ If you prefer file-based configuration (e.g. in CI/CD), pass `--env-file` explicitly:
505
+
506
+ ```bash
507
+ # macOS / Linux
508
+ atomize --env-file ~/.config/atomize.env generate templates/backend-api.yaml
509
+
510
+ # Windows (PowerShell)
511
+ atomize --env-file $env:USERPROFILE\.config\atomize.env generate templates/backend-api.yaml
394
512
  ```
395
513
 
514
+ Shell environment variables always take precedence over values in the file, so it is safe to use `--env-file` as a fallback without risk of overriding real environment config.
515
+
516
+ See `.env.example` in the repository for a documented template.
517
+
396
518
  ---
397
519
 
398
- ## ๐Ÿงช Testing
520
+ ## Testing
399
521
 
400
522
  ```bash
401
523
  # Run all tests
@@ -414,65 +536,38 @@ bun test --watch
414
536
  ### Development Setup
415
537
 
416
538
  ```bash
417
- # Clone the repository
418
539
  git clone https://github.com/Simao-Pereira-Gomes/atomize.git
419
540
  cd atomize
420
-
421
- # Install dependencies
422
541
  bun install
423
-
424
- # Run in development mode
425
542
  bun run dev
426
-
427
- # Run tests
428
543
  bun test
429
-
430
- # Build
431
544
  bun run build
432
545
  ```
433
546
 
434
547
  ---
435
548
 
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
549
+ ## Troubleshooting
445
550
 
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
- ---
551
+ ### "Not authenticated" error
459
552
 
460
- ## ๐Ÿ› Troubleshooting
553
+ ```bash
554
+ # Check what profiles are saved
555
+ atomize auth list
461
556
 
462
- ### Common Issues
557
+ # Add a profile if none exist
558
+ atomize auth add work-ado
463
559
 
464
- **"Not authenticated" error**
465
- ```bash
466
- # Make sure environment variables are set
467
- echo $AZURE_DEVOPS_PAT
560
+ # Test the profile
561
+ atomize auth test work-ado
468
562
 
469
- # Or use interactive mode
470
- atomize generate --interactive
563
+ # Use it explicitly
564
+ atomize generate templates/backend-api.yaml --profile work-ado
471
565
  ```
472
566
 
473
- **"Template validation failed"**
567
+ ### "Template validation failed"
568
+
474
569
  ```bash
475
- # Check your template
570
+ # Get detailed output
476
571
  atomize validate templates/my-template.yaml --verbose
477
572
 
478
573
  # Common issues:
@@ -481,24 +576,27 @@ atomize validate templates/my-template.yaml --verbose
481
576
  # - Missing required fields
482
577
  ```
483
578
 
484
- **AI provider not available**
485
- ```bash
486
- # For Gemini
487
- export GOOGLE_AI_API_KEY="your-key"
579
+ ---
488
580
 
489
- # For Ollama
490
- ollama serve # Must be running
491
- ollama pull llama3.2 # Model must be downloaded
492
- ```
581
+ ## Documentation
582
+
583
+ - [Getting Started](./docs/Getting-Started.md) - First steps and core concepts
584
+ - [CLI Reference](./docs/Cli-Reference.md) - Complete command and flag reference
585
+ - [Template Reference](./docs/Template-Reference.md) - Full template schema
586
+ - [Validation Modes](./docs/Validation-Modes.md) - Strict vs lenient explained
587
+ - [Story Learner](./docs/Story-Learner.md) - Generate templates from existing stories
588
+ - [Common Validation Errors](./docs/Common-Validation-Errors.md) - Fix validation failures
589
+ - [Platform Guide](./docs/Platform-Guide.md) - Azure DevOps setup
590
+ - [Template Wizard Guide](./docs/template-wizard-guide.md) - Interactive wizard walkthrough
493
591
 
494
592
  ---
495
593
 
496
- ## ๐Ÿ“„ License
594
+ ## License
497
595
 
498
596
  MIT License - see [LICENSE](LICENSE) file for details
499
597
 
500
- ## ๐Ÿ“ง Support
598
+ ## Support
501
599
 
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)
600
+ - [Report a Bug](https://github.com/Simao-Pereira-Gomes/atomize/issues)
601
+ - [Request a Feature](https://github.com/Simao-Pereira-Gomes/atomize/issues)
602
+ - [Discussions](https://github.com/Simao-Pereira-Gomes/atomize/discussions)