From 95ab38e8d6dfe6487879e2b036bbaaea2ecea037 Mon Sep 17 00:00:00 2001 From: cornmander Date: Wed, 7 May 2025 16:21:16 -0400 Subject: [PATCH] Create simple script for setting up a dev environment. (#277) --- README.md | 4 ++++ scripts/setup-dev.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100755 scripts/setup-dev.sh diff --git a/README.md b/README.md index 82d71888..98b205ac 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,10 @@ This repository contains the Gemini Code CLI tool. ## Building +### Prerequisites: + +The build toolchain requires `npm` and `jq` to be installed. You can use the `scripts/setup-dev.sh` script to install these prerequisites. + To build the entire project, including the CLI package, run the following command from the root directory: ```bash diff --git a/scripts/setup-dev.sh b/scripts/setup-dev.sh new file mode 100755 index 00000000..f8d0bf13 --- /dev/null +++ b/scripts/setup-dev.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# Copyright 2025 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -euo pipefail + +# Check if npm is installed +if ! command -v npm &> /dev/null +then + echo "npm not found. Installing npm via nvm..." + # Download and install nvm: + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash + # in lieu of restarting the shell + \. "$HOME/.nvm/nvm.sh" + # Download and install Node.js: + nvm install 22 + # Verify the Node.js version: + node -v # Should print "v22.15.0". + nvm current # Should print "v22.15.0". + # Verify npm version: + npm -v # Should print "10.9.2". +fi + +# Check if jq is installed +if ! command -v jq &> /dev/null +then + echo "jq not found. Installing jq..." + # This assumes a Debian/Ubuntu based system. Adjust for other distributions. + sudo apt-get update + sudo apt-get install -y jq +fi + +echo "Development environment setup complete."