@sppg2001/atomize 2.0.0-alpha.0 → 2.0.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.
Files changed (28) hide show
  1. package/README.md +94 -555
  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 +89700 -88084
  10. package/package.json +13 -13
  11. package/LICENSE +0 -21
  12. package/docs/Auth-Guide.md +0 -257
  13. package/docs/Cli-Reference.md +0 -962
  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
package/README.md CHANGED
@@ -1,617 +1,156 @@
1
- # Atomize
1
+ # Atomize CLI
2
2
 
3
- [![CI](https://github.com/Simao-Pereira-Gomes/atomize/actions/workflows/ci.yml/badge.svg)](https://github.com/Simao-Pereira-Gomes/atomize/actions/workflows/ci.yml)
4
- [![CodeQL](https://github.com/Simao-Pereira-Gomes/atomize/actions/workflows/codeql.yml/badge.svg)](https://github.com/Simao-Pereira-Gomes/atomize/actions/workflows/codeql.yml)
5
- [![NPM Version](https://img.shields.io/npm/v/@sppg2001/atomize)](https://www.npmjs.com/package/@sppg2001/atomize)
6
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
- [![Node Version](https://img.shields.io/node/v/@sppg2001/atomize)](https://nodejs.org)
8
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue.svg)](https://www.typescriptlang.org/)
3
+ Atomize CLI turns stories into consistent child tasks using reusable YAML templates. It supports template validation, safe previews, confirmed task generation, connection profile management, template catalog operations, and CI/CD automation.
9
4
 
10
- > **Pre-release:** This is 2.0.0-alpha.0 — give it a try! If you hit a blocker, you can fall back to the latest stable release with `npm install -g @sppg2001/atomize`.
11
- > Feedback and bug reports welcome via [GitHub Issues](https://github.com/Simao-Pereira-Gomes/atomize/issues).
5
+ Atomize is designed around platform adapters. Today, connected generation supports Azure DevOps. Mock is available for offline testing.
12
6
 
13
- **Break down stories, build up velocity.**
14
-
15
- 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.
16
-
17
- ---
18
-
19
- ## Features
20
-
21
- - **Preset Templates** - Start with battle-tested templates for common workflows
22
- - **Story Learning** - Generate templates by analyzing your existing work items (single or multiple stories)
23
- - **Pattern Detection** - Identify common task patterns across multiple stories with confidence scoring
24
- - **Smart Estimation** - Automatically distribute story points across tasks with conditional percentage support
25
- - **Strict & Lenient Validation** - Flexible QA modes to enforce template quality
26
- - **Azure DevOps Integration** - Native support with WIQL queries and full field mapping
27
- - **Zero Config** - Works out of the box with sensible defaults
28
- - **Interactive Wizards** - User-friendly prompts guide you through everything
29
- - **Built-in Validation** - Catch template errors before they cause problems
30
- - **CI/CD Ready** - Automation-friendly with JSON report output
31
-
32
- ---
33
-
34
- ## Installation
35
-
36
- ### Global Installation (Recommended)
7
+ ## Install
37
8
 
38
9
  ```bash
39
- npm install -g @sppg2001/atomize@alpha
10
+ npm install -g @sppg2001/atomize
40
11
  ```
41
12
 
42
- ### Using npx (No Installation)
13
+ Verify the install:
43
14
 
44
15
  ```bash
45
- npx @sppg2001/atomize@alpha --help
16
+ atomize --version
17
+ atomize --help
46
18
  ```
47
19
 
48
- ### Local Development
20
+ You can also run without installing globally:
49
21
 
50
22
  ```bash
51
- git clone https://github.com/Simao-Pereira-Gomes/atomize.git
52
- cd atomize
53
- bun install
54
- bun run dev
23
+ npx @sppg2001/atomize --help
55
24
  ```
56
25
 
57
- ---
58
-
59
26
  ## Quick Start
60
27
 
61
- ### 1. Connect to Azure DevOps
28
+ Try Atomize without credentials:
62
29
 
63
30
  ```bash
64
- # Add your first connection profile (interactive wizard)
65
- atomize auth add work-ado
66
-
67
- # Verify it works
68
- atomize auth test work-ado
31
+ atomize validate template:backend-api
32
+ atomize generate template:backend-api --platform mock
69
33
  ```
70
34
 
71
- 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).
72
-
73
- ### 2. Generate Tasks from a Template
35
+ Connect Azure DevOps:
74
36
 
75
37
  ```bash
76
- # Use a preset template (dry-run by default — safe to try)
77
- atomize generate template:backend-api
78
-
79
- # When ready to create tasks for real
80
- atomize generate template:backend-api --execute
81
-
82
- # Interactive mode (prompts for everything)
83
- atomize generate
38
+ atomize auth add work-ado
39
+ atomize auth test work-ado
84
40
  ```
85
41
 
86
- ### 3. Create Your First Template
42
+ Preview and then create tasks:
87
43
 
88
44
  ```bash
89
- # From an existing template
90
- atomize template create --from backend-api
91
-
92
- # Learn from multiple stories (better pattern detection)
93
- atomize template create --from-stories STORY-1,STORY-2,STORY-3
45
+ # Dry run, no tasks created
46
+ atomize generate template:backend-api --profile work-ado
94
47
 
95
- # Step-by-step wizard
96
- atomize template create --scratch
48
+ # Create tasks after confirmation
49
+ atomize generate template:backend-api --profile work-ado --execute
97
50
  ```
98
51
 
99
- ### 4. Validate a Template
100
-
101
- ```bash
102
- # Lenient mode (default) — only hard errors block use
103
- atomize validate templates/my-template.yaml
104
-
105
- # Strict mode — warnings also become errors
106
- atomize validate templates/my-template.yaml --strict
107
- ```
52
+ ## Safety Model
108
53
 
109
- ---
54
+ `atomize generate` is a dry run by default. It calculates the task plan but does not create tasks.
110
55
 
111
- ## Usage Guide
56
+ | Command | Creates tasks |
57
+ |---|---:|
58
+ | `atomize validate ...` | No |
59
+ | `atomize preview ...` | No |
60
+ | `atomize generate ...` | No |
61
+ | `atomize generate ... --platform mock` | No |
62
+ | `atomize generate ... --execute` | Yes, after confirmation |
63
+ | `atomize generate ... --execute --auto-approve` | Yes |
112
64
 
113
- ### Generate Command
65
+ Use `--auto-approve` only in non-interactive automation where task creation is intentional.
114
66
 
115
- The `generate` command creates tasks in your work item management system based on a template.
67
+ ## Common Commands
116
68
 
117
69
  ```bash
118
- # Basic usage
119
- atomize generate template:backend-api
120
-
121
- # With options
122
- atomize generate template:backend-api \
123
- --platform azure-devops \
124
- --execute \
125
- --verbose
126
-
127
- # Dry run (default — no --execute needed)
128
- atomize generate template:backend-api
129
-
130
- # CI/CD mode with JSON report
131
- atomize generate template:backend-api \
132
- --execute \
133
- --auto-approve \
134
- --output report.json
135
- ```
136
-
137
- **Key Options:**
138
- - `--platform <type>` - Platform: `azure-devops` or `mock`
139
- - `--profile <name>` - Named connection profile to use (see `atomize auth add`)
140
- - `--execute` - Actually create tasks (default is dry-run preview)
141
- - `--auto-approve` - Required with `--execute` in non-interactive mode to acknowledge live task creation
142
- - `--continue-on-error` - Keep processing if errors occur
143
- - `--story-concurrency <n>` - Parallel story processing (default: 3, max: 10)
144
- - `--task-concurrency <n>` - Parallel task creation per story (default: 5, max: 20)
145
- - `--dependency-concurrency <n>` - Parallel dependency link creation (default: 5, max: 10)
146
- - `--verbose` - Show detailed output
147
- - `-o, --output <file>` - Write JSON report to file
148
- - `--include-sensitive-report-data` - Include descriptions, custom fields, and platform-specific work item data in the JSON report
149
-
150
- In non-interactive mode, `--execute` now requires `--auto-approve`. This prevents unattended task creation from wrapper scripts or CI jobs that did not explicitly acknowledge the mutation.
151
-
152
- **Example Output:**
153
- ```
154
- ✓ Loaded template: Backend API Development
155
- ✓ Found 3 matching user stories
156
- ✓ Generated 18 tasks (6 per story)
157
- ✓ Created 18 tasks in Azure DevOps
158
-
159
- Summary:
160
- Stories processed: 3
161
- Tasks created: 18
162
- Execution time: 2.3s
163
- ```
70
+ # Validate templates
71
+ atomize validate template:backend-api
72
+ atomize validate ./templates/backend.atomize.yaml --strict
164
73
 
165
- ### Template Commands
74
+ # Inspect required story fields
75
+ atomize preview template:backend-api --inspect
166
76
 
167
- #### Create a Template
77
+ # Preview with mock data
78
+ atomize preview template:backend-api \
79
+ --mock-story '{"id":"123","title":"Add password reset","estimation":8}'
168
80
 
169
- ```bash
170
- # From an existing template (fastest)
171
- atomize template create --from feature
172
-
173
- # Learn from multiple stories (best pattern detection)
174
- atomize template create \
175
- --from-stories STORY-1,STORY-2,STORY-3 \
176
- --save-as learned-api-template
81
+ # Generate from catalog or file templates
82
+ atomize generate template:backend-api
83
+ atomize generate ./templates/backend.atomize.yaml --profile work-ado
177
84
 
178
- # Interactive wizard (most control)
179
- atomize template create --scratch
180
- ```
85
+ # Target specific stories
86
+ atomize generate template:backend-api --profile work-ado --story 123 456
181
87
 
182
- #### List Available Templates
88
+ # Manage profiles
89
+ atomize auth list
90
+ atomize auth add work-ado
91
+ atomize auth test work-ado
92
+ atomize auth rotate work-ado
183
93
 
184
- ```bash
94
+ # Manage templates
185
95
  atomize template list
186
- ```
187
-
188
- **Built-in Templates:**
189
- - `backend-api` - Backend API with database integration
190
- - `feature` - General feature task workflow
191
- - `bug` - Bug investigation and resolution workflow
192
- - `custom` - Example template with custom fields
193
- - `custom-saved-query` - Example template using an Azure DevOps saved query
194
-
195
- #### Validate a Template
196
-
197
- ```bash
198
- atomize validate templates/my-template.yaml
199
-
200
- # Strict mode — warnings become errors (recommended for team/production templates)
201
- atomize validate templates/my-template.yaml --strict
202
- ```
203
-
204
- ---
205
-
206
- ## Template Structure
207
-
208
- Templates are YAML files that define how to break down user stories into tasks.
209
-
210
- ### Basic Template
211
-
212
- ```yaml
213
- version: "1.0"
214
- name: "Backend API Development"
215
- description: "Standard backend API workflow"
216
-
217
- # Which stories to process
218
- filter:
219
- workItemTypes: ["User Story"]
220
- states: ["New", "Active"]
221
- tags:
222
- include: ["backend", "api"]
223
- excludeIfHasTasks: true
224
-
225
- # Task breakdown
226
- tasks:
227
- - title: "Design API Endpoints: ${story.title}"
228
- description: "Design REST API endpoints and schemas"
229
- estimationPercent: 15
230
- activity: "Design"
231
- tags: ["design", "api"]
232
-
233
- - title: "Implement Core Logic: ${story.title}"
234
- description: "Implement business logic and validation"
235
- estimationPercent: 40
236
- activity: "Development"
237
-
238
- - title: "Write Tests"
239
- description: "Unit and integration tests"
240
- estimationPercent: 30
241
- activity: "Testing"
242
-
243
- - title: "Code Review & Documentation"
244
- description: "Review and document the implementation"
245
- estimationPercent: 15
246
- activity: "Documentation"
247
-
248
- # Estimation settings
249
- estimation:
250
- rounding: "nearest"
251
- minimumTaskPoints: 0.5
252
-
253
- # Validation rules
254
- validation:
255
- totalEstimationMustBe: 100
256
- minTasks: 3
257
- maxTasks: 10
258
- ```
259
-
260
- ### Template Features
261
-
262
- #### Variable Interpolation
263
-
264
- ```yaml
265
- - title: "Design: ${story.title}"
266
- - description: "Story ${story.id}: ${story.description}"
267
- ```
268
-
269
- Available variables: `${story.title}`, `${story.id}`, `${story.description}`, `${story.estimation}`, `${story.tags}`
270
-
271
- #### Task Assignment
272
-
273
- ```yaml
274
- assignTo: "@ParentAssignee" # Inherit from story
275
- assignTo: "@Me" # Current user
276
- assignTo: "user@email.com" # Specific user
277
- ```
278
-
279
- #### Conditional Tasks
280
-
281
- ```yaml
282
- - title: "Security Review"
283
- estimationPercent: 10
284
- condition:
285
- field: "tags"
286
- operator: "contains"
287
- value: "security"
288
- ```
289
-
290
- #### Conditional Estimation (v1.1)
291
-
292
- Adapt task percentage based on story properties. First matching rule wins; `estimationPercent` is the fallback.
293
-
294
- ```yaml
295
- - title: "Implementation"
296
- estimationPercent: 50 # Default
297
- estimationPercentCondition:
298
- - condition:
299
- field: "tags"
300
- operator: "contains"
301
- value: "critical"
302
- percent: 60 # More weight for critical stories
303
- - condition:
304
- field: "estimation"
305
- operator: "gte"
306
- value: 13
307
- percent: 55 # More work for large stories
308
- ```
309
-
310
- #### Task Dependencies
311
-
312
- ```yaml
313
- tasks:
314
- - id: "design"
315
- title: "Design Phase"
316
- estimationPercent: 20
317
-
318
- - id: "implement"
319
- title: "Implementation"
320
- estimationPercent: 60
321
- dependsOn: ["design"] # Must complete design first
322
- ```
323
-
324
- ---
325
-
326
- ## Platform Setup
327
-
328
- ### Azure DevOps
329
-
330
- 1. **Get a Personal Access Token (PAT)**
331
- - Go to: `https://dev.azure.com/[your-org]/_usersSettings/tokens`
332
- - Create token with `Work Items (Read, Write)` scope
333
-
334
- 2. **Save a connection profile**
335
- ```bash
336
- atomize auth add work-ado
337
- # Prompts for org URL, project, team, and PAT
338
- ```
339
-
340
- 3. **Test the connection**
341
- ```bash
342
- atomize auth test work-ado
343
- ```
344
-
345
- 4. **Generate tasks**
346
- ```bash
347
- # Use the profile explicitly
348
- atomize generate template:backend-api --profile work-ado
349
-
350
- # Or set it as default once
351
- atomize auth use work-ado
352
- atomize generate template:backend-api
353
- ```
354
-
355
- See `atomize auth --help` for all profile management commands (`list`, `remove`, `rotate`).
356
-
357
- ### Mock Platform (Testing)
358
-
359
- ```bash
360
- atomize generate template:backend-api --platform mock
361
- ```
362
-
363
- No configuration required. Includes 7 built-in sample stories.
364
-
365
- ---
366
-
367
- ## Strict vs Lenient Validation
368
-
369
- Atomize has two validation modes:
370
-
371
- | Mode | Warnings | Best For |
372
- |------|----------|----------|
373
- | **Lenient** (default) | Non-blocking | Development, personal templates |
374
- | **Strict** | Treated as errors | Team templates, CI/CD pipelines |
375
-
376
- ```bash
377
- # Default (lenient) — only hard errors block use
378
- atomize validate my-template.yaml
379
-
380
- # Strict — warnings also fail validation
381
- atomize validate my-template.yaml --strict
382
- ```
383
-
384
- You can also set the mode in the template itself:
385
- ```yaml
386
- validation:
387
- mode: "strict"
388
- ```
389
-
390
- ---
391
-
392
- ## Real-World Examples
393
-
394
- ### Example 1: Backend API Feature
395
-
396
- **Story:** "As a user, I want to reset my password via email"
397
-
398
- **Generated Tasks:**
399
- 1. Design password reset flow and email templates (1.5 pts)
400
- 2. Implement password reset endpoint (3.5 pts)
401
- 3. Create email service integration (1.5 pts)
402
- 4. Write unit and integration tests (2 pts)
403
- 5. Add API documentation (0.5 pts)
404
- 6. Security review and rate limiting (1 pt)
405
-
406
- **Total:** 10 story points perfectly distributed
407
-
408
- ### Example 2: Multi-Story Learning
409
-
410
- ```bash
411
- # Learn from your team's best stories
412
- atomize template create \
413
- --from-stories STORY-100,STORY-115,STORY-132,STORY-148 \
414
- --platform azure-devops \
415
- --save-as backend-standard
416
-
417
- # Validate the learned template
418
- atomize validate template:backend-standard --strict
96
+ atomize template create --from backend-api
97
+ atomize template create --scratch
98
+ atomize template install ./templates/team-template.atomize.yaml --scope project
99
+ atomize template resolve template:my-template --validate
419
100
 
420
- # Apply it
421
- atomize generate template:backend-standard --execute
101
+ # Browse Azure DevOps metadata
102
+ atomize fields list --type Task
103
+ atomize queries list
422
104
  ```
423
105
 
424
- ---
425
-
426
- ## Advanced Usage
106
+ ## CI/CD
427
107
 
428
- ### Custom Filters
108
+ Validate first, then run live generation with explicit acknowledgement:
429
109
 
430
110
  ```yaml
431
- filter:
432
- team: "Backend Team" # Override team from the selected profile
433
- workItemTypes: ["User Story", "Bug"]
434
- states: ["New", "Approved"]
435
- statesExclude: ["Done", "Removed"] # Exclude items in these states
436
- statesWereEver: ["In Review"] # Items that were ever in these states
437
- tags:
438
- include: ["backend"]
439
- exclude: ["deprecated"]
440
- areaPaths: ["MyProject\\Backend\\API"] # Exact match
441
- areaPathsUnder: ["MyProject\\Backend"] # Match and all sub-areas
442
- iterations: ["@CurrentIteration"] # Current sprint
443
- iterationsUnder: ["MyProject\\Release 2"] # All sprints under a release
444
- assignedTo: ["@Me", "jane@company.com"]
445
- changedAfter: "@Today-7" # Changed in the last 7 days
446
- createdAfter: "@Today-30" # Created in the last 30 days
447
- priority:
448
- min: 1
449
- max: 2
450
- excludeIfHasTasks: true
451
- customFields:
452
- - field: "Custom.Team"
453
- operator: "equals"
454
- value: "Platform Engineering"
455
- ```
456
-
457
- ### Estimation Settings
458
-
459
- ```yaml
460
- estimation:
461
- strategy: "percentage" # Distribute story points by percentage
462
- rounding: "nearest" # nearest, up, down, none
463
- minimumTaskPoints: 0.5 # Minimum points per task
464
- ifParentHasNoEstimation: "skip" # skip, warn, use-default
465
- ```
466
-
467
- ### Environment Variables
111
+ - name: Install Atomize
112
+ run: npm install -g @sppg2001/atomize
468
113
 
469
- | Variable | Description | Default |
470
- |---|---|---|
471
- | `ATOMIZE_PROFILE` | Default connection profile when `--profile` is not specified | _(none)_ |
472
- | `LOG_LEVEL` | Log verbosity: `error`, `warn`, `info`, `debug` | `warn` |
114
+ - name: Validate template
115
+ run: atomize validate template:backend-api --strict --quiet
473
116
 
474
- #### macOS / Linux
117
+ - name: Configure profile
118
+ env:
119
+ AZURE_DEVOPS_PAT: ${{ secrets.AZURE_DEVOPS_PAT }}
120
+ run: |
121
+ echo "$AZURE_DEVOPS_PAT" | atomize auth add ci \
122
+ --org-url "${{ secrets.AZURE_DEVOPS_ORG_URL }}" \
123
+ --project "${{ secrets.AZURE_DEVOPS_PROJECT }}" \
124
+ --team "${{ secrets.AZURE_DEVOPS_TEAM }}" \
125
+ --default \
126
+ --pat-stdin \
127
+ --insecure-storage
475
128
 
476
- Add to your shell profile (`~/.zshrc`, `~/.bashrc`, etc.) and restart your terminal:
477
-
478
- ```bash
479
- export ATOMIZE_PROFILE=work-ado # Default connection profile
480
- export LOG_LEVEL=warn # Log verbosity (optional)
481
- ```
482
-
483
- #### Windows (PowerShell)
484
-
485
- To persist across sessions, set them as user environment variables:
486
-
487
- ```powershell
488
- [Environment]::SetEnvironmentVariable("ATOMIZE_PROFILE", "work-ado", "User")
489
- [Environment]::SetEnvironmentVariable("LOG_LEVEL", "warn", "User")
129
+ - name: Generate tasks
130
+ run: |
131
+ atomize generate template:backend-api \
132
+ --execute \
133
+ --auto-approve \
134
+ --output report.json
490
135
  ```
491
136
 
492
- Or for the current session only:
137
+ ## VS Code Extension
493
138
 
494
- ```powershell
495
- $env:ATOMIZE_PROFILE = "work-ado"
496
- $env:LOG_LEVEL = "warn"
497
- ```
498
-
499
- #### Windows (Command Prompt)
500
-
501
- For the current session only:
502
-
503
- ```cmd
504
- set ATOMIZE_PROFILE=work-ado
505
- set LOG_LEVEL=warn
506
- ```
139
+ Prefer an editor workflow? Atomize also has a VS Code extension for YAML authoring, validation, mock/live preview, profile management, catalog browsing, and confirmed generation.
507
140
 
508
- To persist, use **System Properties → Environment Variables** or `setx`:
509
-
510
- ```cmd
511
- setx ATOMIZE_PROFILE "work-ado"
512
- ```
513
-
514
- > **Note:** `setx` changes take effect in new terminal windows, not the current one.
515
-
516
- #### Using `--env-file` for explicit file-based config
517
-
518
- If you prefer file-based configuration (e.g. in CI/CD), pass `--env-file` explicitly:
519
-
520
- ```bash
521
- # macOS / Linux
522
- atomize --env-file ~/.config/atomize.env generate template:backend-api
523
-
524
- # Windows (PowerShell)
525
- atomize --env-file $env:USERPROFILE\.config\atomize.env generate template:backend-api
526
- ```
527
-
528
- 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.
529
-
530
- See `.env.example` in the repository for a documented template.
531
-
532
- ---
533
-
534
- ## Testing
535
-
536
- ```bash
537
- # Run all tests
538
- bun test
539
-
540
- # Run specific test suite
541
- bun test tests/unit/atomizer.test.ts
542
-
543
- # Run with coverage
544
- bun test --coverage
545
-
546
- # Watch mode
547
- bun test --watch
548
- ```
549
-
550
- ### Development Setup
551
-
552
- ```bash
553
- git clone https://github.com/Simao-Pereira-Gomes/atomize.git
554
- cd atomize
555
- bun install
556
- bun run dev
557
- bun test
558
- bun run build
559
- ```
560
-
561
- ---
562
-
563
- ## Troubleshooting
564
-
565
- ### "Not authenticated" error
566
-
567
- ```bash
568
- # Check what profiles are saved
569
- atomize auth list
570
-
571
- # Add a profile if none exist
572
- atomize auth add work-ado
573
-
574
- # Test the profile
575
- atomize auth test work-ado
576
-
577
- # Use it explicitly
578
- atomize generate template:backend-api --profile work-ado
579
- ```
580
-
581
- ### "Template validation failed"
582
-
583
- ```bash
584
- # Get detailed output
585
- atomize validate templates/my-template.yaml --strict
586
-
587
- # Common issues:
588
- # - Total estimation must equal 100%
589
- # - Task dependencies reference non-existent IDs
590
- # - Missing required fields
591
- ```
592
-
593
- ---
141
+ See the [VS Code Extension Guide](https://github.com/Simao-Pereira-Gomes/atomize/blob/main/docs/VS-Code-Extension.md).
594
142
 
595
143
  ## Documentation
596
144
 
597
- - [Getting Started](./docs/Getting-Started.md) - First steps and core concepts
598
- - [CLI Reference](./docs/Cli-Reference.md) - Complete command and flag reference
599
- - [Template Reference](./docs/Template-Reference.md) - Full template schema
600
- - [Auth Guide](./docs/Auth-Guide.md) - Credential storage, profiles, and CI/CD setup
601
- - [Validation Modes](./docs/Validation-Modes.md) - Strict vs lenient explained
602
- - [Story Learner](./docs/Story-Learner.md) - Generate templates from existing stories
603
- - [Common Validation Errors](./docs/Common-Validation-Errors.md) - Fix validation failures
604
- - [Platform Guide](./docs/Platform-Guide.md) - Azure DevOps setup
605
- - [Template Wizard Guide](./docs/template-wizard-guide.md) - Interactive wizard walkthrough
606
-
607
- ---
145
+ - [Product README](https://github.com/Simao-Pereira-Gomes/atomize#readme) - VS Code-first onboarding and product overview
146
+ - [Documentation Index](https://github.com/Simao-Pereira-Gomes/atomize/blob/main/docs/README.md)
147
+ - [Workflows](https://github.com/Simao-Pereira-Gomes/atomize/blob/main/docs/Workflows.md)
148
+ - [CLI Reference](https://github.com/Simao-Pereira-Gomes/atomize/blob/main/docs/Cli-Reference.md)
149
+ - [Template Creation](https://github.com/Simao-Pereira-Gomes/atomize/blob/main/docs/Template-Creation.md)
150
+ - [Template Reference](https://github.com/Simao-Pereira-Gomes/atomize/blob/main/docs/Template-Reference.md)
151
+ - [Auth Guide](https://github.com/Simao-Pereira-Gomes/atomize/blob/main/docs/Auth-Guide.md)
152
+ - [Platform Guide](https://github.com/Simao-Pereira-Gomes/atomize/blob/main/docs/Platform-Guide.md)
608
153
 
609
154
  ## License
610
155
 
611
- MIT License - see [LICENSE](LICENSE) file for details
612
-
613
- ## Support
614
-
615
- - [Report a Bug](https://github.com/Simao-Pereira-Gomes/atomize/issues)
616
- - [Request a Feature](https://github.com/Simao-Pereira-Gomes/atomize/issues)
617
- - [Discussions](https://github.com/Simao-Pereira-Gomes/atomize/discussions)
156
+ MIT