@sppg2001/atomize 1.2.4 → 2.0.0-alpha.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 +3 -0
- package/README.md +53 -38
- package/dist/cli/index.js +22728 -28744
- package/docs/Auth-Guide.md +257 -0
- package/docs/Cli-Reference.md +962 -0
- package/docs/Common-Validation-Errors.md +556 -0
- package/docs/Getting-Started.md +540 -0
- package/docs/Platform-Guide.md +662 -0
- package/docs/Story-Learner.md +324 -0
- package/docs/Template-Reference.md +743 -0
- package/docs/Validation-Modes.md +252 -0
- package/docs/template-wizard-guide.md +738 -0
- package/examples/README.md +16 -11
- package/examples/advanced-filtering.yaml +1 -1
- package/examples/conditional-dependencies-template.yaml +28 -5
- package/examples/conditional-percentage-template.yaml +39 -11
- package/examples/fullstack.yaml +4 -1
- package/package.json +24 -15
- package/templates/mixins/docs.yaml +16 -0
- package/templates/mixins/security.yaml +16 -0
- package/templates/mixins/testing.yaml +27 -0
- package/templates/templates/bug.yaml +54 -0
- package/templates/templates/custom-saved-query.yaml +214 -0
- package/templates/{presets → templates}/custom.yaml +100 -15
- package/templates/templates/feature.yaml +55 -0
- package/templates/presets/bug-fix.yaml +0 -44
- package/templates/presets/frontend-feature.yaml +0 -52
- /package/templates/{presets → templates}/backend-api.yaml +0 -0
package/.env.example
CHANGED
package/README.md
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
# Atomize
|
|
2
2
|
|
|
3
3
|
[](https://github.com/Simao-Pereira-Gomes/atomize/actions/workflows/ci.yml)
|
|
4
|
-
[](https://github.com/Simao-Pereira-Gomes/atomize/actions/workflows/codeql.yml)
|
|
5
5
|
[](https://www.npmjs.com/package/@sppg2001/atomize)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
[](https://nodejs.org)
|
|
8
8
|
[](https://www.typescriptlang.org/)
|
|
9
9
|
|
|
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).
|
|
12
|
+
|
|
10
13
|
**Break down stories, build up velocity.**
|
|
11
14
|
|
|
12
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.
|
|
@@ -33,13 +36,13 @@ Atomize is a CLI tool that automatically generates granular tasks from user stor
|
|
|
33
36
|
### Global Installation (Recommended)
|
|
34
37
|
|
|
35
38
|
```bash
|
|
36
|
-
npm install -g @sppg2001/atomize
|
|
39
|
+
npm install -g @sppg2001/atomize@alpha
|
|
37
40
|
```
|
|
38
41
|
|
|
39
42
|
### Using npx (No Installation)
|
|
40
43
|
|
|
41
44
|
```bash
|
|
42
|
-
npx @sppg2001/atomize --help
|
|
45
|
+
npx @sppg2001/atomize@alpha --help
|
|
43
46
|
```
|
|
44
47
|
|
|
45
48
|
### Local Development
|
|
@@ -71,10 +74,10 @@ You'll be prompted for your Organization URL, project, team, and a [Personal Acc
|
|
|
71
74
|
|
|
72
75
|
```bash
|
|
73
76
|
# Use a preset template (dry-run by default — safe to try)
|
|
74
|
-
atomize generate
|
|
77
|
+
atomize generate template:backend-api
|
|
75
78
|
|
|
76
79
|
# When ready to create tasks for real
|
|
77
|
-
atomize generate
|
|
80
|
+
atomize generate template:backend-api --execute
|
|
78
81
|
|
|
79
82
|
# Interactive mode (prompts for everything)
|
|
80
83
|
atomize generate
|
|
@@ -83,8 +86,8 @@ atomize generate
|
|
|
83
86
|
### 3. Create Your First Template
|
|
84
87
|
|
|
85
88
|
```bash
|
|
86
|
-
# From
|
|
87
|
-
atomize template create --
|
|
89
|
+
# From an existing template
|
|
90
|
+
atomize template create --from backend-api
|
|
88
91
|
|
|
89
92
|
# Learn from multiple stories (better pattern detection)
|
|
90
93
|
atomize template create --from-stories STORY-1,STORY-2,STORY-3
|
|
@@ -113,21 +116,21 @@ The `generate` command creates tasks in your work item management system based o
|
|
|
113
116
|
|
|
114
117
|
```bash
|
|
115
118
|
# Basic usage
|
|
116
|
-
atomize generate
|
|
119
|
+
atomize generate template:backend-api
|
|
117
120
|
|
|
118
121
|
# With options
|
|
119
|
-
atomize generate
|
|
122
|
+
atomize generate template:backend-api \
|
|
120
123
|
--platform azure-devops \
|
|
121
124
|
--execute \
|
|
122
125
|
--verbose
|
|
123
126
|
|
|
124
127
|
# Dry run (default — no --execute needed)
|
|
125
|
-
atomize generate
|
|
128
|
+
atomize generate template:backend-api
|
|
126
129
|
|
|
127
130
|
# CI/CD mode with JSON report
|
|
128
|
-
atomize generate
|
|
131
|
+
atomize generate template:backend-api \
|
|
129
132
|
--execute \
|
|
130
|
-
--
|
|
133
|
+
--auto-approve \
|
|
131
134
|
--output report.json
|
|
132
135
|
```
|
|
133
136
|
|
|
@@ -135,15 +138,16 @@ atomize generate templates/backend-api.yaml \
|
|
|
135
138
|
- `--platform <type>` - Platform: `azure-devops` or `mock`
|
|
136
139
|
- `--profile <name>` - Named connection profile to use (see `atomize auth add`)
|
|
137
140
|
- `--execute` - Actually create tasks (default is dry-run preview)
|
|
138
|
-
-
|
|
141
|
+
- `--auto-approve` - Required with `--execute` in non-interactive mode to acknowledge live task creation
|
|
139
142
|
- `--continue-on-error` - Keep processing if errors occur
|
|
140
143
|
- `--story-concurrency <n>` - Parallel story processing (default: 3, max: 10)
|
|
141
144
|
- `--task-concurrency <n>` - Parallel task creation per story (default: 5, max: 20)
|
|
142
145
|
- `--dependency-concurrency <n>` - Parallel dependency link creation (default: 5, max: 10)
|
|
143
146
|
- `--verbose` - Show detailed output
|
|
144
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
|
|
145
149
|
|
|
146
|
-
In non-interactive mode, `--execute` now requires `--
|
|
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.
|
|
147
151
|
|
|
148
152
|
**Example Output:**
|
|
149
153
|
```
|
|
@@ -163,29 +167,30 @@ Summary:
|
|
|
163
167
|
#### Create a Template
|
|
164
168
|
|
|
165
169
|
```bash
|
|
166
|
-
# From
|
|
167
|
-
atomize template create --
|
|
170
|
+
# From an existing template (fastest)
|
|
171
|
+
atomize template create --from feature
|
|
168
172
|
|
|
169
173
|
# Learn from multiple stories (best pattern detection)
|
|
170
174
|
atomize template create \
|
|
171
175
|
--from-stories STORY-1,STORY-2,STORY-3 \
|
|
172
|
-
--
|
|
176
|
+
--save-as learned-api-template
|
|
173
177
|
|
|
174
178
|
# Interactive wizard (most control)
|
|
175
179
|
atomize template create --scratch
|
|
176
180
|
```
|
|
177
181
|
|
|
178
|
-
#### List Available
|
|
182
|
+
#### List Available Templates
|
|
179
183
|
|
|
180
184
|
```bash
|
|
181
|
-
atomize template
|
|
185
|
+
atomize template list
|
|
182
186
|
```
|
|
183
187
|
|
|
184
|
-
**
|
|
188
|
+
**Built-in Templates:**
|
|
185
189
|
- `backend-api` - Backend API with database integration
|
|
186
|
-
- `
|
|
187
|
-
- `bug
|
|
188
|
-
- `
|
|
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
|
|
189
194
|
|
|
190
195
|
#### Validate a Template
|
|
191
196
|
|
|
@@ -193,7 +198,7 @@ atomize template presets
|
|
|
193
198
|
atomize validate templates/my-template.yaml
|
|
194
199
|
|
|
195
200
|
# Strict mode — warnings become errors (recommended for team/production templates)
|
|
196
|
-
atomize validate templates/my-template.yaml --strict
|
|
201
|
+
atomize validate templates/my-template.yaml --strict
|
|
197
202
|
```
|
|
198
203
|
|
|
199
204
|
---
|
|
@@ -276,7 +281,10 @@ assignTo: "user@email.com" # Specific user
|
|
|
276
281
|
```yaml
|
|
277
282
|
- title: "Security Review"
|
|
278
283
|
estimationPercent: 10
|
|
279
|
-
condition:
|
|
284
|
+
condition:
|
|
285
|
+
field: "tags"
|
|
286
|
+
operator: "contains"
|
|
287
|
+
value: "security"
|
|
280
288
|
```
|
|
281
289
|
|
|
282
290
|
#### Conditional Estimation (v1.1)
|
|
@@ -287,9 +295,15 @@ Adapt task percentage based on story properties. First matching rule wins; `esti
|
|
|
287
295
|
- title: "Implementation"
|
|
288
296
|
estimationPercent: 50 # Default
|
|
289
297
|
estimationPercentCondition:
|
|
290
|
-
- condition:
|
|
298
|
+
- condition:
|
|
299
|
+
field: "tags"
|
|
300
|
+
operator: "contains"
|
|
301
|
+
value: "critical"
|
|
291
302
|
percent: 60 # More weight for critical stories
|
|
292
|
-
- condition:
|
|
303
|
+
- condition:
|
|
304
|
+
field: "estimation"
|
|
305
|
+
operator: "gte"
|
|
306
|
+
value: 13
|
|
293
307
|
percent: 55 # More work for large stories
|
|
294
308
|
```
|
|
295
309
|
|
|
@@ -331,11 +345,11 @@ tasks:
|
|
|
331
345
|
4. **Generate tasks**
|
|
332
346
|
```bash
|
|
333
347
|
# Use the profile explicitly
|
|
334
|
-
atomize generate
|
|
348
|
+
atomize generate template:backend-api --profile work-ado
|
|
335
349
|
|
|
336
350
|
# Or set it as default once
|
|
337
351
|
atomize auth use work-ado
|
|
338
|
-
atomize generate
|
|
352
|
+
atomize generate template:backend-api
|
|
339
353
|
```
|
|
340
354
|
|
|
341
355
|
See `atomize auth --help` for all profile management commands (`list`, `remove`, `rotate`).
|
|
@@ -343,7 +357,7 @@ See `atomize auth --help` for all profile management commands (`list`, `remove`,
|
|
|
343
357
|
### Mock Platform (Testing)
|
|
344
358
|
|
|
345
359
|
```bash
|
|
346
|
-
atomize generate
|
|
360
|
+
atomize generate template:backend-api --platform mock
|
|
347
361
|
```
|
|
348
362
|
|
|
349
363
|
No configuration required. Includes 7 built-in sample stories.
|
|
@@ -398,13 +412,13 @@ validation:
|
|
|
398
412
|
atomize template create \
|
|
399
413
|
--from-stories STORY-100,STORY-115,STORY-132,STORY-148 \
|
|
400
414
|
--platform azure-devops \
|
|
401
|
-
--
|
|
415
|
+
--save-as backend-standard
|
|
402
416
|
|
|
403
417
|
# Validate the learned template
|
|
404
|
-
atomize validate
|
|
418
|
+
atomize validate template:backend-standard --strict
|
|
405
419
|
|
|
406
420
|
# Apply it
|
|
407
|
-
atomize generate
|
|
421
|
+
atomize generate template:backend-standard --execute
|
|
408
422
|
```
|
|
409
423
|
|
|
410
424
|
---
|
|
@@ -415,7 +429,7 @@ atomize generate team-templates/backend-standard.yaml --execute
|
|
|
415
429
|
|
|
416
430
|
```yaml
|
|
417
431
|
filter:
|
|
418
|
-
team: "Backend Team" # Override team
|
|
432
|
+
team: "Backend Team" # Override team from the selected profile
|
|
419
433
|
workItemTypes: ["User Story", "Bug"]
|
|
420
434
|
states: ["New", "Approved"]
|
|
421
435
|
statesExclude: ["Done", "Removed"] # Exclude items in these states
|
|
@@ -505,10 +519,10 @@ If you prefer file-based configuration (e.g. in CI/CD), pass `--env-file` explic
|
|
|
505
519
|
|
|
506
520
|
```bash
|
|
507
521
|
# macOS / Linux
|
|
508
|
-
atomize --env-file ~/.config/atomize.env generate
|
|
522
|
+
atomize --env-file ~/.config/atomize.env generate template:backend-api
|
|
509
523
|
|
|
510
524
|
# Windows (PowerShell)
|
|
511
|
-
atomize --env-file $env:USERPROFILE\.config\atomize.env generate
|
|
525
|
+
atomize --env-file $env:USERPROFILE\.config\atomize.env generate template:backend-api
|
|
512
526
|
```
|
|
513
527
|
|
|
514
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.
|
|
@@ -561,14 +575,14 @@ atomize auth add work-ado
|
|
|
561
575
|
atomize auth test work-ado
|
|
562
576
|
|
|
563
577
|
# Use it explicitly
|
|
564
|
-
atomize generate
|
|
578
|
+
atomize generate template:backend-api --profile work-ado
|
|
565
579
|
```
|
|
566
580
|
|
|
567
581
|
### "Template validation failed"
|
|
568
582
|
|
|
569
583
|
```bash
|
|
570
584
|
# Get detailed output
|
|
571
|
-
atomize validate templates/my-template.yaml --
|
|
585
|
+
atomize validate templates/my-template.yaml --strict
|
|
572
586
|
|
|
573
587
|
# Common issues:
|
|
574
588
|
# - Total estimation must equal 100%
|
|
@@ -583,6 +597,7 @@ atomize validate templates/my-template.yaml --verbose
|
|
|
583
597
|
- [Getting Started](./docs/Getting-Started.md) - First steps and core concepts
|
|
584
598
|
- [CLI Reference](./docs/Cli-Reference.md) - Complete command and flag reference
|
|
585
599
|
- [Template Reference](./docs/Template-Reference.md) - Full template schema
|
|
600
|
+
- [Auth Guide](./docs/Auth-Guide.md) - Credential storage, profiles, and CI/CD setup
|
|
586
601
|
- [Validation Modes](./docs/Validation-Modes.md) - Strict vs lenient explained
|
|
587
602
|
- [Story Learner](./docs/Story-Learner.md) - Generate templates from existing stories
|
|
588
603
|
- [Common Validation Errors](./docs/Common-Validation-Errors.md) - Fix validation failures
|