@@ -8,15 +8,15 @@ run_command() {
88 local command_to_run=" $* "
99 local output
1010 local exit_code
11-
11+
1212 # Capture all output (stdout and stderr)
1313 output=$( eval " $command_to_run " 2>&1 ) || exit_code=$?
1414 exit_code=${exit_code:- 0}
15-
15+
1616 if [ $exit_code -ne 0 ]; then
1717 echo -e " \033[0;31m[ERROR] Command failed (Exit Code $exit_code ): $command_to_run \033[0m" >&2
1818 echo -e " \033[0;31m$output \033[0m" >&2
19-
19+
2020 exit $exit_code
2121 fi
2222}
@@ -51,38 +51,63 @@ echo -e "\n🤖 Installing OpenCode CLI..."
5151run_command " npm install -g opencode-ai@latest"
5252echo " ✅ Done"
5353
54- echo -e " \n🤖 Installing Amazon Q CLI..."
55- # 👉🏾 https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-verify-download.html
56-
57- run_command " curl --proto '=https' --tlsv1.2 -sSf 'https://desktop-release.q.us-east-1.amazonaws.com/latest/q-x86_64-linux.zip' -o 'q.zip'"
58- run_command " curl --proto '=https' --tlsv1.2 -sSf 'https://desktop-release.q.us-east-1.amazonaws.com/latest/q-x86_64-linux.zip.sig' -o 'q.zip.sig'"
59- cat > amazonq-public-key.asc << 'EOF '
60- -----BEGIN PGP PUBLIC KEY BLOCK-----
61-
62- mDMEZig60RYJKwYBBAHaRw8BAQdAy/+G05U5/EOA72WlcD4WkYn5SInri8pc4Z6D
63- BKNNGOm0JEFtYXpvbiBRIENMSSBUZWFtIDxxLWNsaUBhbWF6b24uY29tPoiZBBMW
64- CgBBFiEEmvYEF+gnQskUPgPsUNx6jcJMVmcFAmYoOtECGwMFCQPCZwAFCwkIBwIC
65- IgIGFQoJCAsCBBYCAwECHgcCF4AACgkQUNx6jcJMVmef5QD/QWWEGG/cOnbDnp68
66- SJXuFkwiNwlH2rPw9ZRIQMnfAS0A/0V6ZsGB4kOylBfc7CNfzRFGtovdBBgHqA6P
67- zQ/PNscGuDgEZig60RIKKwYBBAGXVQEFAQEHQC4qleONMBCq3+wJwbZSr0vbuRba
68- D1xr4wUPn4Avn4AnAwEIB4h+BBgWCgAmFiEEmvYEF+gnQskUPgPsUNx6jcJMVmcF
69- AmYoOtECGwwFCQPCZwAACgkQUNx6jcJMVmchMgEA6l3RveCM0YHAGQaSFMkguoAo
70- vK6FgOkDawgP0NPIP2oA/jIAO4gsAntuQgMOsPunEdDeji2t+AhV02+DQIsXZpoB
71- =f8yY
72- -----END PGP PUBLIC KEY BLOCK-----
73- EOF
74- run_command " gpg --batch --import amazonq-public-key.asc"
75- run_command " gpg --verify q.zip.sig q.zip"
76- run_command " unzip -q q.zip"
77- run_command " chmod +x ./q/install.sh"
78- run_command " ./q/install.sh --no-confirm"
79- run_command " rm -rf ./q q.zip q.zip.sig amazonq-public-key.asc"
54+ echo -e " \n🤖 Installing Junie CLI..."
55+ run_command " npm install -g @jetbrains/junie-cli@latest"
56+ echo " ✅ Done"
57+
58+ echo -e " \n🤖 Installing Pi Coding Agent..."
59+ run_command " npm install -g @earendil-works/pi-coding-agent@latest"
60+ echo " ✅ Done"
61+
62+ echo -e " \n🤖 Installing Kiro CLI..."
63+ # https://kiro.dev/docs/cli/
64+ KIRO_INSTALLER_URL=" https://kiro.dev/install.sh"
65+ KIRO_INSTALLER_SHA256=" 7487a65cf310b7fb59b357c4b5e6e3f3259d383f4394ecedb39acf70f307cffb"
66+ KIRO_INSTALLER_PATH=" $( mktemp) "
67+
68+ cleanup_kiro_installer () {
69+ rm -f " $KIRO_INSTALLER_PATH "
70+ }
71+ trap cleanup_kiro_installer EXIT
72+
73+ run_command " curl -fsSL \" $KIRO_INSTALLER_URL \" -o \" $KIRO_INSTALLER_PATH \" "
74+ run_command " echo \" $KIRO_INSTALLER_SHA256 $KIRO_INSTALLER_PATH \" | sha256sum -c -"
75+
76+ run_command " bash \" $KIRO_INSTALLER_PATH \" "
77+
78+ kiro_binary=" "
79+ if command -v kiro-cli > /dev/null 2>&1 ; then
80+ kiro_binary=" kiro-cli"
81+ elif command -v kiro > /dev/null 2>&1 ; then
82+ kiro_binary=" kiro"
83+ else
84+ echo -e " \033[0;31m[ERROR] Kiro CLI installation did not create 'kiro-cli' or 'kiro' in PATH.\033[0m" >&2
85+ exit 1
86+ fi
87+
88+ run_command " $kiro_binary --help > /dev/null"
89+ echo " ✅ Done"
90+
91+ echo -e " \n🤖 Installing Kimi Code CLI..."
92+ # https://code.kimi.com
93+ run_command " npm install -g @moonshot-ai/kimi-code@latest"
8094echo " ✅ Done"
8195
8296echo -e " \n🤖 Installing CodeBuddy CLI..."
8397run_command " npm install -g @tencent-ai/codebuddy-code@latest"
8498echo " ✅ Done"
8599
100+ echo -e " \n🤖 Installing Factory Droid CLI..."
101+ run_command " npm install -g droid@latest"
102+
103+ if ! command -v droid > /dev/null 2>&1 ; then
104+ echo -e " \033[0;31m[ERROR] Droid CLI installation did not create 'droid' in PATH.\033[0m" >&2
105+ exit 1
106+ fi
107+
108+ run_command " droid --version > /dev/null"
109+ echo " ✅ Done"
110+
86111# Installing UV (Python package manager)
87112echo -e " \n🐍 Installing UV - Python Package Manager..."
88113run_command " pipx install uv"
0 commit comments