Skip to content

fraglet-entrypoint v0.2.0

Choose a tag to compare

@github-actions github-actions released this 23 Nov 06:08
· 110 commits to main since this release

Release v0.2.0

Key Highlights

Major update with improved documentation commands, simplified configuration, and dynamic usage generation.

✨ New Features

Dynamic Usage Documentation

  • usage command: Generates container usage documentation dynamically from configuration
    • Shows docker run commands with correct mount paths
    • Displays injection details (code path, marker location)
    • Includes functional examples with code from target files
    • Always available, even without static documentation files

Simplified Command Structure

  • guide command: Replaces agent-help - displays static authoring guide for writing fraglets
  • usage command: Replaces how-to - displays dynamic container usage documentation
  • Clear separation: usage = running containers (dynamic), guide = authoring fraglets (static)

🔄 Breaking Changes

Command Renames

  • agent-helpguide (static authoring documentation)
  • how-tousage (dynamic container usage)
  • how-to command removed entirely

Configuration Changes

  • Config file renamed: fraglet-entrypoint.yamlfraglet.yaml (or fraglet.yml)
    • Config lookup checks both .yaml and .yml extensions
    • Default path: /fraglet.yaml
  • Config field renamed: agentHelpguide
  • Config field removed: howTo (replaced by dynamic usage command)
  • Default guide path: /guide.md (was /agent-help.md)

🔧 Configuration

Updated Config File Format

fragletTempPath: /FRAGLET
injection:
  codePath: /path/to/target-script.sh
  match: FRAGLET
guide: /guide.md
execution:
  path: /path/to/target-script.sh
  makeExecutable: true

Config File Lookup

  1. FRAGLET_CONFIG environment variable (if set)
  2. fraglet.yaml or fraglet.yml as sibling to binary
  3. /fraglet.yaml (default)

📝 Usage Examples

View Container Usage

docker run --rm <container> usage

View Authoring Guide

docker run --rm <container> guide

🐛 Improvements

  • Mount paths in usage output are normalized to absolute paths for clarity
  • Usage examples show only the code at marker locations, not entire files
  • Better error handling when documentation files are missing
  • Improved functional examples in usage output

📚 Migration Guide

Updating Config Files

Before (v0.1.0):

agentHelp: /agent-help.md
howTo: /how-to.md

After (v0.2.0):

guide: /guide.md
# usage is now dynamic, no config needed

Updating Container Commands

Before:

docker run <container> agent-help
docker run <container> how-to

After:

docker run <container> guide
docker run <container> usage

Renaming Config Files

Rename fraglet-entrypoint.yaml to fraglet.yaml (or fraglet.yml).

Quick Start

# Download the binary for your platform
# Extract and place in your container

# Create a fraglet.yaml configuration
cat > fraglet.yaml <<EOF
fragletTempPath: /FRAGLET
injection:
  codePath: /path/to/script.sh
  match: FRAGLET
guide: /guide.md
execution:
  path: /path/to/script.sh
  makeExecutable: true
EOF

# Use as container entrypoint
ENTRYPOINT ["/usr/local/bin/fraglet-entrypoint"]