images/developer/scripts/entrypoint.sh
Snider 69d293dd23
Some checks are pending
Build Images / Docker (developer) (push) Waiting to run
Build Images / Docker (server-php) (push) Waiting to run
Build Images / LinuxKit (developer-amd64) (push) Blocked by required conditions
Build Images / LinuxKit (server-php-amd64) (push) Blocked by required conditions
Build Images / LinuxKit (developer-arm64) (push) Blocked by required conditions
Build Images / LinuxKit (server-php-arm64) (push) Blocked by required conditions
Build Images / Release LinuxKit Images (push) Blocked by required conditions
feat(developer): add full-fat dev environment with 100+ tools
Comprehensive developer image with all S4.6 tooling:

AI/LLM: claude, aider, llm
VCS: git, gh, lazygit, delta, git-lfs
Runtimes: node, bun, deno, go, python3, rustc, frankenphp
Package Mgrs: npm, pnpm, yarn, composer, pip, uv, cargo
Build: task, just, make, turbo, nx
Linting: pint, phpstan, prettier, eslint, biome, golangci-lint, ruff
Testing: phpunit, pest, vitest, k6
Infra: docker, kubectl, k9s, helm, terraform, ansible
Databases: sqlite, mysql, psql, redis-cli, usql
HTTP/Net: curl, httpie, xh, websocat, grpcurl, mkcert
Data: jq, yq, fx, gron, miller, dasel
Security: age, sops, cosign, trivy, trufflehog
Monitoring: htop, btop, ctop, lazydocker, dive
Files: fd, rg, fzf, bat, eza, tree, zoxide, broot
Editors: nvim, helix, vim, nano

Includes shell config (zsh + oh-my-zsh + starship), tmux, and
comprehensive aliases for all tools.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 22:31:24 +00:00

47 lines
1.2 KiB
Bash

#!/bin/sh
# Core Developer - Entrypoint Script
set -e
# Run pre-start hooks if they exist
if [ -d "/root/.config/core-dev/hooks/pre-start" ]; then
for hook in /root/.config/core-dev/hooks/pre-start/*; do
[ -x "$hook" ] && "$hook"
done
fi
# Setup git config if not already set
if [ -z "$(git config --global user.name 2>/dev/null)" ]; then
if [ -n "$GIT_USER_NAME" ]; then
git config --global user.name "$GIT_USER_NAME"
fi
fi
if [ -z "$(git config --global user.email 2>/dev/null)" ]; then
if [ -n "$GIT_USER_EMAIL" ]; then
git config --global user.email "$GIT_USER_EMAIL"
fi
fi
# Setup SSH agent if keys exist
if [ -d "$HOME/.ssh" ] && [ -z "$SSH_AUTH_SOCK" ]; then
eval "$(ssh-agent -s)" > /dev/null 2>&1
for key in $HOME/.ssh/id_* ; do
[ -f "$key" ] && [ ! -f "$key.pub" ] || ssh-add "$key" 2>/dev/null || true
done
fi
# Initialize mkcert CA if not already done
if [ ! -f "$HOME/.local/share/mkcert/rootCA.pem" ]; then
mkcert -install 2>/dev/null || true
fi
# Run post-start hooks if they exist
if [ -d "/root/.config/core-dev/hooks/post-start" ]; then
for hook in /root/.config/core-dev/hooks/post-start/*; do
[ -x "$hook" ] && "$hook"
done
fi
# Execute command
exec "$@"