Skip to content
atomize
GitHub

Documentation

generate command

Development docs · main. Your installed version may differ.

For the step-by-step workflow, see Generate Tasks from the CLI.

Generate tasks from user stories using a template. By default runs as a dry run (preview only). Use --execute to actually create tasks.

Terminal window
atomize generate [template] [options]
atomize gen [template] [options] # alias
ArgumentDescription
[template]Path to a YAML template file or catalog ref (e.g. template:backend-api). If omitted, you will be prompted.
OptionTypeDefaultDescription
-p, --platform <platform>stringazure-devopsPlatform to use. Options: azure-devops, mock
--profile <name>string-Named connection profile to use (see auth add)
--executeflag-Actually create tasks (default is dry-run preview)
--auto-approveflag-Required with --execute in non-interactive mode to acknowledge live task creation
--continue-on-errorflag-Keep processing other stories if one fails
--story <ids...>string[]-Target specific work items by ID, bypassing the template filter. excludeIfHasTasks still applies.
--story-concurrency <n>number3Max stories processed in parallel (max: 10)
--task-concurrency <n>number5Max tasks created in parallel per story (max: 20)
--dependency-concurrency <n>number5Max dependency links created in parallel (max: 10)
--limit <n>number-Cap the number of work items processed (useful for testing before a full --execute run)
-v, --verboseflag-Show detailed output including per-task breakdown
-o, --output <file>string-Write a JSON report to this file path (for CI/CD)
--include-sensitive-report-dataflag-Include descriptions, custom fields, and platform-specific work item data in the JSON report (--output only)
-q, --quietflag-Suppress non-essential output
--jsonflag-Print the JSON report to stdout instead of the human-readable output. Runs a dry run unless --execute is also passed. Implies --quiet
--json-streamflag-Print newline-delimited JSON progress events, then a final report event, to stdout. Implies --quiet; cannot be combined with --json

The concurrency options are hidden from atomize generate --help.

Dry run (default: no --execute):

Terminal window
atomize generate template:backend-api

Execute for real:

Terminal window
atomize generate template:backend-api --execute

Target specific stories by ID (bypasses filter):

Terminal window
atomize generate template:backend-api --story STORY-123 STORY-456

Use --story to skip the template's filter criteria and process explicit work items directly. Useful for:

  • Re-running a generation that failed partway through
  • Processing a one-off story that does not match the template's usual filter
  • Testing the template against a known story before a full run

excludeIfHasTasks still applies: stories that already have tasks are skipped unless you remove that flag from the template.

Execute for real in CI/non-interactive mode:

Terminal window
atomize generate template:backend-api --execute --auto-approve

Mock platform (no credentials needed):

Terminal window
atomize generate template:backend-api --platform mock

Test against a subset of items before a full run:

Terminal window
atomize generate template:backend-api --limit 5

CI/CD with JSON report:

Terminal window
atomize generate template:backend-api \
--execute \
--output report.json \
--quiet

By default the JSON report omits story descriptions, custom field values, and raw platform payloads to avoid accidentally writing sensitive data to disk or log collectors. Pass --include-sensitive-report-data to include them:

Terminal window
atomize generate template:backend-api \
--execute \
--output report.json \
--include-sensitive-report-data

When to use --include-sensitive-report-data:

  • Debugging unexpected task output (custom field values, description interpolation)
  • Auditing exactly what was sent to the platform
  • Internal tooling that processes the full report programmatically

Do not use it in shared CI pipelines where the report artifact may be visible to other users.

CodeMeaning
0All stories processed successfully, including a dry run
1One or more stories failed, or live execution was refused
2No stories matched the filter or --story IDs
3Authentication failed

The exit codes are the same with --json and --json-stream. A run with no matching stories exits 2 and still prints its report, with storiesProcessed: 0.