feat(toolbox): update Docker configuration and documentation
- Update ToolboxStack/output/toolbox-base/Dockerfile with latest container configurations - Update ToolboxStack/output/toolbox-base/PROMPT with enhanced AI collaboration instructions - Update ToolboxStack/output/toolbox-base/README.md with current documentation - Add ToolboxStack/collab/tool-additions/ directory for additional tool configurations - Update CloudronStack/output/master-control-script.sh with improved automation logic These changes enhance the developer workspace configuration and improve automation workflows across the project.
This commit is contained in:
		
							
								
								
									
										7
									
								
								ToolboxStack/collab/tool-additions/AICLI.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								ToolboxStack/collab/tool-additions/AICLI.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| I need to add the following tools to the toolbox-base image: | ||||
|  | ||||
| - https://github.com/just-every/code | ||||
| - https://github.com/QwenLM/qwen-code | ||||
| - https://github.com/google-gemini/gemini-cli | ||||
| - https://github.com/openai/codex | ||||
| - https://github.com/sst/opencode | ||||
| @@ -68,6 +68,9 @@ RUN curl -sSfL https://raw.githubusercontent.com/aquaproj/aqua-installer/v2.3.1/ | ||||
| # Install mise for runtime management (no global toolchains pre-installed) | ||||
| RUN curl -sSfL https://mise.jdx.dev/install.sh | env MISE_INSTALL_PATH=/usr/local/bin/mise MISE_INSTALL_HELP=0 sh | ||||
|  | ||||
| # Install Node.js via mise to enable npm package installation | ||||
| RUN mise install node@lts && mise global node@lts | ||||
|  | ||||
| # Create non-root user with matching UID/GID for host mapping | ||||
| RUN if getent passwd "${USER_ID}" >/dev/null; then \ | ||||
|         existing_user="$(getent passwd "${USER_ID}" | cut -d: -f1)"; \ | ||||
| @@ -96,6 +99,9 @@ RUN su - "${USERNAME}" -c 'git clone --depth=1 https://github.com/ohmyzsh/ohmyzs | ||||
|     && su - "${USERNAME}" -c 'mkdir -p ~/.config/fish' \ | ||||
|     && su - "${USERNAME}" -c 'printf "\nset -gx AQUA_GLOBAL_CONFIG \$HOME/.config/aquaproj-aqua/aqua.yaml\n# Shell prompt and runtime manager\nstarship init fish | source\nmise activate fish | source\ndirenv hook fish | source\nzoxide init fish | source\n" >> ~/.config/fish/config.fish' | ||||
|  | ||||
| # Install Node.js for the toolbox user and set up the environment | ||||
| RUN su - "${USERNAME}" -c 'mise install node@lts && mise use -g node@lts' | ||||
|  | ||||
| COPY aqua.yaml /tmp/aqua.yaml | ||||
|  | ||||
| RUN chown "${USER_ID}:${GROUP_ID}" /tmp/aqua.yaml \ | ||||
| @@ -103,6 +109,12 @@ RUN chown "${USER_ID}:${GROUP_ID}" /tmp/aqua.yaml \ | ||||
|     && su - "${USERNAME}" -c 'cp /tmp/aqua.yaml ~/.config/aquaproj-aqua/aqua.yaml' \ | ||||
|     && su - "${USERNAME}" -c 'AQUA_GLOBAL_CONFIG=~/.config/aquaproj-aqua/aqua.yaml aqua install' | ||||
|  | ||||
| # Install AI CLI tools via npm using mise to ensure Node.js is available | ||||
| RUN mise exec -- npm install -g @just-every/code @qwen-code/qwen-code @google/gemini-cli @openai/codex opencode-ai@latest | ||||
|  | ||||
| # Install the same AI CLI tools for the toolbox user so they are available in the container runtime | ||||
| RUN su - "${USERNAME}" -c 'mise exec -- npm install -g @just-every/code @qwen-code/qwen-code @google/gemini-cli @openai/codex opencode-ai@latest' | ||||
|  | ||||
| # Prepare workspace directory with appropriate ownership | ||||
| RUN mkdir -p /workspace \ | ||||
|     && chown "${USER_ID}:${GROUP_ID}" /workspace | ||||
|   | ||||
| @@ -10,6 +10,7 @@ Current state: | ||||
| - Dockerfile installs shell tooling (zsh/bash/fish with Starship & oh-my-zsh), core CLI utilities (curl, wget, git, tmux, screen, htop, btop, entr, httpie, tea, bc, etc.), build-essential + headers, aqua, and mise. Aqua is pinned to specific versions for gh, lazygit, direnv, git-delta, zoxide, just, yq, xh, curlie, chezmoi, shfmt, shellcheck, hadolint, uv, watchexec; direnv/zoxide hooks are enabled for all shells (direnv logging muted). | ||||
| - aqua-managed CLI inventory lives in README.md alongside usage notes; tea installs via direct download with checksum verification (TEA_VERSION build arg). | ||||
| - mise handles language/tool runtimes; activation wired into zsh, bash, and fish. | ||||
| - AI CLI tools (just-every/code, QwenLM/qwen-code, google-gemini/gemini-cli, openai/codex, sst/opencode) are installed via npm and available in the PATH. | ||||
| - docker-compose.yml runs container with host UID/GID, `sleep infinity`, and docker socket mount; run via run.sh/build.sh. Host directories `~/.local/share/mise` and `~/.cache/mise` are mounted for persistent runtimes. | ||||
| - Devcontainer config ( .devcontainer/devcontainer.json ) references the compose service. | ||||
| - Documentation: README.md (tooling inventory & workflow) and this PROMPT must stay current, and both should stay aligned with the shared guidance in ../PROMPT. README also notes that build.sh now uses docker buildx with a local cache directory and documents the `dev` → `release-current` → semantic tagging workflow. | ||||
|   | ||||
| @@ -47,6 +47,7 @@ The compose service mounts the current repo to `/workspace` (read/write) and run | ||||
| | **Runtime & CLI Managers** | 🪄 `mise` • 💧 `aqua` | `mise` handles language/tool runtimes (activation wired into zsh/bash/fish); `aqua` manages standalone CLIs with config at `~/.config/aquaproj-aqua/aqua.yaml`. | | ||||
| | **Core CLI Utilities** | 📦 `curl` • 📥 `wget` • 🔐 `ca-certificates` • 🧭 `git` • 🔧 `build-essential` + headers (`pkg-config`, `libssl-dev`, `zlib1g-dev`, `libffi-dev`, `libsqlite3-dev`, `libreadline-dev`, `make`) • 🔍 `ripgrep` • 🧭 `fzf` • 📁 `fd` • 📖 `bat` • 🔗 `openssh-client` • 🧵 `tmux` • 🖥️ `screen` • 📈 `htop` • 📉 `btop` • ♻️ `entr` • 📊 `jq` • 🌐 `httpie` • ☕ `tea` • 🧮 `bc` | Provides ergonomic defaults plus toolchain deps for compiling runtimes (no global language installs). | | ||||
| | **Aqua-Managed CLIs** | 🐙 `gh` • 🌀 `lazygit` • 🪄 `direnv` • 🎨 `git-delta` • 🧭 `zoxide` • 🧰 `just` • 🧾 `yq` • ⚡ `xh` • 🌍 `curlie` • 🏠 `chezmoi` • 🛠️ `shfmt` • ✅ `shellcheck` • 🐳 `hadolint` • 🐍 `uv` • 🔁 `watchexec` | Extend via `~/.config/aquaproj-aqua/aqua.yaml` and run `aqua install`. Direnv logging is muted and hooks for direnv/zoxide are pre-configured for zsh, bash, and fish. | | ||||
| | **AI CLI Tools** | 🧠 `@just-every/code` • 🤖 `@qwen-code/qwen-code` • 💎 `@google/gemini-cli` • 🔮 `@openai/codex` • 🌐 `opencode-ai` | AI-powered command-line tools for enhanced development workflows. Node.js is installed via mise to support npm package installation. | | ||||
| | **Container Workflow** | 🐳 Docker socket mount (`/var/run/docker.sock`) | Enables Docker CLIs inside the container; host Docker daemon required. | | ||||
| | **Runtime Environment** | 👤 Non-root user `toolbox` (UID/GID mapped) • 🗂️ `/workspace` mount | Maintains host permissions and isolates artifacts under `artifacts/ToolboxStack/toolbox-base`. | | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user