greentic-cards2pack

Crates.iogreentic-cards2pack
lib.rsgreentic-cards2pack
version0.4.2
created_at2026-01-21 14:45:53.098871+00
updated_at2026-01-21 14:45:53.098871+00
descriptionGenerate Greentic pack workspaces and archives from Adaptive Cards
homepagehttps://github.com/greentic-ai/greentic-cards2pack
repositoryhttps://github.com/greentic-ai/greentic-cards2pack
max_upload_size
id2059452
size121,173
Greentic - the greener Agentic AI (greentic-ai)

documentation

https://docs.rs/greentic-cards2pack

README

greentic-cards2pack

Generate Greentic pack workspaces and .gtpack archives from a directory of Adaptive Card JSON files.

This CLI scans cards, groups them into flows, generates flow files, and packages everything into a Greentic pack in a single command.

Quick Start

  1. Install:
cargo install cargo-binstall 
cargo binstall greentic-cards2pack

You also need:

cargo binstall greentic-flow greentic-pack
  1. Run:
greentic-cards2pack generate \
  --cards ./cards \
  --out ./packs/hr-demo \
  --name hr-demo

What You Get

--out becomes a full pack workspace:

./packs/hr-demo/
  pack.yaml
  flows/main.ygtc
  assets/cards/...
  dist/hr-demo.gtpack
  .cards2pack/manifest.json

The generated flow uses the Adaptive Card component: oci://ghcr.io/greentic-ai/components/component-adaptive-card:latest.

Common Warnings

  • ignored_file: A JSON file under --cards is not an Adaptive Card (missing type: "AdaptiveCard").

    • Safe to ignore if those JSON files are supporting data.
    • If it should be a card, fix the file so it has type: "AdaptiveCard".
  • missing_target: A card action references a step/cardId that does not exist in the flow.

    • In non-strict mode, a stub node is created.
    • In strict mode, this is an error and generation fails.
    • Fix by ensuring the target card exists or updating the action data.

Tips

  • Use --strict to enforce consistent metadata and required targets.
  • The .cards2pack/manifest.json file records the scan results and warnings.
Commit count: 6

cargo fmt