Skip to content

feat: CLI UX improvements for agents - #5

Merged
NormallyGaussian merged 2 commits into
mainfrom
feature/inline-data-enrich
Jan 25, 2026
Merged

feat: CLI UX improvements for agents#5
NormallyGaussian merged 2 commits into
mainfrom
feature/inline-data-enrich

Conversation

@NormallyGaussian

Copy link
Copy Markdown

Summary

Two UX improvements for agent workflows:

  • Inline data support: Add --data option to enrich run that accepts JSON arrays directly, eliminating the need to create temporary CSV files
  • Comma-separated domain filters: Allow --include-domains and --exclude-domains to accept comma-separated lists

Changes

1. Inline JSON data for enrichment

Agents can now pass data directly without creating a CSV file:

parallel-cli enrich run \
  --data '[{"company": "Google"}, {"company": "Apple"}]' \
  --target output.csv \
  --intent "Find the CEO"
  • Automatically infers source columns from data keys
  • Creates temp CSV internally (cleaned up after)
  • Works with --intent for AI-suggested output columns

2. Comma-separated domain filters

Domain filters now support comma-separated values:

# All of these work:
parallel-cli search "query" --include-domains google.com,github.com
parallel-cli search "query" --include-domains google.com --include-domains github.com
parallel-cli search "query" --include-domains google.com,github.com --include-domains twitter.com

Test plan

  • Added tests for parse_inline_data() helper (6 tests)
  • Added tests for --data CLI option (4 tests)
  • Added tests for parse_comma_separated() helper (7 tests)
  • Added test for updated help text
  • All 47 CLI tests passing

Allow users to pass data directly to `parallel-cli enrich run` without
needing to create a CSV file first. This is useful for agents and
scripts that have data in memory.

Example usage:
  parallel-cli enrich run \
    --data '[{"company": "Google"}, {"company": "Apple"}]' \
    --target output.csv \
    --intent "Find the CEO"

The command:
- Accepts a JSON array of objects via --data
- Automatically infers source columns from the data
- Creates a temporary CSV file internally (cleaned up after)
- Sets source_type to "csv" automatically
Allow --include-domains and --exclude-domains to accept comma-separated
lists in addition to repeated flags:

  # Before (still works)
  parallel-cli search "query" --include-domains google.com --include-domains github.com

  # Now also supported
  parallel-cli search "query" --include-domains google.com,github.com

  # Mixed usage works too
  parallel-cli search "query" --include-domains google.com,github.com --include-domains twitter.com
@NormallyGaussian
NormallyGaussian merged commit c806c8d into main Jan 25, 2026
4 checks passed
@NormallyGaussian
NormallyGaussian deleted the feature/inline-data-enrich branch January 27, 2026 03:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants