pantry/projects/github.com/AntonOsika/gpt-engineer/entrypoint.sh
2023-10-10 11:34:59 -04:00

62 lines
1.5 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env -S pkgx +gum bash
# shellcheck shell=bash
set -eo pipefail
# attempt to get the key from the users shell rc files (if set)
if [ -z "$OPENAI_API_KEY" ] && [ -n "$SHELL" ]; then
# shellcheck disable=SC2155,2016
export OPENAI_API_KEY="$(env -i "$SHELL" -ic 'echo $OPENAI_API_KEY')"
fi
if [ -z "$OPENAI_API_KEY" ]; then
gum format <<EoMD
# OpenAI API key required
You need an OpenAI API key to use this package.
> https://platform.openai.com/account/api-keys
GPT4 is recommended (but you gotta sign up for the
the [waitlist](https://openai.com/waitlist/gpt-4-api))
**this key will not be persisted by pkgx!**
EoMD
echo # spacer
# shellcheck disable=SC2155
export OPENAI_API_KEY="$(gum input --placeholder 'key pls')"
fi
gum format <<EoMD
# what do you want to build?
the example prompt \`gpt-engineer\` provide is:
> we are writing snake in python. MVC components split in separate files. keyboard control.
type your prompt below (⌃D when done)
EoMD
echo #spacer
prompt="$(gum write --placeholder 'main prompt…')"
gum format <<EoMD
# we store the results in your documents folder, whats the title?
EoMD
title="$(gum input --placeholder 'title?')"
docs="${XDG_DOCUMENTS_DIR:-$HOME/Documents}/GPT Engineer"
mkdir -p "$docs/$title"
echo "$prompt" > "$docs/$title/main_prompt"
gum format <<EoMD
> output will be written to \`$docs/$title\`
# running \`gpt-engineer\`
EoMD
exec gpt-engineer "$docs/$title"