Skip to content

inspect

Display detailed information about a compiled pack file.

Terminal window
packc inspect <pack-file>

The inspect command displays comprehensive information about a pack’s structure, contents, and metadata. Use this to understand what’s inside a pack without manually parsing the JSON.

<pack-file> (required)

  • Path to the pack file to inspect
  • Must be a .pack.json file
Terminal window
packc inspect packs/app.pack.json

Output:

=== Pack Information ===
Pack: Customer Support Assistant
ID: customer-support
Version: v1.0.0
Description: AI-powered customer support system
Template Engine: v1 ({{variable}})
=== Prompts (3) ===
[customer-support]
Name: Customer Support Agent
Description: Handles customer inquiries
Version: v1.0.0
Variables: 2 required, 1 optional
Required: [customer_name, order_id]
Tools (2): [search_kb, create_ticket]
[sales-assistant]
Name: Sales Assistant
Description: Assists with sales inquiries
Version: v1.0.0
Variables: 2 required, 0 optional
Required: [product_name, price]
Tools (2): [search_products, get_inventory]
[technical-expert]
Name: Technical Expert
Description: Technical troubleshooting
Version: v1.0.0
Variables: 2 required, 0 optional
Required: [product_id, error_code]
Tools (2): [search_docs, run_diagnostics]
Shared Fragments (2): [greeting, signature]
Pack Metadata:
Domain: customer-service
Language: en
Tags: [support, production]
Compilation: packc-v0.1.0, 2025-01-15T10:30:00Z, Schema: v1
Terminal window
packc inspect packs/app.pack.json > pack-info.txt
Terminal window
for pack in packs/*.pack.json; do
echo "=== $pack ==="
packc inspect "$pack"
echo ""
done

Basic pack metadata:

Pack: Name of the pack
ID: unique-identifier
Version: 1.0.0
Description: Pack description

Template system used:

Template Engine: v1 ({{variable}})

Shows the template engine version and syntax format.

Detailed information for each prompt:

[prompt-name]
Name: Display Name
Description: Prompt description
Version: v1.0.0
Variables: 2 required, 1 optional
Required: [var1, var2]
Tools (2): [tool1, tool2]

Reusable prompt fragments:

Shared Fragments (2): greeting, signature

Additional pack information:

Pack Metadata:
Domain: customer-service
Language: en
Tags: [support, production]

Build details:

Compilation: packc-v0.1.0, 2025-01-15T10:30:00Z, Schema: v1
Terminal window
packc inspect packs/app.pack.json | head -n 10
Terminal window
packc inspect packs/app.pack.json | grep -A 5 "=== Prompts"
Terminal window
packc inspect packs/app.pack.json | grep "Version:"
Terminal window
packc inspect packs/app.pack.json | grep "Tools:" | sort -u
Terminal window
diff <(packc inspect packs/v1.pack.json) <(packc inspect packs/v2.pack.json)
Terminal window
# Generate documentation
packc inspect packs/prod.pack.json > docs/pack-contents.md
  • 0 - Success
  • 1 - Error (pack not found, invalid format, etc.)
Terminal window
$ packc inspect missing.pack.json
Error loading pack: open missing.pack.json: no such file or directory

Solution: Check file path is correct

Terminal window
$ packc inspect invalid.json
Error loading pack: invalid pack format

Solution: Ensure file is a valid pack (use validate first)

#!/bin/bash
# Check pack before deploying
echo "Inspecting pack..."
packc inspect packs/prod.pack.json
read -p "Deploy this pack? (y/n) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
./deploy.sh packs/prod.pack.json
fi
#!/bin/bash
# Compare two pack versions
OLD_PACK=$1
NEW_PACK=$2
echo "=== Old Pack ==="
packc inspect "$OLD_PACK"
echo ""
echo "=== New Pack ==="
packc inspect "$NEW_PACK"
echo ""
echo "=== Differences ==="
diff <(packc inspect "$OLD_PACK") <(packc inspect "$NEW_PACK")
#!/bin/bash
# Generate inventory of all packs
echo "# Pack Inventory" > inventory.md
echo "" >> inventory.md
for pack in packs/*.pack.json; do
echo "## $(basename $pack)" >> inventory.md
packc inspect "$pack" | head -n 20 >> inventory.md
echo "" >> inventory.md
done

Always inspect new packs:

Terminal window
packc inspect unknown.pack.json

Keep pack documentation up-to-date:

Terminal window
packc inspect packs/app.pack.json > docs/PACK.md
git add docs/PACK.md
git commit -m "docs: update pack documentation"

Inspect downloaded packs:

Terminal window
curl -O https://example.com/packs/app.pack.json
packc inspect app.pack.json
packc validate app.pack.json
Terminal window
# Compare dev vs prod
diff <(packc inspect packs/app.dev.pack.json) \
<(packc inspect packs/app.prod.pack.json)