35 lines
1.3 KiB
Plaintext
35 lines
1.3 KiB
Plaintext
# Serve opencode for remote/browser attachment using repo-local .env secrets.
|
|
[positional-arguments]
|
|
opencode-serve *args:
|
|
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
repo='{{justfile_directory()}}'
|
|
if [ -f "$repo/.env" ]; then set -a; . "$repo/.env"; set +a; fi
|
|
if [ -z "${OPENCODE_SERVER_PASSWORD:-}" ]; then
|
|
printf '%s\n' 'Missing OPENCODE_SERVER_PASSWORD in .env' >&2
|
|
exit 1
|
|
fi
|
|
export OPENCODE_SERVER_PASSWORD
|
|
hostname="${TRAP_CCLIBS_OPENCODE_HOSTNAME:-0.0.0.0}"
|
|
port="${TRAP_CCLIBS_OPENCODE_PORT:-4242}"
|
|
exec opencode serve --hostname "$hostname" --port "$port" "$@"
|
|
|
|
# Attach to the local opencode server. Pass a URL first to override the default.
|
|
[positional-arguments]
|
|
opencode-attach *args:
|
|
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
repo='{{justfile_directory()}}'
|
|
if [ -f "$repo/.env" ]; then set -a; . "$repo/.env"; set +a; fi
|
|
if [ -z "${OPENCODE_SERVER_PASSWORD:-}" ]; then
|
|
printf '%s\n' 'Missing OPENCODE_SERVER_PASSWORD in .env' >&2
|
|
exit 1
|
|
fi
|
|
export OPENCODE_SERVER_PASSWORD
|
|
port="${TRAP_CCLIBS_OPENCODE_PORT:-4242}"
|
|
target="http://127.0.0.1:$port"
|
|
if [ "${1:-}" != "" ]; then
|
|
case "$1" in http://*|https://*) target="$1"; shift ;; esac
|
|
fi
|
|
exec opencode attach "$target" "$@"
|