Skip to content

feat: integrate command-based executor into build pipeline#271

Merged
szmyty merged 2 commits into
mainfrom
copilot/implement-command-based-executor
Apr 9, 2026
Merged

feat: integrate command-based executor into build pipeline#271
szmyty merged 2 commits into
mainfrom
copilot/implement-command-based-executor

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 9, 2026

CommandTransform and the YAML transform loader were fully implemented but never wired into the application, causing cargo clippy -- -D warnings to fail with 9 dead-code/unused-import errors in CI.

Changes

  • src/config.rs – Added optional transforms: Option<String> field to Config. Points to a YAML file defining additional command-based transforms (ImageMagick, Pandoc, etc.) to run after the standard pipeline.

  • src/commands/build.rs – Loads the YAML command registry once before the format loop, applies it after the standard pipeline (emoji → variables → syntax highlight) in the cache-miss branch. Inherits FailFast/ContinueOnError from the resilient flag.

  • src/transforms/mod.rs – Pruned unused pub use re-exports (CommandTransform, YamlTransformConfig, YamlTransformDef, parse_transforms_from_str). Binary crate only needs load_transforms_from_yaml externally; the rest are used internally via the call chain.

Usage

# renderflow.yaml
outputs:
  - type: pdf
input: document.md
transforms: transforms.yaml  # optional; omit if no command transforms needed
# transforms.yaml
transforms:
  - name: pandoc-md-to-html
    program: pandoc
    args: ["{input}", -o, "{output}"]
    from: markdown
    to: html
    cost: 0.5
    quality: 0.9

Copilot AI linked an issue Apr 9, 2026 that may be closed by this pull request
5 tasks
… transforms field

- Add optional `transforms` field to `Config` struct for specifying a YAML
  transforms file path
- Load and apply command-based transforms in `build.rs` after the standard
  pipeline (emoji, variables, syntax highlighting)
- Respect resilient/fail-fast mode for command transforms
- Remove unused re-exports from `transforms/mod.rs` (binary crate only needs
  `load_transforms_from_yaml` publicly)
- Add config tests for new `transforms` field

Agent-Logs-Url: https://github.com/egohygiene/renderflow/sessions/2d51596e-3bd9-4a2b-b564-c866ef7bf2d9

Co-authored-by: szmyty <14865041+szmyty@users.noreply.github.com>
Copilot AI changed the title [WIP] Add command-based executor for shell transformations feat: integrate command-based executor into build pipeline Apr 9, 2026
Copilot AI requested a review from szmyty April 9, 2026 17:22
@szmyty szmyty marked this pull request as ready for review April 9, 2026 17:28
@szmyty szmyty merged commit c8d175a into main Apr 9, 2026
@szmyty szmyty deleted the copilot/implement-command-based-executor branch April 9, 2026 17:29
@devactivity-app
Copy link
Copy Markdown

Pull Request Summary by devActivity

Metrics

Cycle Time: 22m Coding Time: < 1 min Pickup Time: 6m Review Time: < 1 min

Achievements

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.

⚙️ Implement command-based executor for shell transformations

2 participants