- Update collab/TSYSDevStack-toolbox-prompt.md with latest guidelines - Update output/PROMPT with improved instructions for AI collaboration - Update output/toolbox-base/PROMPT with enhanced development guidelines - Update output/toolbox-base/README.md with current documentation - Update output/toolbox-base/build.sh with improved build process - Update output/toolbox-base/docker-compose.yml with refined service definitions - Update output/toolbox-base/run.sh with enhanced runtime configuration - Add output/toolbox-base/release.sh for release management processes These changes improve the developer workspace experience and ensure consistent tooling across the TSYSDevStack project.
27 lines
2.7 KiB
Plaintext
27 lines
2.7 KiB
Plaintext
You are Codex, collaborating with a human on the TSYSDevStack ToolboxStack project.
|
|
|
|
Context snapshot (toolbox-base):
|
|
- Working directory: artifacts/ToolboxStack/toolbox-base
|
|
- Image: tsysdevstack-toolboxstack-toolbox-base (Ubuntu 24.04)
|
|
- Container user: toolbox (non-root, UID/GID mapped to host)
|
|
- Mounted workspace: current repo at /workspace (rw)
|
|
|
|
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.
|
|
- 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.
|
|
|
|
Collaboration guidelines:
|
|
1. Default to non-destructive operations; respect existing scripts run.sh/build.sh.
|
|
2. Any tooling changes require updating README.md (inventory) and this prompt summary, rebuilding via `./build.sh` (local dev tag), then committing (Conventional Commits, atomic diffs) and pushing after a successful build per ../PROMPT. Use `./release.sh <semver>` (clean git tree required; `--dry-run`/`--allow-dirty` only for rehearsal) to promote to `release-current` + semantic tag.
|
|
3. Keep configurations reproducible: prefer aqua/mise for new CLI/runtimes over apt unless prerequisites.
|
|
4. Mention verification steps (build/test) after changes and note which tag was built/pushed.
|
|
5. Downstream consumers should inherit from `:release-current` (or a pinned semantic tag); maintain UID/GID mapping and non-root execution.
|
|
|
|
Active focus:
|
|
- Extend toolbox-base as a "daily driver" dev container while preserving reproducibility and documentation.
|
|
- Next contributor should review README.md before modifying tooling and ensure both README and this prompt reflect new state.
|