File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11FROM mcr.microsoft.com/devcontainers/base:bookworm
22
33# [Optional] Uncomment this section to install additional OS packages.
4- # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
5- # && apt-get -y install --no-install-recommends <your-package-list-here>
4+ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
5+ && apt-get -y install --no-install-recommends shellcheck
66
77# [Optional] Uncomment if you want to install an additional version of node using nvm
88# ARG EXTRA_NODE_VERSION=10
Original file line number Diff line number Diff line change 1+ name : Shell Script Linting
2+
3+ on :
4+ push :
5+ branches : [ main, booting ]
6+ pull_request :
7+ branches : [ main ]
8+
9+ jobs :
10+ shellcheck :
11+ runs-on : ubuntu-latest
12+ steps :
13+ - name : Checkout code
14+ uses : actions/checkout@v4
15+
16+ - name : Run shellcheck
17+ run : |
18+ shellcheck install.sh .devcontainer/*.sh scripts/*.sh templates/scripts/*.sh
Original file line number Diff line number Diff line change @@ -23,7 +23,9 @@ build: ## Create a production build
2323 @echo " Build target not implemented yet — update after choosing your tech stack"
2424
2525lint : # # Run code formatting & linting
26- @echo " Lint target not implemented yet — update after choosing your tech stack"
26+ @echo " 🔍 Linting shell scripts..."
27+ @shellcheck install.sh .devcontainer/* .sh scripts/* .sh templates/scripts/* .sh || (echo " ❌ Shellcheck failed. Fix errors above." && exit 1)
28+ @echo " ✅ Shell scripts linted."
2729
2830clean : # # Remove build artifacts
2931 @echo " Clean target not implemented yet — update after choosing your tech stack"
Original file line number Diff line number Diff line change @@ -13,19 +13,19 @@ if [ ! -f .env ]; then
1313fi
1414
1515echo " Setting up environment variables..."
16- read -p " Enter your Git Name: " GIT_NAME
17- read -p " Enter your Git Email: " GIT_EMAIL
16+ read -rp " Enter your Git Name: " GIT_NAME
17+ read -rp " Enter your Git Email: " GIT_EMAIL
1818
1919echo " "
2020echo " Optional: SSH Public Key for commit signing."
2121echo " If you use 1Password as your SSH agent, you can copy the public key string directly."
2222echo " (e.g., ssh-ed25519 AAAAC3Nz...)"
23- read -p " Enter your SSH Public Key (press Enter to skip): " SSH_PUBLIC_KEY
23+ read -rp " Enter your SSH Public Key (press Enter to skip): " SSH_PUBLIC_KEY
2424
2525echo " "
2626echo " Optional: The Gemini API Key is used by the Gemini CLI inside this Devcontainer."
2727echo " You can get an API key from: https://aistudio.google.com/app/apikey"
28- read -p " Enter your Gemini API Key (press Enter to skip): " GEMINI_API_KEY
28+ read -rp " Enter your Gemini API Key (press Enter to skip): " GEMINI_API_KEY
2929
3030echo " "
3131echo " Optional: Authenticate with GitHub CLI for automations inside the Devcontainer."
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ echo "🔍 Starting Devcontainer Troubleshooting..."
55echo " ----------------------------------------"
66
77# Change to the repository root relative to the script's location
8- cd " $( dirname " ${BASH_SOURCE[0]} " ) /.."
8+ cd " $( dirname " ${BASH_SOURCE[0]} " ) /.." || exit
99
1010ISSUE_FOUND=0
1111
Original file line number Diff line number Diff line change @@ -13,19 +13,19 @@ if [ ! -f .env ]; then
1313fi
1414
1515echo " Setting up environment variables..."
16- read -p " Enter your Git Name: " GIT_NAME
17- read -p " Enter your Git Email: " GIT_EMAIL
16+ read -rp " Enter your Git Name: " GIT_NAME
17+ read -rp " Enter your Git Email: " GIT_EMAIL
1818
1919echo " "
2020echo " Optional: SSH Public Key for commit signing."
2121echo " If you use 1Password as your SSH agent, you can copy the public key string directly."
2222echo " (e.g., ssh-ed25519 AAAAC3Nz...)"
23- read -p " Enter your SSH Public Key (press Enter to skip): " SSH_PUBLIC_KEY
23+ read -rp " Enter your SSH Public Key (press Enter to skip): " SSH_PUBLIC_KEY
2424
2525echo " "
2626echo " Optional: The Gemini API Key is used by the Gemini CLI inside this Devcontainer."
2727echo " You can get an API key from: https://aistudio.google.com/app/apikey"
28- read -p " Enter your Gemini API Key (press Enter to skip): " GEMINI_API_KEY
28+ read -rp " Enter your Gemini API Key (press Enter to skip): " GEMINI_API_KEY
2929
3030echo " "
3131echo " Optional: Authenticate with GitHub CLI for automations inside the Devcontainer."
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ echo "🔍 Starting Devcontainer Troubleshooting..."
55echo " ----------------------------------------"
66
77# Change to the repository root relative to the script's location
8- cd " $( dirname " ${BASH_SOURCE[0]} " ) /.."
8+ cd " $( dirname " ${BASH_SOURCE[0]} " ) /.." || exit
99
1010ISSUE_FOUND=0
1111
You can’t perform that action at this time.
0 commit comments