## Description Due to rebranding of the Amazon Q to kiro-cli, new module was created ## Type of Change - [x] New module - [ ] New template - [ ] Bug fix - [ ] Feature/enhancement - [ ] Documentation - [ ] Other ## Module Information All defined in the README **Path:** `registry/harleylrn/modules/kiro-cli` **New version:** `v1.0.0` **Breaking change:** [ ] Yes [x] No ## Testing & Validation - [x] Tests pass (`bun test`) - [x] Code formatted (`bun fmt`) - [x] Changes tested locally ## Related Issues Resolves #547 --------- Co-authored-by: DevCats <christofer@coder.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Harley Davidson <harleylrn@users.noreply.github.com>
68 lines
1.8 KiB
Bash
68 lines
1.8 KiB
Bash
#!/bin/bash
|
|
# Start script for kiro-cli module
|
|
|
|
set -o errexit
|
|
set -o pipefail
|
|
|
|
command_exists() {
|
|
command -v "$1" > /dev/null 2>&1
|
|
}
|
|
|
|
# Decode inputs
|
|
ARG_AI_PROMPT=$(echo -n "${ARG_AI_PROMPT:-}" | base64 -d)
|
|
ARG_TRUST_ALL_TOOLS=${ARG_TRUST_ALL_TOOLS:-true}
|
|
ARG_MODULE_DIR_NAME=${ARG_MODULE_DIR_NAME:-.kiro}
|
|
ARG_WORKDIR=${ARG_WORKDIR:-"$HOME"}
|
|
ARG_REPORT_TASKS=${ARG_REPORT_TASKS:-true}
|
|
ARG_SERVER_PARAMETERS=${ARG_SERVER_PARAMETERS:-""}
|
|
|
|
echo "--------------------------------"
|
|
echo "ai_prompt: $ARG_AI_PROMPT"
|
|
echo "trust_all_tools: $ARG_TRUST_ALL_TOOLS"
|
|
echo "module_dir_name: $ARG_MODULE_DIR_NAME"
|
|
echo "workdir: $ARG_WORKDIR"
|
|
echo "report_tasks: ${ARG_REPORT_TASKS}"
|
|
echo "--------------------------------"
|
|
|
|
mkdir -p "$HOME/$ARG_MODULE_DIR_NAME"
|
|
|
|
# Find Kiro CLI
|
|
if command_exists kiro-cli; then
|
|
KIRO_CMD=kiro-cli
|
|
elif [ -x "$HOME/.local/bin/kiro-cli" ]; then
|
|
KIRO_CMD="$HOME/.local/bin/kiro-cli"
|
|
else
|
|
echo "Error: Kiro CLI not found. Install it or set install_kiro_cli=true."
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$ARG_WORKDIR"
|
|
cd "$ARG_WORKDIR"
|
|
|
|
# Set up environment
|
|
export LANG=en_US.UTF-8
|
|
export LC_ALL=en_US.UTF-8
|
|
|
|
# Build command arguments
|
|
ARGS=(chat)
|
|
|
|
if [ "$ARG_TRUST_ALL_TOOLS" = "true" ]; then
|
|
ARGS+=(--trust-all-tools)
|
|
fi
|
|
|
|
# Log and run with agentapi integration
|
|
printf "Running: %q %s\n" "$KIRO_CMD" "$(printf '%q ' "${ARGS[@]}")"
|
|
|
|
# If we have an AI prompt, we need to handle it specially
|
|
if [ -n "$ARG_AI_PROMPT" ]; then
|
|
if [ "$ARG_REPORT_TASKS" == "true" ]; then
|
|
PROMPT="Every step of the way, report your progress using coder_report_task tool with proper summary and statuses. Your task at hand: $ARG_AI_PROMPT"
|
|
else
|
|
PROMPT="$ARG_AI_PROMPT"
|
|
fi
|
|
ARGS+=("$PROMPT")
|
|
fi
|
|
|
|
# Use agentapi to manage the interactive session with initial prompt
|
|
agentapi server ${ARG_SERVER_PARAMETERS} --term-width 67 --term-height 1190 -- "$KIRO_CMD" "${ARGS[@]}"
|