Skip to content

feat: add scripted/non-interactive usage support#31

Open
meshde wants to merge 1 commit intomasterfrom
feat/scripted-non-interactive-usage
Open

feat: add scripted/non-interactive usage support#31
meshde wants to merge 1 commit intomasterfrom
feat/scripted-non-interactive-usage

Conversation

@meshde
Copy link
Copy Markdown
Owner

@meshde meshde commented Apr 11, 2026

Summary

  • Typed parameter substitution: Support |boolean, |number, and |file type annotations on body params with validation (e.g., ":dryRun|boolean" ensures raw true/false in JSON, not strings)
  • Multipart file uploads: |file type params automatically build multipart/form-data requests, removing Content-Type header so reqwest sets the boundary
  • Non-interactive body handling: Editor no longer opens by default — use --edit-body/-e to opt in. New --body-file flag reads body from a file instead
  • Structured JSON output: --json flag outputs full response object (url, status, headers, body) as JSON for scripting/piping
  • Clippy cleanup: Resolves all 46 pre-existing clippy warnings across the codebase
  • Version bump: 0.5.1 → 0.6.0 (breaking change: editor behavior)

Test plan

  • 5 unit tests pass (including 2 new typed param tests)
  • 11 new e2e tests using mockito covering all four features
  • 2 existing run tests pass (no regressions)
  • 2 env tests + 1 import test pass (no regressions)
  • cargo clippy — 0 warnings
  • cargo fmt -- --check — 0 diffs

🤖 Generated with Claude Code

Add four features for scripted/non-interactive CLI usage:

- Typed parameter substitution (|boolean, |number, |file) with validation
- Multipart file uploads via |file type params
- Non-interactive body handling (editor no longer opens by default, use -e)
- Structured JSON output via --json flag

Also resolves all pre-existing clippy warnings across the codebase and
bumps version to 0.6.0 (breaking: editor behavior change).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant